diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8fd383c..37a73b6 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -24,23 +24,17 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macos-latest] - python_version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] - include: - - os: windows-2019 - python_version: "3.6" - - os: ubuntu-20.04 - python_version: "3.6" + python_version: ["3.9", "3.10", "3.11", "3.12", "3.13"] runs-on: ${{ matrix.os }} steps: - name: Check out repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Configure Python version uses: actions/setup-python@v4 with: python-version: ${{ matrix.python_version }} - architecture: x64 - name: Build sdist run: | diff --git a/murmurhash/about.py b/murmurhash/about.py index bcebbd5..3882cd9 100644 --- a/murmurhash/about.py +++ b/murmurhash/about.py @@ -1,5 +1,5 @@ __title__ = "murmurhash" -__version__ = "1.0.12" +__version__ = "1.0.13" __summary__ = "Cython bindings for MurmurHash" __uri__ = "https://github.com/explosion/murmurhash" __author__ = "Explosion" diff --git a/murmurhash/mrmr.pxd b/murmurhash/mrmr.pxd index e675245..341228b 100644 --- a/murmurhash/mrmr.pxd +++ b/murmurhash/mrmr.pxd @@ -1,8 +1,8 @@ from libc.stdint cimport uint64_t, int64_t, uint32_t -cdef uint32_t hash32(void* key, int length, uint32_t seed) nogil -cdef uint64_t hash64(void* key, int length, uint64_t seed) nogil -cdef uint64_t real_hash64(void* key, int length, uint64_t seed) nogil -cdef void hash128_x86(const void* key, int len, uint32_t seed, void* out) nogil -cdef void hash128_x64(const void* key, int len, uint32_t seed, void* out) nogil +cdef uint32_t hash32(void* key, int length, uint32_t seed) noexcept nogil +cdef uint64_t hash64(void* key, int length, uint64_t seed) noexcept nogil +cdef uint64_t real_hash64(void* key, int length, uint64_t seed) noexcept nogil +cdef void hash128_x86(const void* key, int len, uint32_t seed, void* out) noexcept nogil +cdef void hash128_x64(const void* key, int len, uint32_t seed, void* out) noexcept nogil diff --git a/murmurhash/mrmr.pyx b/murmurhash/mrmr.pyx index e7b9d7d..5d1cfb5 100644 --- a/murmurhash/mrmr.pyx +++ b/murmurhash/mrmr.pyx @@ -2,35 +2,35 @@ from libc.stdint cimport uint64_t, int64_t, int32_t cdef extern from "murmurhash/MurmurHash3.h": - void MurmurHash3_x86_32(void * key, uint64_t len, uint64_t seed, void* out) nogil - void MurmurHash3_x86_128(void * key, int len, uint32_t seed, void* out) nogil - void MurmurHash3_x64_128(void * key, int len, uint32_t seed, void* out) nogil + void MurmurHash3_x86_32(void * key, uint64_t len, uint64_t seed, void* out) noexcept nogil + void MurmurHash3_x86_128(void * key, int len, uint32_t seed, void* out) noexcept nogil + void MurmurHash3_x64_128(void * key, int len, uint32_t seed, void* out) noexcept nogil cdef extern from "murmurhash/MurmurHash2.h": - uint64_t MurmurHash64A(void * key, int length, uint32_t seed) nogil - uint64_t MurmurHash64B(void * key, int length, uint32_t seed) nogil + uint64_t MurmurHash64A(void * key, int length, uint32_t seed) noexcept nogil + uint64_t MurmurHash64B(void * key, int length, uint32_t seed) noexcept nogil -cdef uint32_t hash32(void* key, int length, uint32_t seed) nogil: +cdef uint32_t hash32(void* key, int length, uint32_t seed) noexcept nogil: cdef int32_t out MurmurHash3_x86_32(key, length, seed, &out) return out -cdef uint64_t hash64(void* key, int length, uint64_t seed) nogil: +cdef uint64_t hash64(void* key, int length, uint64_t seed) noexcept nogil: return MurmurHash64A(key, length, seed) -cdef uint64_t real_hash64(void* key, int length, uint64_t seed) nogil: +cdef uint64_t real_hash64(void* key, int length, uint64_t seed) noexcept nogil: cdef uint64_t[2] out MurmurHash3_x86_128(key, length, seed, &out) return out[1] -cdef void hash128_x86(const void* key, int length, uint32_t seed, void* out) nogil: +cdef void hash128_x86(const void* key, int length, uint32_t seed, void* out) noexcept nogil: MurmurHash3_x86_128(key, length, seed, out) -cdef void hash128_x64(const void* key, int length, uint32_t seed, void* out) nogil: +cdef void hash128_x64(const void* key, int length, uint32_t seed, void* out) noexcept nogil: MurmurHash3_x64_128(key, length, seed, out) diff --git a/setup.py b/setup.py index 21e5b4f..8cb59c2 100755 --- a/setup.py +++ b/setup.py @@ -114,7 +114,7 @@ def setup_package(): url=about["__uri__"], license=about["__license__"], ext_modules=cythonize(ext_modules, language_level=2), - python_requires=">=3.6", + python_requires=">=3.6,<3.14", classifiers=[ "Development Status :: 5 - Production/Stable", "Environment :: Console",