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.
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/.bumpversion.cfg +1 -1
- setuptools_rust-1.11.0/.github/dependabot.yml +26 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/.github/workflows/ci.yml +100 -52
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/.readthedocs.yaml +3 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/CHANGELOG.md +6 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/PKG-INFO +4 -4
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/README.md +1 -1
- setuptools_rust-1.11.0/docs/requirements.txt +4 -0
- setuptools_rust-1.11.0/emscripten/.ruff.toml +2 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/Cargo.lock +13 -13
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/Cargo.toml +1 -1
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/Cargo.lock +13 -13
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/Cargo.toml +1 -1
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/Cargo.lock +13 -13
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/Cargo.toml +1 -1
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/run_all.py +4 -4
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/Cargo.lock +13 -13
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/Cargo.toml +1 -1
- setuptools_rust-1.11.0/examples/namespace_package/Dockerfile +16 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/Cargo.lock +13 -13
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/Cargo.toml +1 -1
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/noxfile.py +1 -41
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/pyproject.toml +9 -2
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/_utils.py +44 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/build.py +23 -25
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/clean.py +3 -2
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/command.py +9 -1
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/extension.py +10 -3
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/rustc_info.py +18 -14
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/setuptools_ext.py +16 -3
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/version.py +1 -1
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust.egg-info/PKG-INFO +4 -4
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust.egg-info/SOURCES.txt +1 -0
- setuptools_rust-1.11.0/tests/test_build.py +28 -0
- setuptools_rust-1.10.2/.github/dependabot.yml +0 -70
- setuptools_rust-1.10.2/docs/requirements.txt +0 -4
- setuptools_rust-1.10.2/examples/namespace_package/Dockerfile +0 -10
- setuptools_rust-1.10.2/tests/test_build.py +0 -24
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/.gitattributes +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/.github/workflows/python-publish.yml +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/.gitignore +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/LICENSE +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/MANIFEST.in +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/Makefile +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/README.md +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/building_wheels.md +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/conf.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/index.md +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/make.bat +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/reference.rst +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/docs/setuppy_tutorial.md +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/emscripten/.gitignore +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/emscripten/_sysconfigdata__emscripten_wasm32-emscripten.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/emscripten/emcc_wrapper.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/emscripten/pyo3_config.ini +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/emscripten/runner.js +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/MANIFEST.in +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/noxfile.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/pyproject.toml +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/python/hello_world/__init__.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/python/hello_world/sum_cli.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/rust/lib.rs +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/rust/print_hello.rs +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world/tests/test_hello_world.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/Cargo.lock +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/Cargo.toml +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/MANIFEST.in +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/noxfile.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/pyproject.toml +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/pytest.ini +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/python/hello_world/__init__.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-script/rust/main.rs +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/MANIFEST.in +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/noxfile.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/pyproject.toml +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/pytest.ini +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/python/hello_world/__init__.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/rust/lib.rs +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/hello-world-setuppy/setup.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/.github/workflows/upload.yml +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/MANIFEST.in +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/README.md +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/build-wheels.sh +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/noxfile.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/pyproject.toml +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/pytest.ini +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/python/html_py_ever/__init__.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/requirements.txt +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/rust/lib.rs +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/rust/main.rs +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/conftest.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/empty.html +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/monty-python.html +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/python.html +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/rust.html +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/small.html +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/test_parsing.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/html-py-ever/tests/test_selector.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/.cargo/config.toml +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/Cross.toml +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/MANIFEST.in +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/noxfile.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/pyproject.toml +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/python/namespace_package/python/__init__.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/rust/lib.rs +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/namespace_package/tests/test_namespace_package.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/MANIFEST.in +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/cffi_module.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/noxfile.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/pyproject.toml +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/pytest.ini +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/python/rust_with_cffi/__init__.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/rust/lib.rs +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/setup.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/examples/rust_with_cffi/tests/test_rust_with_cffi.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/mypy.ini +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setup.cfg +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/__init__.py +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust/py.typed +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust.egg-info/dependency_links.txt +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust.egg-info/entry_points.txt +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust.egg-info/requires.txt +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust.egg-info/top_level.txt +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/setuptools_rust.egg-info/zip-safe +0 -0
- {setuptools_rust-1.10.2 → setuptools_rust-1.11.0}/tests/test_extension.py +0 -0
|
@@ -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
|
|
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
|
|
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
|
|
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:
|
|
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:
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
83
|
-
|
|
84
|
-
|
|
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:
|
|
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:
|
|
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.
|
|
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/
|
|
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
|
|
237
|
-
|
|
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@
|
|
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:
|
|
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
|
-
|
|
255
|
-
|
|
256
|
-
|
|
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.
|
|
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/
|
|
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/
|
|
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@
|
|
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:
|
|
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
|
-
|
|
303
|
-
|
|
304
|
-
|
|
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.
|
|
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:
|
|
364
|
+
name: ${{ matrix.python-version }} mingw-${{ matrix.arch }}
|
|
329
365
|
strategy:
|
|
330
366
|
fail-fast: false
|
|
331
367
|
matrix:
|
|
332
|
-
include:
|
|
333
|
-
|
|
334
|
-
|
|
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
|
|
403
|
+
run: python -m pip install --upgrade pip nox
|
|
357
404
|
|
|
358
405
|
- name: Create libpython symlink
|
|
359
406
|
shell: msys2 {0}
|
|
360
|
-
run:
|
|
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
|
|
@@ -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
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: setuptools-rust
|
|
3
|
-
Version: 1.
|
|
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.
|
|
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.
|
|
100
|
+
pyo3 = "0.24"
|
|
101
101
|
|
|
102
102
|
[lib]
|
|
103
103
|
name = "_lib" # private module to be nested into Python package,
|
|
@@ -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
|
+
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.
|
|
74
|
+
version = "0.24.0"
|
|
75
75
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
76
|
-
checksum = "
|
|
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.
|
|
92
|
+
version = "0.24.0"
|
|
93
93
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
94
|
-
checksum = "
|
|
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.
|
|
102
|
+
version = "0.24.0"
|
|
103
103
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
104
|
-
checksum = "
|
|
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.
|
|
112
|
+
version = "0.24.0"
|
|
113
113
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
114
|
-
checksum = "
|
|
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.
|
|
124
|
+
version = "0.24.0"
|
|
125
125
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
126
|
-
checksum = "
|
|
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.
|
|
157
|
+
version = "0.13.2"
|
|
158
158
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
159
|
-
checksum = "
|
|
159
|
+
checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a"
|
|
160
160
|
|
|
161
161
|
[[package]]
|
|
162
162
|
name = "unicode-ident"
|
|
@@ -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
|
+
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.
|
|
74
|
+
version = "0.24.0"
|
|
75
75
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
76
|
-
checksum = "
|
|
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.
|
|
92
|
+
version = "0.24.0"
|
|
93
93
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
94
|
-
checksum = "
|
|
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.
|
|
102
|
+
version = "0.24.0"
|
|
103
103
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
104
|
-
checksum = "
|
|
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.
|
|
112
|
+
version = "0.24.0"
|
|
113
113
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
114
|
-
checksum = "
|
|
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.
|
|
124
|
+
version = "0.24.0"
|
|
125
125
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
126
|
-
checksum = "
|
|
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.
|
|
157
|
+
version = "0.13.2"
|
|
158
158
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
159
|
-
checksum = "
|
|
159
|
+
checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a"
|
|
160
160
|
|
|
161
161
|
[[package]]
|
|
162
162
|
name = "unicode-ident"
|
|
@@ -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
|
+
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.
|
|
396
|
+
version = "0.24.0"
|
|
397
397
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
398
|
-
checksum = "
|
|
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.
|
|
414
|
+
version = "0.24.0"
|
|
415
415
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
416
|
-
checksum = "
|
|
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.
|
|
424
|
+
version = "0.24.0"
|
|
425
425
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
426
|
-
checksum = "
|
|
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.
|
|
434
|
+
version = "0.24.0"
|
|
435
435
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
436
|
-
checksum = "
|
|
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.
|
|
446
|
+
version = "0.24.0"
|
|
447
447
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
448
|
-
checksum = "
|
|
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.
|
|
695
|
+
version = "0.13.2"
|
|
696
696
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
697
|
-
checksum = "
|
|
697
|
+
checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a"
|
|
698
698
|
|
|
699
699
|
[[package]]
|
|
700
700
|
name = "tendril"
|