setuptools-rust 1.10.2__tar.gz → 1.11.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/.bumpversion.cfg +1 -1
  2. setuptools_rust-1.11.0/.github/dependabot.yml +26 -0
  3. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/.github/workflows/ci.yml +100 -52
  4. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/.readthedocs.yaml +3 -0
  5. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/CHANGELOG.md +6 -0
  6. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/PKG-INFO +4 -4
  7. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/README.md +1 -1
  8. setuptools_rust-1.11.0/docs/requirements.txt +4 -0
  9. setuptools_rust-1.11.0/emscripten/.ruff.toml +2 -0
  10. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/Cargo.lock +13 -13
  11. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/Cargo.toml +1 -1
  12. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/Cargo.lock +13 -13
  13. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/Cargo.toml +1 -1
  14. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/Cargo.lock +13 -13
  15. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/Cargo.toml +1 -1
  16. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/run_all.py +4 -4
  17. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/Cargo.lock +13 -13
  18. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/Cargo.toml +1 -1
  19. setuptools_rust-1.11.0/examples/namespace_package/Dockerfile +16 -0
  20. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/Cargo.lock +13 -13
  21. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/Cargo.toml +1 -1
  22. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/noxfile.py +1 -41
  23. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/pyproject.toml +9 -2
  24. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/_utils.py +44 -0
  25. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/build.py +23 -25
  26. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/clean.py +3 -2
  27. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/command.py +9 -1
  28. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/extension.py +10 -3
  29. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/rustc_info.py +18 -14
  30. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/setuptools_ext.py +16 -3
  31. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/version.py +1 -1
  32. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust.egg-info/PKG-INFO +4 -4
  33. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust.egg-info/SOURCES.txt +1 -0
  34. setuptools_rust-1.11.0/tests/test_build.py +28 -0
  35. setuptools_rust-1.10.2/.github/dependabot.yml +0 -70
  36. setuptools_rust-1.10.2/docs/requirements.txt +0 -4
  37. setuptools_rust-1.10.2/examples/namespace_package/Dockerfile +0 -10
  38. setuptools_rust-1.10.2/tests/test_build.py +0 -24
  39. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/.gitattributes +0 -0
  40. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/.github/workflows/python-publish.yml +0 -0
  41. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/.gitignore +0 -0
  42. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/LICENSE +0 -0
  43. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/MANIFEST.in +0 -0
  44. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/Makefile +0 -0
  45. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/README.md +0 -0
  46. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/building_wheels.md +0 -0
  47. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/conf.py +0 -0
  48. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/index.md +0 -0
  49. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/make.bat +0 -0
  50. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/reference.rst +0 -0
  51. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/setuppy_tutorial.md +0 -0
  52. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/emscripten/.gitignore +0 -0
  53. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/emscripten/_sysconfigdata__emscripten_wasm32-emscripten.py +0 -0
  54. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/emscripten/emcc_wrapper.py +0 -0
  55. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/emscripten/pyo3_config.ini +0 -0
  56. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/emscripten/runner.js +0 -0
  57. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/MANIFEST.in +0 -0
  58. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/noxfile.py +0 -0
  59. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/pyproject.toml +0 -0
  60. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/python/hello_world/__init__.py +0 -0
  61. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/python/hello_world/sum_cli.py +0 -0
  62. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/rust/lib.rs +0 -0
  63. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/rust/print_hello.rs +0 -0
  64. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/tests/test_hello_world.py +0 -0
  65. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/Cargo.lock +0 -0
  66. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/Cargo.toml +0 -0
  67. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/MANIFEST.in +0 -0
  68. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/noxfile.py +0 -0
  69. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/pyproject.toml +0 -0
  70. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/pytest.ini +0 -0
  71. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/python/hello_world/__init__.py +0 -0
  72. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/rust/main.rs +0 -0
  73. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/MANIFEST.in +0 -0
  74. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/noxfile.py +0 -0
  75. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/pyproject.toml +0 -0
  76. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/pytest.ini +0 -0
  77. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/python/hello_world/__init__.py +0 -0
  78. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/rust/lib.rs +0 -0
  79. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/setup.py +0 -0
  80. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/.github/workflows/upload.yml +0 -0
  81. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/MANIFEST.in +0 -0
  82. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/README.md +0 -0
  83. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/build-wheels.sh +0 -0
  84. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/noxfile.py +0 -0
  85. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/pyproject.toml +0 -0
  86. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/pytest.ini +0 -0
  87. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/python/html_py_ever/__init__.py +0 -0
  88. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/requirements.txt +0 -0
  89. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/rust/lib.rs +0 -0
  90. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/rust/main.rs +0 -0
  91. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/conftest.py +0 -0
  92. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/empty.html +0 -0
  93. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/monty-python.html +0 -0
  94. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/python.html +0 -0
  95. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/rust.html +0 -0
  96. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/small.html +0 -0
  97. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/test_parsing.py +0 -0
  98. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/test_selector.py +0 -0
  99. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/.cargo/config.toml +0 -0
  100. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/Cross.toml +0 -0
  101. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/MANIFEST.in +0 -0
  102. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/noxfile.py +0 -0
  103. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/pyproject.toml +0 -0
  104. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/python/namespace_package/python/__init__.py +0 -0
  105. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/rust/lib.rs +0 -0
  106. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/tests/test_namespace_package.py +0 -0
  107. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/MANIFEST.in +0 -0
  108. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/cffi_module.py +0 -0
  109. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/noxfile.py +0 -0
  110. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/pyproject.toml +0 -0
  111. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/pytest.ini +0 -0
  112. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/python/rust_with_cffi/__init__.py +0 -0
  113. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/rust/lib.rs +0 -0
  114. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/setup.py +0 -0
  115. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/tests/test_rust_with_cffi.py +0 -0
  116. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/mypy.ini +0 -0
  117. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setup.cfg +0 -0
  118. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/__init__.py +0 -0
  119. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/py.typed +0 -0
  120. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust.egg-info/dependency_links.txt +0 -0
  121. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust.egg-info/entry_points.txt +0 -0
  122. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust.egg-info/requires.txt +0 -0
  123. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust.egg-info/top_level.txt +0 -0
  124. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust.egg-info/zip-safe +0 -0
  125. {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/tests/test_extension.py +0 -0
@@ -1,7 +1,7 @@
1
1
  [bumpversion]
2
2
  commit = True
3
3
  tag = False
4
- current_version = 1.10.2
4
+ current_version = 1.11.0
5
5
  message = release: {new_version}
6
6
 
7
7
  [bumpversion:file:pyproject.toml]
@@ -0,0 +1,26 @@
1
+ version: 2
2
+ updates:
3
+
4
+ - package-ecosystem: "cargo"
5
+ directories:
6
+ - "examples/*"
7
+ schedule:
8
+ interval: "monthly"
9
+ groups:
10
+ deps:
11
+ patterns:
12
+ - "*"
13
+
14
+ - package-ecosystem: "pip"
15
+ directory: "docs"
16
+ schedule:
17
+ interval: "monthly"
18
+ groups:
19
+ docs-dependencies:
20
+ patterns:
21
+ - "*"
22
+
23
+ - package-ecosystem: "github-actions"
24
+ directory: "/"
25
+ schedule:
26
+ interval: "monthly"
@@ -15,7 +15,7 @@ jobs:
15
15
  steps:
16
16
  - uses: actions/checkout@v4
17
17
 
18
- - name: Set up Python ${{ matrix.python-version }}
18
+ - name: Set up Python
19
19
  uses: actions/setup-python@v5
20
20
  with:
21
21
  python-version: "3.x"
@@ -29,7 +29,7 @@ jobs:
29
29
  steps:
30
30
  - uses: actions/checkout@v4
31
31
 
32
- - name: Set up Python ${{ matrix.python-version }}
32
+ - name: Set up Python
33
33
  uses: actions/setup-python@v5
34
34
  with:
35
35
  python-version: "3.x"
@@ -43,7 +43,7 @@ jobs:
43
43
  steps:
44
44
  - uses: actions/checkout@v4
45
45
 
46
- - name: Set up Python ${{ matrix.python-version }}
46
+ - name: Set up Python
47
47
  uses: actions/setup-python@v5
48
48
  with:
49
49
  python-version: "3.x"
@@ -56,38 +56,65 @@ jobs:
56
56
  - run: nox -s test
57
57
 
58
58
  build:
59
- name: ${{ matrix.python-version }} ${{ matrix.platform.os }}-${{ matrix.platform.python-architecture }}
59
+ name: ${{ matrix.python-version }} ${{ matrix.platform.os }}-${{ matrix.platform.python-architecture }}
60
60
  runs-on: ${{ matrix.platform.os }}
61
61
  strategy:
62
62
  # If one platform fails, allow the rest to keep testing if `CI-no-fail-fast` label is present
63
63
  fail-fast: ${{ !contains(github.event.pull_request.labels.*.name, 'CI-no-fail-fast') }}
64
64
  matrix:
65
- python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", pypy-3.8, pypy-3.9, pypy-3.10]
66
- platform: [
67
- { os: "macos-latest", python-architecture: "arm64", rust-target: "aarch64-apple-darwin" },
68
- { os: "ubuntu-latest", python-architecture: "x64", rust-target: "x86_64-unknown-linux-gnu" },
69
- { os: "windows-latest", python-architecture: "x64", rust-target: "x86_64-pc-windows-msvc" },
70
- ]
65
+ python-version:
66
+ ["3.9", "3.10", "3.11", "3.12", "3.13", "3.13t", pypy-3.10, pypy-3.11]
67
+ platform:
68
+ [
69
+ {
70
+ os: "macos-latest",
71
+ python-architecture: "arm64",
72
+ rust-target: "aarch64-apple-darwin",
73
+ },
74
+ {
75
+ os: "ubuntu-latest",
76
+ python-architecture: "x64",
77
+ rust-target: "x86_64-unknown-linux-gnu",
78
+ },
79
+ {
80
+ os: "windows-latest",
81
+ python-architecture: "x64",
82
+ rust-target: "x86_64-pc-windows-msvc",
83
+ },
84
+ ]
71
85
  include:
72
86
  # Just test one x86 Windows Python for simplicity
73
87
  - python-version: 3.12
74
- platform: { os: "windows-latest", python-architecture: "x86", rust-target: "i686-pc-windows-msvc" }
88
+ platform:
89
+ {
90
+ os: "windows-latest",
91
+ python-architecture: "x86",
92
+ rust-target: "i686-pc-windows-msvc",
93
+ }
75
94
  # Just test one x64 macOS Python for simplicity
76
95
  - python-version: 3.12
77
- platform: { os: "macos-13", python-architecture: "x64", rust-target: "x86_64-apple-darwin" }
96
+ platform:
97
+ {
98
+ os: "macos-13",
99
+ python-architecture: "x64",
100
+ rust-target: "x86_64-apple-darwin",
101
+ }
78
102
  # Just test one x64 macOS Python for simplicity
79
103
  exclude:
80
104
  # macOS arm doesn't have Python builds before 3.10
81
105
  - python-version: 3.9
82
- platform: { os: "macos-latest", python-architecture: "arm64", rust-target: "aarch64-apple-darwin" }
83
- - python-version: 3.8
84
- platform: { os: "macos-latest", python-architecture: "arm64", rust-target: "aarch64-apple-darwin" }
106
+ platform:
107
+ {
108
+ os: "macos-latest",
109
+ python-architecture: "arm64",
110
+ rust-target: "aarch64-apple-darwin",
111
+ }
85
112
 
86
113
  steps:
87
114
  - uses: actions/checkout@v4
88
115
 
89
116
  - name: Set up Python ${{ matrix.python-version }}
90
- uses: actions/setup-python@v5
117
+ uses: Quansight-Labs/setup-python@v5
91
118
  with:
92
119
  python-version: ${{ matrix.python-version }}
93
120
  architecture: ${{ matrix.platform.python-architecture }}
@@ -114,7 +141,7 @@ jobs:
114
141
  if: ${{ startsWith(matrix.platform.os, 'macos') && !startsWith(matrix.python-version, 'pypy') }}
115
142
  shell: bash
116
143
  env:
117
- MACOSX_DEPLOYMENT_TARGET: '10.9'
144
+ MACOSX_DEPLOYMENT_TARGET: "10.9"
118
145
  ARCHFLAGS: -arch x86_64 -arch arm64
119
146
  run: |
120
147
  rustup target add aarch64-apple-darwin
@@ -199,12 +226,13 @@ jobs:
199
226
  # If one platform fails, allow the rest to keep testing if `CI-no-fail-fast` label is present
200
227
  fail-fast: ${{ !contains(github.event.pull_request.labels.*.name, 'CI-no-fail-fast') }}
201
228
  matrix:
202
- platform: [
203
- { arch: "aarch64" },
204
- { arch: "armv7" },
205
- ]
229
+ platform: [{ arch: "aarch64" }, { arch: "armv7" }]
206
230
  steps:
207
231
  - uses: actions/checkout@v4
232
+ - name: Set up Python
233
+ uses: actions/setup-python@v5
234
+ with:
235
+ python-version: "3.x"
208
236
  - uses: docker/setup-qemu-action@v3
209
237
  - run: pip install nox
210
238
  - run: nox -s test-crossenv -- ${{ matrix.platform.arch }}
@@ -216,7 +244,7 @@ jobs:
216
244
  - name: Setup python
217
245
  uses: actions/setup-python@v5
218
246
  with:
219
- python-version: 3.8
247
+ python-version: "3.10" # must match the ubuntu version in the install, and also the STANDALONE_PYTHON_VERSION below
220
248
  - uses: dtolnay/rust-toolchain@stable
221
249
  - name: Install cross
222
250
  uses: taiki-e/install-action@v2
@@ -229,31 +257,37 @@ jobs:
229
257
  env:
230
258
  CARGO: cross
231
259
  CARGO_BUILD_TARGET: aarch64-unknown-linux-gnu
232
- PYO3_CROSS_LIB_DIR: /opt/python/cp38-cp38/lib
260
+ PYO3_CROSS_LIB_DIR: /opt/python/cp310-cp310/lib
233
261
  DIST_EXTRA_CONFIG: /tmp/build-opts.cfg
234
262
  run: |
235
263
  cd examples/namespace_package
236
- docker build -t cross-pyo3:aarch64-unknown-linux-gnu .
237
- python -m pip install build
264
+ docker build \
265
+ --build-arg STANDALONE_PYTHON_VERSION=3.10.15 \
266
+ --build-arg STANDALONE_PYTHON_RELEASE=20241016 \
267
+ -t cross-pyo3:aarch64-unknown-linux-gnu \
268
+ .
269
+ python -m pip install build wheel
238
270
  echo -e "[bdist_wheel]\nplat_name=manylinux2014_aarch64" > $DIST_EXTRA_CONFIG
239
271
  python -m build --no-isolation
240
272
  ls -la dist/
241
273
  unzip -l dist/*.whl # debug all files inside wheel file
242
- - uses: uraimo/run-on-arch-action@v2.7.2
274
+ - uses: uraimo/run-on-arch-action@v3.0.0
243
275
  name: Install built wheel
244
276
  with:
245
277
  arch: aarch64
246
- distro: ubuntu20.04
278
+ distro: ubuntu22.04
247
279
  dockerRunArgs: |
248
280
  --volume "${PWD}/examples/namespace_package:/io"
249
281
  install: |
250
282
  apt-get update
251
- apt-get install -y --no-install-recommends python3 python3-pip
283
+ apt-get install -y --no-install-recommends python3 python3-venv python3-pip
252
284
  pip3 install -U pip
253
285
  run: |
254
- pip3 install namespace_package --no-index --find-links /io/dist/ --force-reinstall
255
- python3 -c "from namespace_package import rust; assert rust.rust_func() == 14"
256
- python3 -c "from namespace_package import python; assert python.python_func() == 15"
286
+ python3 -m venv .venv
287
+ source .venv/bin/activate
288
+ pip install namespace_package --no-index --find-links /io/dist/ --force-reinstall
289
+ python -c "from namespace_package import rust; assert rust.rust_func() == 14"
290
+ python -c "from namespace_package import python; assert python.python_func() == 15"
257
291
 
258
292
  test-zigbuild:
259
293
  runs-on: ubuntu-latest
@@ -262,7 +296,7 @@ jobs:
262
296
  - name: Setup python
263
297
  uses: actions/setup-python@v5
264
298
  with:
265
- python-version: 3.8
299
+ python-version: "3.10" # must match the ubuntu version in the install, and also the version copied out of the docker image below
266
300
  - uses: dtolnay/rust-toolchain@stable
267
301
  with:
268
302
  targets: aarch64-unknown-linux-gnu
@@ -276,32 +310,33 @@ jobs:
276
310
  env:
277
311
  CARGO: cargo-zigbuild
278
312
  CARGO_BUILD_TARGET: aarch64-unknown-linux-gnu
279
- PYO3_CROSS_LIB_DIR: /opt/python/cp38-cp38/lib
313
+ PYO3_CROSS_LIB_DIR: /opt/python/cp310-cp310/lib
280
314
  DIST_EXTRA_CONFIG: /tmp/build-opts.cfg
281
315
  run: |
282
316
  mkdir -p $PYO3_CROSS_LIB_DIR
283
- docker cp -L $(docker create --rm quay.io/pypa/manylinux2014_aarch64:latest):/opt/python/cp38-cp38 /opt/python
317
+ docker cp -L $(docker create --rm quay.io/pypa/manylinux2014_aarch64:latest):/opt/python/cp310-cp310 /opt/python
284
318
  cd examples/namespace_package
285
- python -m pip install build
319
+ python -m pip install build wheel
286
320
  echo -e "[bdist_wheel]\nplat_name=manylinux2014_aarch64" > $DIST_EXTRA_CONFIG
287
321
  python -m build --no-isolation
288
322
  ls -la dist/
289
323
  unzip -l dist/*.whl # debug all files inside wheel file
290
- - uses: uraimo/run-on-arch-action@v2.7.2
324
+ - uses: uraimo/run-on-arch-action@v3.0.0
291
325
  name: Install built wheel
292
326
  with:
293
327
  arch: aarch64
294
- distro: ubuntu20.04
328
+ distro: ubuntu22.04
295
329
  dockerRunArgs: |
296
330
  --volume "${PWD}/examples/namespace_package:/io"
297
331
  install: |
298
332
  apt-get update
299
- apt-get install -y --no-install-recommends python3 python3-pip
300
- pip3 install -U pip
333
+ apt-get install -y --no-install-recommends python3 python3-venv python3-pip
301
334
  run: |
302
- pip3 install namespace_package --no-index --find-links /io/dist/ --force-reinstall
303
- python3 -c "from namespace_package import rust; assert rust.rust_func() == 14"
304
- python3 -c "from namespace_package import python; assert python.python_func() == 15"
335
+ python3 -m venv .venv
336
+ source .venv/bin/activate
337
+ pip install namespace_package --no-index --find-links /io/dist/ --force-reinstall
338
+ python -c "from namespace_package import rust; assert rust.rust_func() == 14"
339
+ python -c "from namespace_package import python; assert python.python_func() == 15"
305
340
 
306
341
  test-cibuildwheel:
307
342
  runs-on: macos-latest
@@ -310,7 +345,7 @@ jobs:
310
345
  - uses: dtolnay/rust-toolchain@stable
311
346
  with:
312
347
  targets: aarch64-apple-darwin,x86_64-apple-darwin
313
- - uses: pypa/cibuildwheel@v2.21.1
348
+ - uses: pypa/cibuildwheel@v2.22.0
314
349
  env:
315
350
  CIBW_BUILD: cp39-*
316
351
  CIBW_BEFORE_BUILD: >
@@ -320,19 +355,31 @@ jobs:
320
355
  CIBW_ARCHS_MACOS: "x86_64 universal2 arm64"
321
356
  CIBW_BUILD_VERBOSITY: 3
322
357
  CIBW_BUILD_FRONTEND: "build; args: --no-isolation"
358
+ MACOSX_DEPLOYMENT_TARGET: 10.12
323
359
  with:
324
360
  package-dir: examples/namespace_package
325
361
 
326
362
  test-mingw:
327
363
  runs-on: windows-latest
328
- name: ${{ matrix.python-version }} mingw-${{ matrix.arch }}
364
+ name: ${{ matrix.python-version }} mingw-${{ matrix.arch }}
329
365
  strategy:
330
366
  fail-fast: false
331
367
  matrix:
332
- include: [
333
- { msystem: MINGW64, arch: x86_64, path: mingw64, rust_target: x86_64-pc-windows-gnu },
334
- { msystem: MINGW32, arch: i686, path: mingw32, rust_target: i686-pc-windows-gnu }
335
- ]
368
+ include:
369
+ [
370
+ {
371
+ msystem: MINGW64,
372
+ arch: x86_64,
373
+ path: mingw64,
374
+ rust_target: x86_64-pc-windows-gnu,
375
+ },
376
+ {
377
+ msystem: MINGW32,
378
+ arch: i686,
379
+ path: mingw32,
380
+ rust_target: i686-pc-windows-gnu,
381
+ },
382
+ ]
336
383
  steps:
337
384
  - uses: actions/checkout@v4
338
385
  - name: Install MSys2 and dependencies
@@ -353,16 +400,17 @@ jobs:
353
400
 
354
401
  - name: Install test dependencies
355
402
  shell: msys2 {0}
356
- run: python -m pip install --upgrade nox pip
403
+ run: python -m pip install --upgrade pip nox
357
404
 
358
405
  - name: Create libpython symlink
359
406
  shell: msys2 {0}
360
- run: ln -s /${{ matrix.path }}/lib/libpython3.11.dll.a /${{ matrix.path }}/lib/libpython311.dll.a
407
+ run: |
408
+ PYTHON_MINOR_VER=$(python -c "import sys; print(sys.version_info.minor)")
409
+ ln -s /${{ matrix.path }}/lib/libpython3.${PYTHON_MINOR_VER}.dll.a /${{ matrix.path }}/lib/libpython3${PYTHON_MINOR_VER}.dll.a
361
410
 
362
411
  - name: Test examples
363
412
  shell: msys2 {0}
364
- run: |
365
- PATH="$PATH:/c/Users/runneradmin/.cargo/bin" nox -s test-mingw
413
+ run: PATH="$PATH:/c/Users/runneradmin/.cargo/bin" nox -s test-examples
366
414
 
367
415
  test-emscripten:
368
416
  name: Test Emscripten
@@ -10,3 +10,6 @@ python:
10
10
  - requirements: docs/requirements.txt
11
11
  - method: pip
12
12
  path: .
13
+
14
+ sphinx:
15
+ configuration: docs/conf.py
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.11.0 (2025-03-14)
4
+ ### Packaging
5
+ - Drop support for Python 3.8. [#479](https://github.com/PyO3/setuptools-rust/pull/479)
6
+ - Support free-threaded Python. [#502](https://github.com/PyO3/setuptools-rust/pull/502)
7
+ - Support adding custom env vars. [#504](https://github.com/PyO3/setuptools-rust/pull/504)
8
+
3
9
  ## 1.10.2 (2024-10-02)
4
10
  ### Fixed
5
11
  - Fix deprecation warning from use of `wheel.bdist_wheel`.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: setuptools-rust
3
- Version: 1.10.2
3
+ Version: 1.11.0
4
4
  Summary: Setuptools Rust extension plugin
5
5
  Author-email: Nikolay Kim <fafhrd91@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/PyO3/setuptools-rust
@@ -20,7 +20,7 @@ Classifier: Development Status :: 5 - Production/Stable
20
20
  Classifier: Operating System :: POSIX
21
21
  Classifier: Operating System :: MacOS :: MacOS X
22
22
  Classifier: Operating System :: Microsoft :: Windows
23
- Requires-Python: >=3.8
23
+ Requires-Python: >=3.9
24
24
  Description-Content-Type: text/markdown
25
25
  License-File: LICENSE
26
26
  Requires-Dist: setuptools>=62.4
@@ -97,7 +97,7 @@ version = "0.1.0"
97
97
  edition = "2021"
98
98
 
99
99
  [dependencies]
100
- pyo3 = "0.22.0"
100
+ pyo3 = "0.24"
101
101
 
102
102
  [lib]
103
103
  name = "_lib" # private module to be nested into Python package,
@@ -69,7 +69,7 @@ version = "0.1.0"
69
69
  edition = "2021"
70
70
 
71
71
  [dependencies]
72
- pyo3 = "0.22.0"
72
+ pyo3 = "0.24"
73
73
 
74
74
  [lib]
75
75
  name = "_lib" # private module to be nested into Python package,
@@ -0,0 +1,4 @@
1
+ Sphinx==8.2.3
2
+ sphinx-autodoc-typehints==3.1.0
3
+ furo==2024.8.6
4
+ myst-parser==4.0.1
@@ -0,0 +1,2 @@
1
+ [lint]
2
+ extend-ignore = ["TID251"]
@@ -1,6 +1,6 @@
1
1
  # This file is automatically @generated by Cargo.
2
2
  # It is not intended for manual editing.
3
- version = 3
3
+ version = 4
4
4
 
5
5
  [[package]]
6
6
  name = "autocfg"
@@ -71,9 +71,9 @@ dependencies = [
71
71
 
72
72
  [[package]]
73
73
  name = "pyo3"
74
- version = "0.22.3"
74
+ version = "0.24.0"
75
75
  source = "registry+https://github.com/rust-lang/crates.io-index"
76
- checksum = "15ee168e30649f7f234c3d49ef5a7a6cbf5134289bc46c29ff3155fa3221c225"
76
+ checksum = "7f1c6c3591120564d64db2261bec5f910ae454f01def849b9c22835a84695e86"
77
77
  dependencies = [
78
78
  "cfg-if",
79
79
  "indoc",
@@ -89,9 +89,9 @@ dependencies = [
89
89
 
90
90
  [[package]]
91
91
  name = "pyo3-build-config"
92
- version = "0.22.3"
92
+ version = "0.24.0"
93
93
  source = "registry+https://github.com/rust-lang/crates.io-index"
94
- checksum = "e61cef80755fe9e46bb8a0b8f20752ca7676dcc07a5277d8b7768c6172e529b3"
94
+ checksum = "e9b6c2b34cf71427ea37c7001aefbaeb85886a074795e35f161f5aecc7620a7a"
95
95
  dependencies = [
96
96
  "once_cell",
97
97
  "target-lexicon",
@@ -99,9 +99,9 @@ dependencies = [
99
99
 
100
100
  [[package]]
101
101
  name = "pyo3-ffi"
102
- version = "0.22.3"
102
+ version = "0.24.0"
103
103
  source = "registry+https://github.com/rust-lang/crates.io-index"
104
- checksum = "67ce096073ec5405f5ee2b8b31f03a68e02aa10d5d4f565eca04acc41931fa1c"
104
+ checksum = "5507651906a46432cdda02cd02dd0319f6064f1374c9147c45b978621d2c3a9c"
105
105
  dependencies = [
106
106
  "libc",
107
107
  "pyo3-build-config",
@@ -109,9 +109,9 @@ dependencies = [
109
109
 
110
110
  [[package]]
111
111
  name = "pyo3-macros"
112
- version = "0.22.3"
112
+ version = "0.24.0"
113
113
  source = "registry+https://github.com/rust-lang/crates.io-index"
114
- checksum = "2440c6d12bc8f3ae39f1e775266fa5122fd0c8891ce7520fa6048e683ad3de28"
114
+ checksum = "b0d394b5b4fd8d97d48336bb0dd2aebabad39f1d294edd6bcd2cccf2eefe6f42"
115
115
  dependencies = [
116
116
  "proc-macro2",
117
117
  "pyo3-macros-backend",
@@ -121,9 +121,9 @@ dependencies = [
121
121
 
122
122
  [[package]]
123
123
  name = "pyo3-macros-backend"
124
- version = "0.22.3"
124
+ version = "0.24.0"
125
125
  source = "registry+https://github.com/rust-lang/crates.io-index"
126
- checksum = "1be962f0e06da8f8465729ea2cb71a416d2257dff56cbe40a70d3e62a93ae5d1"
126
+ checksum = "fd72da09cfa943b1080f621f024d2ef7e2773df7badd51aa30a2be1f8caa7c8e"
127
127
  dependencies = [
128
128
  "heck",
129
129
  "proc-macro2",
@@ -154,9 +154,9 @@ dependencies = [
154
154
 
155
155
  [[package]]
156
156
  name = "target-lexicon"
157
- version = "0.12.14"
157
+ version = "0.13.2"
158
158
  source = "registry+https://github.com/rust-lang/crates.io-index"
159
- checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
159
+ checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a"
160
160
 
161
161
  [[package]]
162
162
  name = "unicode-ident"
@@ -6,7 +6,7 @@ edition = "2021"
6
6
  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7
7
 
8
8
  [dependencies]
9
- pyo3 = "0.22.3"
9
+ pyo3 = "0.24"
10
10
 
11
11
  [profile.release-lto]
12
12
  inherits = "release"
@@ -1,6 +1,6 @@
1
1
  # This file is automatically @generated by Cargo.
2
2
  # It is not intended for manual editing.
3
- version = 3
3
+ version = 4
4
4
 
5
5
  [[package]]
6
6
  name = "autocfg"
@@ -71,9 +71,9 @@ dependencies = [
71
71
 
72
72
  [[package]]
73
73
  name = "pyo3"
74
- version = "0.22.3"
74
+ version = "0.24.0"
75
75
  source = "registry+https://github.com/rust-lang/crates.io-index"
76
- checksum = "15ee168e30649f7f234c3d49ef5a7a6cbf5134289bc46c29ff3155fa3221c225"
76
+ checksum = "7f1c6c3591120564d64db2261bec5f910ae454f01def849b9c22835a84695e86"
77
77
  dependencies = [
78
78
  "cfg-if",
79
79
  "indoc",
@@ -89,9 +89,9 @@ dependencies = [
89
89
 
90
90
  [[package]]
91
91
  name = "pyo3-build-config"
92
- version = "0.22.3"
92
+ version = "0.24.0"
93
93
  source = "registry+https://github.com/rust-lang/crates.io-index"
94
- checksum = "e61cef80755fe9e46bb8a0b8f20752ca7676dcc07a5277d8b7768c6172e529b3"
94
+ checksum = "e9b6c2b34cf71427ea37c7001aefbaeb85886a074795e35f161f5aecc7620a7a"
95
95
  dependencies = [
96
96
  "once_cell",
97
97
  "target-lexicon",
@@ -99,9 +99,9 @@ dependencies = [
99
99
 
100
100
  [[package]]
101
101
  name = "pyo3-ffi"
102
- version = "0.22.3"
102
+ version = "0.24.0"
103
103
  source = "registry+https://github.com/rust-lang/crates.io-index"
104
- checksum = "67ce096073ec5405f5ee2b8b31f03a68e02aa10d5d4f565eca04acc41931fa1c"
104
+ checksum = "5507651906a46432cdda02cd02dd0319f6064f1374c9147c45b978621d2c3a9c"
105
105
  dependencies = [
106
106
  "libc",
107
107
  "pyo3-build-config",
@@ -109,9 +109,9 @@ dependencies = [
109
109
 
110
110
  [[package]]
111
111
  name = "pyo3-macros"
112
- version = "0.22.3"
112
+ version = "0.24.0"
113
113
  source = "registry+https://github.com/rust-lang/crates.io-index"
114
- checksum = "2440c6d12bc8f3ae39f1e775266fa5122fd0c8891ce7520fa6048e683ad3de28"
114
+ checksum = "b0d394b5b4fd8d97d48336bb0dd2aebabad39f1d294edd6bcd2cccf2eefe6f42"
115
115
  dependencies = [
116
116
  "proc-macro2",
117
117
  "pyo3-macros-backend",
@@ -121,9 +121,9 @@ dependencies = [
121
121
 
122
122
  [[package]]
123
123
  name = "pyo3-macros-backend"
124
- version = "0.22.3"
124
+ version = "0.24.0"
125
125
  source = "registry+https://github.com/rust-lang/crates.io-index"
126
- checksum = "1be962f0e06da8f8465729ea2cb71a416d2257dff56cbe40a70d3e62a93ae5d1"
126
+ checksum = "fd72da09cfa943b1080f621f024d2ef7e2773df7badd51aa30a2be1f8caa7c8e"
127
127
  dependencies = [
128
128
  "heck",
129
129
  "proc-macro2",
@@ -154,9 +154,9 @@ dependencies = [
154
154
 
155
155
  [[package]]
156
156
  name = "target-lexicon"
157
- version = "0.12.14"
157
+ version = "0.13.2"
158
158
  source = "registry+https://github.com/rust-lang/crates.io-index"
159
- checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
159
+ checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a"
160
160
 
161
161
  [[package]]
162
162
  name = "unicode-ident"
@@ -4,7 +4,7 @@ version = "0.1.0"
4
4
  edition = "2021"
5
5
 
6
6
  [dependencies]
7
- pyo3 = "0.22.3"
7
+ pyo3 = "0.24.0"
8
8
 
9
9
  [lib]
10
10
  # See https://github.com/PyO3/pyo3 for details
@@ -1,6 +1,6 @@
1
1
  # This file is automatically @generated by Cargo.
2
2
  # It is not intended for manual editing.
3
- version = 3
3
+ version = 4
4
4
 
5
5
  [[package]]
6
6
  name = "autocfg"
@@ -393,9 +393,9 @@ dependencies = [
393
393
 
394
394
  [[package]]
395
395
  name = "pyo3"
396
- version = "0.22.3"
396
+ version = "0.24.0"
397
397
  source = "registry+https://github.com/rust-lang/crates.io-index"
398
- checksum = "15ee168e30649f7f234c3d49ef5a7a6cbf5134289bc46c29ff3155fa3221c225"
398
+ checksum = "7f1c6c3591120564d64db2261bec5f910ae454f01def849b9c22835a84695e86"
399
399
  dependencies = [
400
400
  "cfg-if",
401
401
  "indoc",
@@ -411,9 +411,9 @@ dependencies = [
411
411
 
412
412
  [[package]]
413
413
  name = "pyo3-build-config"
414
- version = "0.22.3"
414
+ version = "0.24.0"
415
415
  source = "registry+https://github.com/rust-lang/crates.io-index"
416
- checksum = "e61cef80755fe9e46bb8a0b8f20752ca7676dcc07a5277d8b7768c6172e529b3"
416
+ checksum = "e9b6c2b34cf71427ea37c7001aefbaeb85886a074795e35f161f5aecc7620a7a"
417
417
  dependencies = [
418
418
  "once_cell",
419
419
  "target-lexicon",
@@ -421,9 +421,9 @@ dependencies = [
421
421
 
422
422
  [[package]]
423
423
  name = "pyo3-ffi"
424
- version = "0.22.3"
424
+ version = "0.24.0"
425
425
  source = "registry+https://github.com/rust-lang/crates.io-index"
426
- checksum = "67ce096073ec5405f5ee2b8b31f03a68e02aa10d5d4f565eca04acc41931fa1c"
426
+ checksum = "5507651906a46432cdda02cd02dd0319f6064f1374c9147c45b978621d2c3a9c"
427
427
  dependencies = [
428
428
  "libc",
429
429
  "pyo3-build-config",
@@ -431,9 +431,9 @@ dependencies = [
431
431
 
432
432
  [[package]]
433
433
  name = "pyo3-macros"
434
- version = "0.22.3"
434
+ version = "0.24.0"
435
435
  source = "registry+https://github.com/rust-lang/crates.io-index"
436
- checksum = "2440c6d12bc8f3ae39f1e775266fa5122fd0c8891ce7520fa6048e683ad3de28"
436
+ checksum = "b0d394b5b4fd8d97d48336bb0dd2aebabad39f1d294edd6bcd2cccf2eefe6f42"
437
437
  dependencies = [
438
438
  "proc-macro2",
439
439
  "pyo3-macros-backend",
@@ -443,9 +443,9 @@ dependencies = [
443
443
 
444
444
  [[package]]
445
445
  name = "pyo3-macros-backend"
446
- version = "0.22.3"
446
+ version = "0.24.0"
447
447
  source = "registry+https://github.com/rust-lang/crates.io-index"
448
- checksum = "1be962f0e06da8f8465729ea2cb71a416d2257dff56cbe40a70d3e62a93ae5d1"
448
+ checksum = "fd72da09cfa943b1080f621f024d2ef7e2773df7badd51aa30a2be1f8caa7c8e"
449
449
  dependencies = [
450
450
  "heck",
451
451
  "proc-macro2",
@@ -692,9 +692,9 @@ dependencies = [
692
692
 
693
693
  [[package]]
694
694
  name = "target-lexicon"
695
- version = "0.12.14"
695
+ version = "0.13.2"
696
696
  source = "registry+https://github.com/rust-lang/crates.io-index"
697
- checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
697
+ checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a"
698
698
 
699
699
  [[package]]
700
700
  name = "tendril"