Giter Club home page Giter Club logo

mo_pack's People

Contributors

bjlittle avatar dependabot[bot] avatar lbdreyer avatar pelson avatar pp-mo avatar pre-commit-ci[bot] avatar qulogic avatar rhattersley avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mo_pack's Issues

logerrors.h missing

I've just tried to install mo_pack with python setup.py build. It fails due to logerrors.h missing:

gcc -I/usr/lib/python3.8/site-packages/numpy/core/include -I/usr/include/python3.8 -c lib/mo_pack/_packing.c -o build/temp.linux-x86_64-3.8/lib/mo_pack/_packing.o
In file included from /usr/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1832,
                 from /usr/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
                 from /usr/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h:4,
                 from lib/mo_pack/_packing.c:620:
/usr/lib/python3.8/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
   17 | #warning "Using deprecated NumPy API, disable it with " \
      |  ^~~~~~~
lib/mo_pack/_packing.c:622:10: fatal error: logerrors.h: No such file or directory
  622 | #include "logerrors.h"
      |          ^~~~~~~~~~~~~
compilation terminated.
error: command 'gcc' failed with exit status 1

Python 3.12 support

mo_pack is the only package in my dependency tree that doesn't support python 3.12 yet. It would be great to have support :)

Cythonizing of _packing.c fails

I'm using Python 3.10 and Cython 0.29.36:

src/mo_pack/_packing.c: In function '__pyx_pf_7mo_pack_8_packing_decompress_rle':
src/mo_pack/_packing.c:2380:73: error: 'PyArrayObject' {aka 'struct tagPyArrayObject'} has no member named 'data'
 2380 |         __pyx_v_ret_code = runlen_decode(((float *)__pyx_v_unpacked_data->data), (__pyx_v_nrows * __pyx_v_ncols), ((float *)__pyx_v_packed_data->data), (__pyx_v_packed_data->dimensions[0]), __pyx_v_missing_data_indicator, ((function *)Py_None));
      |                                                                         ^~
src/mo_pack/_packing.c:2380:144: error: 'PyArrayObject' {aka 'struct tagPyArrayObject'} has no member named 'data'
 2380 |         __pyx_v_ret_code = runlen_decode(((float *)__pyx_v_unpacked_data->data), (__pyx_v_nrows * __pyx_v_ncols), ((float *)__pyx_v_packed_data->data), (__pyx_v_packed_data->dimensions[0]), __pyx_v_missing_data_indicator, ((function *)Py_None));
      |                                                                                                                                                ^~
src/mo_pack/_packing.c:2380:173: error: 'PyArrayObject' {aka 'struct tagPyArrayObject'} has no member named 'dimensions'
 2380 |         __pyx_v_ret_code = runlen_decode(((float *)__pyx_v_unpacked_data->data), (__pyx_v_nrows * __pyx_v_ncols), ((float *)__pyx_v_packed_data->data), (__pyx_v_packed_data->dimensions[0]), __pyx_v_missing_data_indicator, ((function *)Py_None));
      |                                                                                                                                                                             ^~
src/mo_pack/_packing.c: In function '__pyx_pf_7mo_pack_8_packing_2decompress_wgdos':
src/mo_pack/_packing.c:2783:60: error: 'PyArrayObject' {aka 'struct tagPyArrayObject'} has no member named 'data'
 2783 |         __pyx_v_ret_code = wgdos_unpack(__pyx_v_packed_data->data, (__pyx_v_nrows * __pyx_v_ncols), ((float *)__pyx_v_unpacked_data->data), __pyx_v_missing_data_indicator, ((function *)Py_None));
      |                                                            ^~
src/mo_pack/_packing.c:2783:132: error: 'PyArrayObject' {aka 'struct tagPyArrayObject'} has no member named 'data'
 2783 |         __pyx_v_ret_code = wgdos_unpack(__pyx_v_packed_data->data, (__pyx_v_nrows * __pyx_v_ncols), ((float *)__pyx_v_unpacked_data->data), __pyx_v_missing_data_indicator, ((function *)Py_None));
      |                                                                                                                                    ^~
