diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 7b13f01..670f561 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -148,13 +148,14 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: "3.13" + python-version: "3.12" - uses: messense/maturin-action@v1 with: target: aarch64-pc-windows-msvc command: build sccache: true - args: --release -o dist -i 3.9 3.10 3.11 3.12 3.13 + args: --release -o dist -i 3.11 3.12 + maturin-version: v1.7.5 - name: Upload wheels uses: actions/upload-artifact@v4 with: diff --git a/Cargo.lock b/Cargo.lock index cee96a0..e19ad54 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -41,6 +41,15 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" +[[package]] +name = "cc" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc" +dependencies = [ + "shlex", +] + [[package]] name = "cfg-if" version = "1.0.0" @@ -324,6 +333,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3015cf985888fe66cfb63ce0e321c603706cd541b7aec7ddd35c281390af45d8" dependencies = [ "once_cell", + "python3-dll-a", "target-lexicon", ] @@ -362,6 +372,15 @@ dependencies = [ "syn", ] +[[package]] +name = "python3-dll-a" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b9e268ee1be609e93a13eb06839f68f67e5fe0fb4049834d261c2d5091c1b6d" +dependencies = [ + "cc", +] + [[package]] name = "quote" version = "1.0.37" @@ -452,6 +471,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "syn" version = "2.0.90" diff --git a/Cargo.toml b/Cargo.toml index b942122..2943e00 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ crate-type = ["cdylib"] [dependencies] lazy_static = "1.5.0" -pyo3 = {version = "0.23.2", features = ["extension-module", "abi3-py39"]} +pyo3 = {version = "0.23.2", features = ["extension-module", "generate-import-lib", "abi3-py39"]} # tzf-rs = { git = "https://github.com/ringsaturn/tzf-rs", rev = "31b1730", default-features = false} tzf-rs = { version = "0.4.9", default-features = false } diff --git a/pyproject.toml b/pyproject.toml index aad8583..1d3d8df 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,7 +43,7 @@ Issues = "https://github.com/ringsaturn/tzfpy/issues" dev = [ "ruff==0.8.1", "citiespy>=0.6.6", - "maturin==1.7.6", + "maturin==1.7.7", "pytest>=8.3.3", "pytest-benchmark>=5.1.0", "pytest-cov>=6.0.0", @@ -55,4 +55,4 @@ dev = [ [tool.maturin] # "extension-module" tells pyo3 we want to build an extension module (skips linking against libpython.so) -features = ["pyo3/extension-module"] +features = ["pyo3/extension-module", "pyo3/generate-import-lib"] diff --git a/uv.lock b/uv.lock index e3cd9ef..f6e94e0 100644 --- a/uv.lock +++ b/uv.lock @@ -225,25 +225,25 @@ wheels = [ [[package]] name = "maturin" -version = "1.7.6" +version = "1.7.7" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c1/e6/e888521dada73aa113b6007db391b1df51b0f9fbfc8fc574722f38b05c5e/maturin-1.7.6.tar.gz", hash = "sha256:18c3f192c0f48e820fe684c9b89cc099f0107fd93845d39d6001610e3b1b94c4", size = 194386 } +sdist = { url = "https://files.pythonhosted.org/packages/69/1b/1a198a672a6c2faa0e0e2836f5e40c76da7b8767f4071e39eeeda736c7ca/maturin-1.7.7.tar.gz", hash = "sha256:056a0b688fe697976b9b4683030544773db88c001ea10cde4e89cefcc6a873f9", size = 195616 } wheels = [ - { url = "https://files.pythonhosted.org/packages/91/56/fb6fd9ca641c37d66a6497e7a9cb7d4a818084a4b4f20afc0c9850250226/maturin-1.7.6-py3-none-linux_armv6l.whl", hash = "sha256:8c23309b75624cf4dc76682bbfe587ce42c9ba595bdc954c1c0b35ef3869470e", size = 8322433 }, - { url = "https://files.pythonhosted.org/packages/83/39/5ad54688c2c367beca9a77983fd278b2b1214082841afc793ed95f057d30/maturin-1.7.6-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:85eb76c502f3d9923371623fa153f67afc07b81aa3a28a2620340564bf521e6a", size = 16018588 }, - { url = "https://files.pythonhosted.org/packages/3b/20/d25076dbc56a4349e481294ddb891a037a5cd09678adc8ffce5431c86b58/maturin-1.7.6-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:37f42a6e15cd49e12a13475b105239e1da20763d50213d541ad56c78d900df9d", size = 8230347 }, - { url = "https://files.pythonhosted.org/packages/a7/b9/11a728ed5c2c5a286923f0ec2f69b580ce4a0d4d543a6a469f53da73b5d6/maturin-1.7.6-py3-none-manylinux_2_12_i686.manylinux2010_i686.musllinux_1_1_i686.whl", hash = "sha256:f64b3a30f3af59fbdbeba980508c7a8294b5f5202a292f41800d22cb8ab69238", size = 8770513 }, - { url = "https://files.pythonhosted.org/packages/1c/c1/c3d9f21400b92e9ef6e15faf0b98c1dd1dd2c087b593e5c9b4af836643cd/maturin-1.7.6-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl", hash = "sha256:41d3f0af4a15ee328aa16ba5581f1bfdf0ad88f2a3e1ee9ebf77d2fe269d05af", size = 9019999 }, - { url = "https://files.pythonhosted.org/packages/15/29/eba9ea487a06a2ffdac278ed2437e46b9e6720f6d50724faef33646899af/maturin-1.7.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:41395b4b4d8c35fb2c86143bc3a8808024076a60ed72bfa0002f032f2913ee3d", size = 8470140 }, - { url = "https://files.pythonhosted.org/packages/c5/99/c998ec107b5e3e3b0da89b9db32297bf17c6d6b89b967e7e362fff5105f6/maturin-1.7.6-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl", hash = "sha256:534c0663c10b590f9c1de8c49f06c0d7da7e1d3078f3975b0191b139a73f051b", size = 8208329 }, - { url = "https://files.pythonhosted.org/packages/93/b8/1760354cb8410b2d01fc025d11680f3cbf4e2b4196d66a962e75e1618b59/maturin-1.7.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.musllinux_1_1_ppc64le.whl", hash = "sha256:517a0b469199fab8a5e05a2f2477e156c90f80ed160e28e6ee42d5315c2c424b", size = 8797661 }, - { url = "https://files.pythonhosted.org/packages/90/cd/fdc71b8c12ff8833ab187bc94a4cb5fbdb936c0459dd17bf89b4403c4131/maturin-1.7.6-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:44c39226a22c2c587e3b886890c76b6ba950ab0f7b129932f8f0498441d47981", size = 10301221 }, - { url = "https://files.pythonhosted.org/packages/69/62/949bb1c3b14c457514522d0d86304a5d4abe2b4d4c7c7c1e3303c82f80f9/maturin-1.7.6-py3-none-win32.whl", hash = "sha256:8455cecb948c01ff20689a953a2fd034d4ef94f2bf256cf817beb12572e3051c", size = 6746354 }, - { url = "https://files.pythonhosted.org/packages/4e/be/34ae6e108a812ac6e3eb0cbe2bc5fb614505d11ad7e816cf38e24a7e7cd1/maturin-1.7.6-py3-none-win_amd64.whl", hash = "sha256:84382c7a10d3c84cdfeb230d9b88f78fd99c2aebbd121fd8f04efc706ff65507", size = 7623856 }, - { url = "https://files.pythonhosted.org/packages/7a/22/a7efcb471311b0c72c5b2ead613de485078730665a72397c986b90519032/maturin-1.7.6-py3-none-win_arm64.whl", hash = "sha256:cc5a14f42d6f2cf3eff944f2d00d0ce45fc6060d61e51aa8b8c407efbea4dea8", size = 6518127 }, + { url = "https://files.pythonhosted.org/packages/fe/b4/49c5b05706f7a64f334507328118c75486d31f33b4b36112f51f0b1f36be/maturin-1.7.7-py3-none-linux_armv6l.whl", hash = "sha256:4340c1f14ed6f99cb32b2b600695c36777cc8495c0379bd39c48fdfec14ec217", size = 7502511 }, + { url = "https://files.pythonhosted.org/packages/60/03/32f9d36403a7bed589f3538ae2fbfb60e17dcde120573b56dcf05d8196f0/maturin-1.7.7-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:81dad806dc58479fcf6ae06d7fc6ae297569143ef46fd8c11e0cfbc1495b13d0", size = 14441488 }, + { url = "https://files.pythonhosted.org/packages/e2/85/3ea4b2327dd1fb9a58ee45cb20f61176e6d0a5a98fa439566e2593740321/maturin-1.7.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:f5263b710e512f62298912742cbb86f264a049e90d36f907e6db33ad00ef4a96", size = 7510419 }, + { url = "https://files.pythonhosted.org/packages/b2/cb/3dfa9655711971022ed525d90f5b7a26ae0b68905de9fcec6a8720dbf4a4/maturin-1.7.7-py3-none-manylinux_2_12_i686.manylinux2010_i686.musllinux_1_1_i686.whl", hash = "sha256:3c7118ffb33bff79ef316fbcffbc4abcc6f7a94a3a28632342309495b2e46743", size = 7600264 }, + { url = "https://files.pythonhosted.org/packages/05/eb/a1e87d552a409c67db836bd209489ea131ae7649fda3cbbb2e632fcd9a30/maturin-1.7.7-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl", hash = "sha256:46eba416c6e94bea5242217c1c6e59b4589a50f5e7a0564c69caba79703d1ea1", size = 7937188 }, + { url = "https://files.pythonhosted.org/packages/e8/34/098aca8156a7c1a169ecf7d46b74a431c3c060cb25de449f20dd57ff566e/maturin-1.7.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl", hash = "sha256:e057fc15885feb3b190cfe5d5aa126882f382cb3b7f32f3cd4f93e98cde7f54d", size = 7328460 }, + { url = "https://files.pythonhosted.org/packages/43/e3/2c792a71d6924a50709f9516aedbb49902a52181d3b5ff299a832b405028/maturin-1.7.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl", hash = "sha256:0b6de26cfd294d6235e0f1283f6d3eb68d4ee26dd080e654df535c115c52ff3e", size = 7413992 }, + { url = "https://files.pythonhosted.org/packages/5f/39/e599289c92df11efa83485a006a7fbd757f85a39f2d782b1449a583fb2a2/maturin-1.7.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.musllinux_1_1_ppc64le.whl", hash = "sha256:f4df863a3ffafeb0dbeefc017bcf42ad202c8ea54425ebda950ddfcb27e67d93", size = 9487352 }, + { url = "https://files.pythonhosted.org/packages/85/fa/99da3c34307e5d6abb176062523a01ca017f222e3d99438a4945ab0d981c/maturin-1.7.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3be20897905d7c2cbecebb95c23d5b61af2a20787284fbe3259861f093e4d0e6", size = 10813448 }, + { url = "https://files.pythonhosted.org/packages/d7/11/03e696385591416eff1c61137a66830b35ebb5109be0cc8b114109758f7c/maturin-1.7.7-py3-none-win32.whl", hash = "sha256:c7b421600bbd1b23247e63426d24740ae4f29b9c1ef6c498f605a9b58205c4b6", size = 6837415 }, + { url = "https://files.pythonhosted.org/packages/a0/61/18bc258d03dda099d8abf579745cd96c3dd487c537226dea1896ff6f1b0e/maturin-1.7.7-py3-none-win_amd64.whl", hash = "sha256:3c5d1c50f4368e83ce35d480aa7767f8c2261e51cf05b2c451b4860b62d028fc", size = 7766787 }, + { url = "https://files.pythonhosted.org/packages/86/f2/9ae3b953e2ad3f094744e5fab5a3fb44394be48d7b7d8aeaa5d269186f09/maturin-1.7.7-py3-none-win_arm64.whl", hash = "sha256:f8d6324296918f8c6bfc0d80fc64584358b46e9a41c671ca5f9f6f8430ff9611", size = 6500294 }, ] [[package]] @@ -493,7 +493,7 @@ requires-dist = [ [package.metadata.requires-dev] dev = [ { name = "citiespy", specifier = ">=0.6.6" }, - { name = "maturin", specifier = "==1.7.6" }, + { name = "maturin", specifier = "==1.7.7" }, { name = "pytest", specifier = ">=8.3.3" }, { name = "pytest-benchmark", specifier = ">=5.1.0" }, { name = "pytest-codspeed", specifier = ">=3.0.0" },