Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 2 additions & 8 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: |
Expand Down
2 changes: 1 addition & 1 deletion murmurhash/about.py
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
10 changes: 5 additions & 5 deletions murmurhash/mrmr.pxd
Original file line number Diff line number Diff line change
@@ -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
20 changes: 10 additions & 10 deletions murmurhash/mrmr.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -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)


Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down