diff --git a/.github/workflows/build_wheel.yml b/.github/workflows/build_wheel.yml new file mode 100644 index 0000000..ed89451 --- /dev/null +++ b/.github/workflows/build_wheel.yml @@ -0,0 +1,29 @@ +name: Build Wheels + +on: + push: + tags: + - '*' +env: + CIBW_SKIP: cp27-* cp33-* cp34-* cp35-* pp27* pp36* pp37* + +jobs: + build_wheels: + name: Build wheels on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-20.04, windows-2019, macos-latest] + + steps: + - uses: actions/checkout@v2 + + - name: Build wheels + uses: joerick/cibuildwheel@v1.10.0 + # to supply options, put them in 'env', like: + env: + CIBW_BEFORE_BUILD: pip install oldest-supported-numpy + + - uses: actions/upload-artifact@v2 + with: + path: ./wheelhouse/*.whl \ No newline at end of file diff --git a/cc3d.cpp b/cc3d.cpp index 856a7c6..dcf18bf 100644 --- a/cc3d.cpp +++ b/cc3d.cpp @@ -3078,7 +3078,7 @@ static const char __pyx_k_stop[] = "stop"; static const char __pyx_k_test[] = "__test__"; static const char __pyx_k_time[] = "time"; static const char __pyx_k_view[] = "view"; -static const char __pyx_k_3_1_2[] = "3.1.2"; +static const char __pyx_k_3_2_1[] = "3.2.1"; static const char __pyx_k_ASCII[] = "ASCII"; static const char __pyx_k_array[] = "array"; static const char __pyx_k_class[] = "__class__"; @@ -3257,7 +3257,7 @@ static const char __pyx_k_numpy_core_umath_failed_to_impor[] = "numpy.core.umath static const char __pyx_k_unable_to_allocate_shape_and_str[] = "unable to allocate shape and strides."; static const char __pyx_k_Only_6_18_and_26_connectivities_2[] = "Only 6, 18, and 26 connectivities are supported. Got: "; static const char __pyx_k_each_locals_InPlaceImageIterator_2[] = "each..InPlaceImageIterator"; -static PyObject *__pyx_kp_u_3_1_2; +static PyObject *__pyx_kp_u_3_2_1; static PyObject *__pyx_n_s_ASCII; static PyObject *__pyx_kp_s_Buffer_view_does_not_expose_stri; static PyObject *__pyx_n_u_C; @@ -39141,7 +39141,7 @@ static struct PyModuleDef __pyx_moduledef = { #endif static __Pyx_StringTabEntry __pyx_string_tab[] = { - {&__pyx_kp_u_3_1_2, __pyx_k_3_1_2, sizeof(__pyx_k_3_1_2), 0, 1, 0, 0}, + {&__pyx_kp_u_3_2_1, __pyx_k_3_2_1, sizeof(__pyx_k_3_2_1), 0, 1, 0, 0}, {&__pyx_n_s_ASCII, __pyx_k_ASCII, sizeof(__pyx_k_ASCII), 0, 0, 1, 1}, {&__pyx_kp_s_Buffer_view_does_not_expose_stri, __pyx_k_Buffer_view_does_not_expose_stri, sizeof(__pyx_k_Buffer_view_does_not_expose_stri), 0, 0, 1, 0}, {&__pyx_n_u_C, __pyx_k_C, sizeof(__pyx_k_C), 0, 1, 0, 1}, @@ -40408,7 +40408,7 @@ if (!__Pyx_RefNanny) { * import numpy as np * import time # <<<<<<<<<<<<<< * - * __VERSION__ = '3.1.2' + * __VERSION__ = '3.2.1' */ __pyx_t_2 = __Pyx_Import(__pyx_n_s_time, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 48, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); @@ -40418,11 +40418,11 @@ if (!__Pyx_RefNanny) { /* "cc3d.pyx":50 * import time * - * __VERSION__ = '3.1.2' # <<<<<<<<<<<<<< + * __VERSION__ = '3.2.1' # <<<<<<<<<<<<<< * * cdef extern from "cc3d.hpp" namespace "cc3d": */ - if (PyDict_SetItem(__pyx_d, __pyx_n_s_VERSION, __pyx_kp_u_3_1_2) < 0) __PYX_ERR(0, 50, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_VERSION, __pyx_kp_u_3_2_1) < 0) __PYX_ERR(0, 50, __pyx_L1_error) /* "cc3d.pyx":98 * int64_t diff --git a/cc3d.pyx b/cc3d.pyx index f16ada8..38de1b9 100644 --- a/cc3d.pyx +++ b/cc3d.pyx @@ -47,7 +47,7 @@ cimport numpy as cnp import numpy as np import time -__VERSION__ = '3.1.2' +__VERSION__ = '3.2.1' cdef extern from "cc3d.hpp" namespace "cc3d": cdef uint32_t* connected_components3d[T,U]( diff --git a/setup.py b/setup.py index 74356f4..e28e0cc 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ def requirements(): setuptools.setup( name="connected-components-3d", - version="3.2.0", + version="3.2.1", setup_requires=['pbr', 'numpy'], install_requires=['numpy'], python_requires="~=3.6", # >= 3.6 < 4.0