src/mo_pack/_packing.c: In function '__pyx_pf_7mo_pack_8_packing_4compress_rle':
src/mo_pack/_packing.c:3044:37: error: 'PyArrayObject' {aka 'struct tagPyArrayObject'} has no member named 'dimensions'
 3044 |   __pyx_t_1 = (__pyx_v_unpacked_data->dimensions[0]);
      |                                     ^~
src/mo_pack/_packing.c:3045:37: error: 'PyArrayObject' {aka 'struct tagPyArrayObject'} has no member named 'dimensions'
 3045 |   __pyx_t_2 = (__pyx_v_unpacked_data->dimensions[1]);
      |                                     ^~
src/mo_pack/_packing.c:3149:73: error: 'PyArrayObject' {aka 'struct tagPyArrayObject'} has no member named 'data'
 3149 |         __pyx_v_ret_code = runlen_encode(((float *)__pyx_v_unpacked_data->data), __pyx_v_n_values, ((float *)__pyx_v_packed_data->data), (&__pyx_v_length), __pyx_v_missing_data_indicator, ((function *)Py_None));
      |                                                                         ^~
src/mo_pack/_packing.c:3149:129: error: 'PyArrayObject' {aka 'struct tagPyArrayObject'} has no member named 'data'
 3149 |         __pyx_v_ret_code = runlen_encode(((float *)__pyx_v_unpacked_data->data), __pyx_v_n_values, ((float *)__pyx_v_packed_data->data), (&__pyx_v_length), __pyx_v_missing_data_indicator, ((function *)Py_None));
      |                                                                                                                                 ^~
src/mo_pack/_packing.c: In function '__pyx_pf_7mo_pack_8_packing_6compress_wgdos':
src/mo_pack/_packing.c:3487:37: error: 'PyArrayObject' {aka 'struct tagPyArrayObject'} has no member named 'dimensions'
 3487 |   __pyx_t_1 = (__pyx_v_unpacked_data->dimensions[0]);
      |                                     ^~
src/mo_pack/_packing.c:3488:37: error: 'PyArrayObject' {aka 'struct tagPyArrayObject'} has no member named 'dimensions'
 3488 |   __pyx_t_2 = (__pyx_v_unpacked_data->dimensions[1]);
      |                                     ^~
src/mo_pack/_packing.c:3609:94: error: 'PyArrayObject' {aka 'struct tagPyArrayObject'} has no member named 'data'
 3609 |         __pyx_v_ret_code = wgdos_pack(__pyx_v_d0, __pyx_v_d1, ((float *)__pyx_v_unpacked_data->data), __pyx_v_missing_data_indicator, __pyx_v_accuracy, ((unsigned char *)__pyx_v_packed_data->data), (&__pyx_v_length), ((function *)Py_None));
      |                                                                                              ^~
src/mo_pack/_packing.c:3609:190: error: 'PyArrayObject' {aka 'struct tagPyArrayObject'} has no member named 'data'
 3609 |         __pyx_v_ret_code = wgdos_pack(__pyx_v_d0, __pyx_v_d1, ((float *)__pyx_v_unpacked_data->data), __pyx_v_missing_data_indicator, __pyx_v_accuracy, ((unsigned char *)__pyx_v_packed_data->data), (&__pyx_v_length), ((function *)Py_None));
      |                                                                                                                                                                                              ^~

mo-pack needs some love...

Well, where to start...

mo-pack does need a wee bit of love to breath some life back into it e.g.,

  • master to main
  • adopt GHA for CI i.e., drop travis-ci
  • building and testing of PyPI sdist and binary wheels
  • min pin for a modern version of python e.g., py>=3.8

Add build for arm64?

I noticed there is no build for arm64 on conda-forge for Macs with Apple Silicon. I managed to build libmo_unpack and mo_pack from source successfully on an M1 Macbook Pro, but it would be nice if a build could be added to conda-forge.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.