maturin 1.5.0__tar.gz → 1.5.1__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.

Potentially problematic release.


This version of maturin might be problematic. Click here for more details.

Files changed (58) hide show
  1. {maturin-1.5.0 → maturin-1.5.1}/.pre-commit-config.yaml +2 -2
  2. {maturin-1.5.0 → maturin-1.5.1}/Cargo.lock +5 -16
  3. {maturin-1.5.0 → maturin-1.5.1}/Cargo.toml +2 -2
  4. {maturin-1.5.0 → maturin-1.5.1}/Changelog.md +10 -2
  5. {maturin-1.5.0 → maturin-1.5.1}/PKG-INFO +2 -2
  6. {maturin-1.5.0 → maturin-1.5.1}/README.md +1 -1
  7. {maturin-1.5.0 → maturin-1.5.1}/maturin/__init__.py +11 -6
  8. {maturin-1.5.0 → maturin-1.5.1}/src/ci.rs +189 -81
  9. {maturin-1.5.0 → maturin-1.5.1}/src/upload.rs +0 -1
  10. {maturin-1.5.0 → maturin-1.5.1}/.cirrus.yml +0 -0
  11. {maturin-1.5.0 → maturin-1.5.1}/.codespellrc +0 -0
  12. {maturin-1.5.0 → maturin-1.5.1}/.config/nextest.toml +0 -0
  13. {maturin-1.5.0 → maturin-1.5.1}/.gitignore +0 -0
  14. {maturin-1.5.0 → maturin-1.5.1}/MANIFEST.in +0 -0
  15. {maturin-1.5.0 → maturin-1.5.1}/clippy.toml +0 -0
  16. {maturin-1.5.0 → maturin-1.5.1}/license-apache +0 -0
  17. {maturin-1.5.0 → maturin-1.5.1}/license-mit +0 -0
  18. {maturin-1.5.0 → maturin-1.5.1}/maturin/__main__.py +0 -0
  19. {maturin-1.5.0 → maturin-1.5.1}/maturin/import_hook.py +0 -0
  20. {maturin-1.5.0 → maturin-1.5.1}/netlify.toml +0 -0
  21. {maturin-1.5.0 → maturin-1.5.1}/pyproject.toml +0 -0
  22. {maturin-1.5.0 → maturin-1.5.1}/setup.py +0 -0
  23. {maturin-1.5.0 → maturin-1.5.1}/src/auditwheel/audit.rs +0 -0
  24. {maturin-1.5.0 → maturin-1.5.1}/src/auditwheel/manylinux-policy.json +0 -0
  25. {maturin-1.5.0 → maturin-1.5.1}/src/auditwheel/mod.rs +0 -0
  26. {maturin-1.5.0 → maturin-1.5.1}/src/auditwheel/musllinux-policy.json +0 -0
  27. {maturin-1.5.0 → maturin-1.5.1}/src/auditwheel/musllinux.rs +0 -0
  28. {maturin-1.5.0 → maturin-1.5.1}/src/auditwheel/patchelf.rs +0 -0
  29. {maturin-1.5.0 → maturin-1.5.1}/src/auditwheel/platform_tag.rs +0 -0
  30. {maturin-1.5.0 → maturin-1.5.1}/src/auditwheel/policy.rs +0 -0
  31. {maturin-1.5.0 → maturin-1.5.1}/src/auditwheel/repair.rs +0 -0
  32. {maturin-1.5.0 → maturin-1.5.1}/src/build_context.rs +0 -0
  33. {maturin-1.5.0 → maturin-1.5.1}/src/build_options.rs +0 -0
  34. {maturin-1.5.0 → maturin-1.5.1}/src/cargo_toml.rs +0 -0
  35. {maturin-1.5.0 → maturin-1.5.1}/src/compile.rs +0 -0
  36. {maturin-1.5.0 → maturin-1.5.1}/src/cross_compile.rs +0 -0
  37. {maturin-1.5.0 → maturin-1.5.1}/src/develop.rs +0 -0
  38. {maturin-1.5.0 → maturin-1.5.1}/src/lib.rs +0 -0
  39. {maturin-1.5.0 → maturin-1.5.1}/src/main.rs +0 -0
  40. {maturin-1.5.0 → maturin-1.5.1}/src/metadata.rs +0 -0
  41. {maturin-1.5.0 → maturin-1.5.1}/src/module_writer.rs +0 -0
  42. {maturin-1.5.0 → maturin-1.5.1}/src/new_project.rs +0 -0
  43. {maturin-1.5.0 → maturin-1.5.1}/src/project_layout.rs +0 -0
  44. {maturin-1.5.0 → maturin-1.5.1}/src/pyproject_toml.rs +0 -0
  45. {maturin-1.5.0 → maturin-1.5.1}/src/python_interpreter/config.rs +0 -0
  46. {maturin-1.5.0 → maturin-1.5.1}/src/python_interpreter/get_interpreter_metadata.py +0 -0
  47. {maturin-1.5.0 → maturin-1.5.1}/src/python_interpreter/mod.rs +0 -0
  48. {maturin-1.5.0 → maturin-1.5.1}/src/source_distribution.rs +0 -0
  49. {maturin-1.5.0 → maturin-1.5.1}/src/target.rs +0 -0
  50. {maturin-1.5.0 → maturin-1.5.1}/src/templates/.gitignore.j2 +0 -0
  51. {maturin-1.5.0 → maturin-1.5.1}/src/templates/Cargo.toml.j2 +0 -0
  52. {maturin-1.5.0 → maturin-1.5.1}/src/templates/__init__.py.j2 +0 -0
  53. {maturin-1.5.0 → maturin-1.5.1}/src/templates/build.rs.j2 +0 -0
  54. {maturin-1.5.0 → maturin-1.5.1}/src/templates/example.udl.j2 +0 -0
  55. {maturin-1.5.0 → maturin-1.5.1}/src/templates/lib.rs.j2 +0 -0
  56. {maturin-1.5.0 → maturin-1.5.1}/src/templates/main.rs.j2 +0 -0
  57. {maturin-1.5.0 → maturin-1.5.1}/src/templates/pyproject.toml.j2 +0 -0
  58. {maturin-1.5.0 → maturin-1.5.1}/src/templates/test_all.py.j2 +0 -0
@@ -56,12 +56,12 @@ repos:
56
56
  )
57
57
  - id: mixed-line-ending
58
58
  - repo: https://github.com/astral-sh/ruff-pre-commit
59
- rev: v0.2.2
59
+ rev: v0.3.3
60
60
  hooks:
61
61
  - id: ruff-format
62
62
  - id: ruff
63
63
  - repo: https://github.com/pre-commit/mirrors-mypy
64
- rev: v1.8.0
64
+ rev: v1.9.0
65
65
  hooks:
66
66
  - id: mypy
67
67
  entry: mypy maturin/
@@ -390,20 +390,9 @@ checksum = "183495371ea78d4c9ff638bfc6497d46fed2396e4f9c50aebc1278a4a9919a3d"
390
390
  dependencies = [
391
391
  "clap",
392
392
  "clap_complete",
393
- "clap_complete_fig",
394
393
  "clap_complete_nushell",
395
394
  ]
396
395
 
397
- [[package]]
398
- name = "clap_complete_fig"
399
- version = "4.4.2"
400
- source = "registry+https://github.com/rust-lang/crates.io-index"
401
- checksum = "87e571d70e22ec91d34e1c5317c8308035a2280d925167646bf094fc5de1737c"
402
- dependencies = [
403
- "clap",
404
- "clap_complete",
405
- ]
406
-
407
396
  [[package]]
408
397
  name = "clap_complete_nushell"
409
398
  version = "0.1.11"
@@ -990,9 +979,9 @@ dependencies = [
990
979
 
991
980
  [[package]]
992
981
  name = "libc"
993
- version = "0.2.152"
982
+ version = "0.2.153"
994
983
  source = "registry+https://github.com/rust-lang/crates.io-index"
995
- checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
984
+ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
996
985
 
997
986
  [[package]]
998
987
  name = "libredox"
@@ -1065,7 +1054,7 @@ dependencies = [
1065
1054
 
1066
1055
  [[package]]
1067
1056
  name = "maturin"
1068
- version = "1.5.0"
1057
+ version = "1.5.1"
1069
1058
  dependencies = [
1070
1059
  "anyhow",
1071
1060
  "base64 0.21.7",
@@ -1692,9 +1681,9 @@ dependencies = [
1692
1681
 
1693
1682
  [[package]]
1694
1683
  name = "rustix"
1695
- version = "0.38.30"
1684
+ version = "0.38.32"
1696
1685
  source = "registry+https://github.com/rust-lang/crates.io-index"
1697
- checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca"
1686
+ checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
1698
1687
  dependencies = [
1699
1688
  "bitflags 2.4.2",
1700
1689
  "errno",
@@ -1,7 +1,7 @@
1
1
  [package]
2
2
  authors = ["konstin <konstin@mailbox.org>", "messense <messense@icloud.com>"]
3
3
  name = "maturin"
4
- version = "1.5.0"
4
+ version = "1.5.1"
5
5
  description = "Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages"
6
6
  exclude = [
7
7
  "test-crates/**/*",
@@ -93,7 +93,7 @@ clap = { version = "4.0.0", features = [
93
93
  "wrap_help",
94
94
  "unstable-styles",
95
95
  ] }
96
- clap_complete_command = { version = "0.5.1", optional = true }
96
+ clap_complete_command = { version = "0.5.1", default-features = false, features = ["nushell"], optional = true }
97
97
 
98
98
  # cross compile
99
99
  cargo-zigbuild = { version = "0.18.3", default-features = false, optional = true }
@@ -1,8 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## [Unreleased]
4
+
5
+ ## [1.5.1] - 2024-03-21
6
+
7
+ * Fix usage of `--compatibility` when run as a PEP517 backend in [#1992](https://github.com/PyO3/maturin/pull/1992)
8
+ * Fix upload returning malformed summary error in [#2002](https://github.com/PyO3/maturin/pull/2002)
9
+
3
10
  ## [1.5.0] - 2024-03-05
4
11
 
5
- * Bump metadata version from 2.1 to 2.3 in [#1960](https://github.com/PyO3/maturin/pull/1960). Source distributions created by maturin now have reliable metadata, meaning tool such as pip, uv and poetry could skip building them for version resolution.
12
+ * Bump metadata version from 2.1 to 2.3 in [#1965](https://github.com/PyO3/maturin/pull/1965). Source distributions created by maturin now have reliable metadata, meaning tool such as pip, uv and poetry could skip building them for version resolution.
6
13
  * Allow identical `VIRTUAL_ENV` and `CONDA_PREFIX` env vars in [#1879](https://github.com/PyO3/maturin/pull/1879)
7
14
  * Reject `-i python` when cross compiling in [#1891](https://github.com/PyO3/maturin/pull/1891)
8
15
  * Support uniffi-bindgen in cargo workspaces in [#1909](https://github.com/PyO3/maturin/pull/1909)
@@ -946,7 +953,8 @@ points-0.1.0-py2.py3-none-manylinux1_x86_64.whl | 2,8M | 752K | 85K
946
953
 
947
954
  * Initial Release
948
955
 
949
- [Unreleased]: https://github.com/pyo3/maturin/compare/v1.5.0...HEAD
956
+ [Unreleased]: https://github.com/pyo3/maturin/compare/v1.5.1...HEAD
957
+ [1.5.1]: https://github.com/pyo3/maturin/compare/v1.5.0...v1.5.1
950
958
  [1.5.0]: https://github.com/pyo3/maturin/compare/v1.4.0...v1.5.0
951
959
  [1.4.0]: https://github.com/pyo3/maturin/compare/v1.3.2...v1.4.0
952
960
  [1.3.2]: https://github.com/pyo3/maturin/compare/v1.3.1...v1.3.2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: maturin
3
- Version: 1.5.0
3
+ Version: 1.5.1
4
4
  Classifier: Topic :: Software Development :: Build Tools
5
5
  Classifier: Programming Language :: Rust
6
6
  Classifier: Programming Language :: Python :: Implementation :: CPython
@@ -279,7 +279,7 @@ The Rust compiler since version 1.64 [requires at least glibc 2.17](https://blog
279
279
  For publishing, we recommend enforcing the same manylinux version as the image with the manylinux flag, e.g. use `--manylinux 2014` if you are building in `quay.io/pypa/manylinux2014_x86_64`.
280
280
  The [PyO3/maturin-action](https://github.com/PyO3/maturin-action) github action already takes care of this if you set e.g. `manylinux: 2014`.
281
281
 
282
- maturin contains a reimplementation of auditwheel automatically checks the generated library and gives the wheel the proper.
282
+ maturin contains a reimplementation of auditwheel automatically checks the generated library and gives the wheel the proper platform tag.
283
283
  If your system's glibc is too new or you link other shared libraries, it will assign the `linux` tag.
284
284
  You can also manually disable those checks and directly use native linux target with `--manylinux off`.
285
285
 
@@ -254,7 +254,7 @@ The Rust compiler since version 1.64 [requires at least glibc 2.17](https://blog
254
254
  For publishing, we recommend enforcing the same manylinux version as the image with the manylinux flag, e.g. use `--manylinux 2014` if you are building in `quay.io/pypa/manylinux2014_x86_64`.
255
255
  The [PyO3/maturin-action](https://github.com/PyO3/maturin-action) github action already takes care of this if you set e.g. `manylinux: 2014`.
256
256
 
257
- maturin contains a reimplementation of auditwheel automatically checks the generated library and gives the wheel the proper.
257
+ maturin contains a reimplementation of auditwheel automatically checks the generated library and gives the wheel the proper platform tag.
258
258
  If your system's glibc is too new or you link other shared libraries, it will assign the `linux` tag.
259
259
  You can also manually disable those checks and directly use native linux target with `--manylinux off`.
260
260
 
@@ -8,6 +8,7 @@ On windows, apparently pip's subprocess handling sets stdout to some windows enc
8
8
  even though the terminal supports utf8. Writing directly to the binary stdout buffer avoids encoding errors due to
9
9
  maturin's emojis.
10
10
  """
11
+
11
12
  from __future__ import annotations
12
13
 
13
14
  import os
@@ -62,22 +63,26 @@ def _build_wheel(
62
63
  ) -> str:
63
64
  # PEP 517 specifies that only `sys.executable` points to the correct
64
65
  # python interpreter
65
- command = [
66
+ base_command = [
66
67
  "maturin",
67
68
  "pep517",
68
69
  "build-wheel",
69
70
  "-i",
70
71
  sys.executable,
71
- "--compatibility",
72
- "off",
73
72
  ]
74
- command.extend(_additional_pep517_args())
73
+ options = _additional_pep517_args()
75
74
  if editable:
76
- command.append("--editable")
75
+ options.append("--editable")
77
76
 
78
77
  pep517_args = get_maturin_pep517_args(config_settings)
79
78
  if pep517_args:
80
- command.extend(pep517_args)
79
+ options.extend(pep517_args)
80
+
81
+ if "--compatibility" not in options and "--manylinux" not in options:
82
+ # default to off if not otherwise specified
83
+ options = ["--compatibility", "off", *options]
84
+
85
+ command = [*base_command, *options]
81
86
 
82
87
  print("Running `{}`".format(" ".join(command)))
83
88
  sys.stdout.flush()
@@ -61,6 +61,11 @@ impl fmt::Display for Platform {
61
61
  }
62
62
  }
63
63
 
64
+ struct MatrixPlatform {
65
+ runner: String,
66
+ target: String,
67
+ }
68
+
64
69
  /// Generate CI configuration
65
70
  #[derive(Debug, Parser)]
66
71
  pub struct GenerateCI {
@@ -211,28 +216,56 @@ jobs:\n",
211
216
  continue;
212
217
  }
213
218
  let plat_name = platform.to_string();
214
- let os_name = match platform {
215
- Platform::Linux | Platform::Emscripten => "ubuntu",
216
- _ => &plat_name,
217
- };
218
- needs.push(platform.to_string());
219
+ needs.push(plat_name.clone());
219
220
  conf.push_str(&format!(
220
221
  " {plat_name}:
221
- runs-on: {os_name}-latest\n"
222
+ runs-on: ${{{{ matrix.platform.runner }}}}\n"
222
223
  ));
223
224
  // target matrix
224
- let targets = match platform {
225
- Platform::Linux => vec!["x86_64", "x86", "aarch64", "armv7", "s390x", "ppc64le"],
226
- Platform::Windows => vec!["x64", "x86"],
227
- Platform::Macos => vec!["x86_64", "aarch64"],
225
+ let targets: Vec<_> = match platform {
226
+ Platform::Linux => ["x86_64", "x86", "aarch64", "armv7", "s390x", "ppc64le"]
227
+ .into_iter()
228
+ .map(|target| MatrixPlatform {
229
+ runner: "ubuntu-latest".to_string(),
230
+ target: target.to_string(),
231
+ })
232
+ .collect(),
233
+ Platform::Windows => ["x64", "x86"]
234
+ .into_iter()
235
+ .map(|target| MatrixPlatform {
236
+ runner: "windows-latest".to_string(),
237
+ target: target.to_string(),
238
+ })
239
+ .collect(),
240
+ Platform::Macos => {
241
+ vec![
242
+ MatrixPlatform {
243
+ runner: "macos-latest".to_string(),
244
+ target: "x86_64".to_string(),
245
+ },
246
+ MatrixPlatform {
247
+ runner: "macos-14".to_string(),
248
+ target: "aarch64".to_string(),
249
+ },
250
+ ]
251
+ }
252
+ Platform::Emscripten => vec![MatrixPlatform {
253
+ runner: "ubuntu-latest".to_string(),
254
+ target: "wasm32-unknown-emscripten".to_string(),
255
+ }],
228
256
  _ => Vec::new(),
229
257
  };
230
258
  if !targets.is_empty() {
231
- conf.push_str(&format!(
259
+ conf.push_str(
232
260
  " strategy:
233
261
  matrix:
234
- target: [{targets}]\n",
235
- targets = targets.join(", ")
262
+ platform:\n",
263
+ );
264
+ }
265
+ for target in targets {
266
+ conf.push_str(&format!(
267
+ " - runner: {}\n target: {}\n",
268
+ target.runner, target.target
236
269
  ));
237
270
  }
238
271
  // job steps
@@ -276,7 +309,7 @@ jobs:\n",
276
309
  python-version: '3.10'\n",
277
310
  );
278
311
  if matches!(platform, Platform::Windows) {
279
- conf.push_str(" architecture: ${{ matrix.target }}\n");
312
+ conf.push_str(" architecture: ${{ matrix.platform.target }}\n");
280
313
  }
281
314
  }
282
315
  }
@@ -303,16 +336,11 @@ jobs:\n",
303
336
  } else {
304
337
  format!(" {}", maturin_args.join(" "))
305
338
  };
306
- let maturin_target = if matches!(platform, Platform::Emscripten) {
307
- "wasm32-unknown-emscripten"
308
- } else {
309
- "${{ matrix.target }}"
310
- };
311
339
  conf.push_str(&format!(
312
340
  " - name: Build wheels
313
341
  uses: PyO3/maturin-action@v1
314
342
  with:
315
- target: {maturin_target}
343
+ target: ${{{{ matrix.platform.target }}}}
316
344
  args: --release --out dist{maturin_args}
317
345
  sccache: 'true'
318
346
  "
@@ -326,7 +354,7 @@ jobs:\n",
326
354
  let artifact_name = if matches!(platform, Platform::Emscripten) {
327
355
  String::from("wasm-wheels")
328
356
  } else {
329
- format!("wheels-{platform}-${{{{ matrix.target }}}}")
357
+ format!("wheels-{platform}-${{{{ matrix.platform.target }}}}")
330
358
  };
331
359
  conf.push_str(&format!(
332
360
  " - name: Upload wheels
@@ -349,7 +377,7 @@ jobs:\n",
349
377
  // Test on host for x86_64
350
378
  conf.push_str(&format!(
351
379
  " - name: pytest
352
- if: ${{{{ startsWith(matrix.target, 'x86_64') }}}}
380
+ if: ${{{{ startsWith(matrix.platform.target, 'x86_64') }}}}
353
381
  shell: bash
354
382
  run: |
355
383
  set -e
@@ -361,10 +389,10 @@ jobs:\n",
361
389
  // Test on QEMU for other architectures
362
390
  conf.push_str(&format!(
363
391
  " - name: pytest
364
- if: ${{{{ !startsWith(matrix.target, 'x86') && matrix.target != 'ppc64' }}}}
392
+ if: ${{{{ !startsWith(matrix.platform.target, 'x86') && matrix.platform.target != 'ppc64' }}}}
365
393
  uses: uraimo/run-on-arch-action@v2.5.0
366
394
  with:
367
- arch: ${{{{ matrix.target }}}}
395
+ arch: ${{{{ matrix.platform.target }}}}
368
396
  distro: ubuntu22.04
369
397
  githubToken: ${{{{ github.token }}}}
370
398
  install: |
@@ -398,7 +426,7 @@ jobs:\n",
398
426
  } else {
399
427
  conf.push_str(&format!(
400
428
  " - name: pytest
401
- if: ${{{{ !startsWith(matrix.target, 'aarch64') }}}}
429
+ if: ${{{{ !startsWith(matrix.platform.target, 'aarch64') }}}}
402
430
  shell: bash
403
431
  run: |
404
432
  set -e
@@ -541,10 +569,22 @@ mod tests {
541
569
 
542
570
  jobs:
543
571
  linux:
544
- runs-on: ubuntu-latest
572
+ runs-on: ${{ matrix.platform.runner }}
545
573
  strategy:
546
574
  matrix:
547
- target: [x86_64, x86, aarch64, armv7, s390x, ppc64le]
575
+ platform:
576
+ - runner: ubuntu-latest
577
+ target: x86_64
578
+ - runner: ubuntu-latest
579
+ target: x86
580
+ - runner: ubuntu-latest
581
+ target: aarch64
582
+ - runner: ubuntu-latest
583
+ target: armv7
584
+ - runner: ubuntu-latest
585
+ target: s390x
586
+ - runner: ubuntu-latest
587
+ target: ppc64le
548
588
  steps:
549
589
  - uses: actions/checkout@v4
550
590
  - uses: actions/setup-python@v5
@@ -553,44 +593,52 @@ mod tests {
553
593
  - name: Build wheels
554
594
  uses: PyO3/maturin-action@v1
555
595
  with:
556
- target: ${{ matrix.target }}
596
+ target: ${{ matrix.platform.target }}
557
597
  args: --release --out dist --find-interpreter
558
598
  sccache: 'true'
559
599
  manylinux: auto
560
600
  - name: Upload wheels
561
601
  uses: actions/upload-artifact@v4
562
602
  with:
563
- name: wheels-linux-${{ matrix.target }}
603
+ name: wheels-linux-${{ matrix.platform.target }}
564
604
  path: dist
565
605
 
566
606
  windows:
567
- runs-on: windows-latest
607
+ runs-on: ${{ matrix.platform.runner }}
568
608
  strategy:
569
609
  matrix:
570
- target: [x64, x86]
610
+ platform:
611
+ - runner: windows-latest
612
+ target: x64
613
+ - runner: windows-latest
614
+ target: x86
571
615
  steps:
572
616
  - uses: actions/checkout@v4
573
617
  - uses: actions/setup-python@v5
574
618
  with:
575
619
  python-version: '3.10'
576
- architecture: ${{ matrix.target }}
620
+ architecture: ${{ matrix.platform.target }}
577
621
  - name: Build wheels
578
622
  uses: PyO3/maturin-action@v1
579
623
  with:
580
- target: ${{ matrix.target }}
624
+ target: ${{ matrix.platform.target }}
581
625
  args: --release --out dist --find-interpreter
582
626
  sccache: 'true'
583
627
  - name: Upload wheels
584
628
  uses: actions/upload-artifact@v4
585
629
  with:
586
- name: wheels-windows-${{ matrix.target }}
630
+ name: wheels-windows-${{ matrix.platform.target }}
587
631
  path: dist
588
632
 
589
633
  macos:
590
- runs-on: macos-latest
634
+ runs-on: ${{ matrix.platform.runner }}
591
635
  strategy:
592
636
  matrix:
593
- target: [x86_64, aarch64]
637
+ platform:
638
+ - runner: macos-latest
639
+ target: x86_64
640
+ - runner: macos-14
641
+ target: aarch64
594
642
  steps:
595
643
  - uses: actions/checkout@v4
596
644
  - uses: actions/setup-python@v5
@@ -599,13 +647,13 @@ mod tests {
599
647
  - name: Build wheels
600
648
  uses: PyO3/maturin-action@v1
601
649
  with:
602
- target: ${{ matrix.target }}
650
+ target: ${{ matrix.platform.target }}
603
651
  args: --release --out dist --find-interpreter
604
652
  sccache: 'true'
605
653
  - name: Upload wheels
606
654
  uses: actions/upload-artifact@v4
607
655
  with:
608
- name: wheels-macos-${{ matrix.target }}
656
+ name: wheels-macos-${{ matrix.platform.target }}
609
657
  path: dist
610
658
 
611
659
  sdist:
@@ -667,10 +715,22 @@ mod tests {
667
715
 
668
716
  jobs:
669
717
  linux:
670
- runs-on: ubuntu-latest
718
+ runs-on: ${{ matrix.platform.runner }}
671
719
  strategy:
672
720
  matrix:
673
- target: [x86_64, x86, aarch64, armv7, s390x, ppc64le]
721
+ platform:
722
+ - runner: ubuntu-latest
723
+ target: x86_64
724
+ - runner: ubuntu-latest
725
+ target: x86
726
+ - runner: ubuntu-latest
727
+ target: aarch64
728
+ - runner: ubuntu-latest
729
+ target: armv7
730
+ - runner: ubuntu-latest
731
+ target: s390x
732
+ - runner: ubuntu-latest
733
+ target: ppc64le
674
734
  steps:
675
735
  - uses: actions/checkout@v4
676
736
  - uses: actions/setup-python@v5
@@ -679,44 +739,52 @@ mod tests {
679
739
  - name: Build wheels
680
740
  uses: PyO3/maturin-action@v1
681
741
  with:
682
- target: ${{ matrix.target }}
742
+ target: ${{ matrix.platform.target }}
683
743
  args: --release --out dist
684
744
  sccache: 'true'
685
745
  manylinux: auto
686
746
  - name: Upload wheels
687
747
  uses: actions/upload-artifact@v4
688
748
  with:
689
- name: wheels-linux-${{ matrix.target }}
749
+ name: wheels-linux-${{ matrix.platform.target }}
690
750
  path: dist
691
751
 
692
752
  windows:
693
- runs-on: windows-latest
753
+ runs-on: ${{ matrix.platform.runner }}
694
754
  strategy:
695
755
  matrix:
696
- target: [x64, x86]
756
+ platform:
757
+ - runner: windows-latest
758
+ target: x64
759
+ - runner: windows-latest
760
+ target: x86
697
761
  steps:
698
762
  - uses: actions/checkout@v4
699
763
  - uses: actions/setup-python@v5
700
764
  with:
701
765
  python-version: '3.10'
702
- architecture: ${{ matrix.target }}
766
+ architecture: ${{ matrix.platform.target }}
703
767
  - name: Build wheels
704
768
  uses: PyO3/maturin-action@v1
705
769
  with:
706
- target: ${{ matrix.target }}
770
+ target: ${{ matrix.platform.target }}
707
771
  args: --release --out dist
708
772
  sccache: 'true'
709
773
  - name: Upload wheels
710
774
  uses: actions/upload-artifact@v4
711
775
  with:
712
- name: wheels-windows-${{ matrix.target }}
776
+ name: wheels-windows-${{ matrix.platform.target }}
713
777
  path: dist
714
778
 
715
779
  macos:
716
- runs-on: macos-latest
780
+ runs-on: ${{ matrix.platform.runner }}
717
781
  strategy:
718
782
  matrix:
719
- target: [x86_64, aarch64]
783
+ platform:
784
+ - runner: macos-latest
785
+ target: x86_64
786
+ - runner: macos-14
787
+ target: aarch64
720
788
  steps:
721
789
  - uses: actions/checkout@v4
722
790
  - uses: actions/setup-python@v5
@@ -725,13 +793,13 @@ mod tests {
725
793
  - name: Build wheels
726
794
  uses: PyO3/maturin-action@v1
727
795
  with:
728
- target: ${{ matrix.target }}
796
+ target: ${{ matrix.platform.target }}
729
797
  args: --release --out dist
730
798
  sccache: 'true'
731
799
  - name: Upload wheels
732
800
  uses: actions/upload-artifact@v4
733
801
  with:
734
- name: wheels-macos-${{ matrix.target }}
802
+ name: wheels-macos-${{ matrix.platform.target }}
735
803
  path: dist
736
804
 
737
805
  release:
@@ -787,10 +855,22 @@ mod tests {
787
855
 
788
856
  jobs:
789
857
  linux:
790
- runs-on: ubuntu-latest
858
+ runs-on: ${{ matrix.platform.runner }}
791
859
  strategy:
792
860
  matrix:
793
- target: [x86_64, x86, aarch64, armv7, s390x, ppc64le]
861
+ platform:
862
+ - runner: ubuntu-latest
863
+ target: x86_64
864
+ - runner: ubuntu-latest
865
+ target: x86
866
+ - runner: ubuntu-latest
867
+ target: aarch64
868
+ - runner: ubuntu-latest
869
+ target: armv7
870
+ - runner: ubuntu-latest
871
+ target: s390x
872
+ - runner: ubuntu-latest
873
+ target: ppc64le
794
874
  steps:
795
875
  - uses: actions/checkout@v4
796
876
  - uses: actions/setup-python@v5
@@ -799,17 +879,17 @@ mod tests {
799
879
  - name: Build wheels
800
880
  uses: PyO3/maturin-action@v1
801
881
  with:
802
- target: ${{ matrix.target }}
882
+ target: ${{ matrix.platform.target }}
803
883
  args: --release --out dist --find-interpreter --zig
804
884
  sccache: 'true'
805
885
  manylinux: auto
806
886
  - name: Upload wheels
807
887
  uses: actions/upload-artifact@v4
808
888
  with:
809
- name: wheels-linux-${{ matrix.target }}
889
+ name: wheels-linux-${{ matrix.platform.target }}
810
890
  path: dist
811
891
  - name: pytest
812
- if: ${{ startsWith(matrix.target, 'x86_64') }}
892
+ if: ${{ startsWith(matrix.platform.target, 'x86_64') }}
813
893
  shell: bash
814
894
  run: |
815
895
  set -e
@@ -817,10 +897,10 @@ mod tests {
817
897
  pip install pytest
818
898
  pytest
819
899
  - name: pytest
820
- if: ${{ !startsWith(matrix.target, 'x86') && matrix.target != 'ppc64' }}
900
+ if: ${{ !startsWith(matrix.platform.target, 'x86') && matrix.platform.target != 'ppc64' }}
821
901
  uses: uraimo/run-on-arch-action@v2.5.0
822
902
  with:
823
- arch: ${{ matrix.target }}
903
+ arch: ${{ matrix.platform.target }}
824
904
  distro: ubuntu22.04
825
905
  githubToken: ${{ github.token }}
826
906
  install: |
@@ -833,29 +913,33 @@ mod tests {
833
913
  pytest
834
914
 
835
915
  windows:
836
- runs-on: windows-latest
916
+ runs-on: ${{ matrix.platform.runner }}
837
917
  strategy:
838
918
  matrix:
839
- target: [x64, x86]
919
+ platform:
920
+ - runner: windows-latest
921
+ target: x64
922
+ - runner: windows-latest
923
+ target: x86
840
924
  steps:
841
925
  - uses: actions/checkout@v4
842
926
  - uses: actions/setup-python@v5
843
927
  with:
844
928
  python-version: '3.10'
845
- architecture: ${{ matrix.target }}
929
+ architecture: ${{ matrix.platform.target }}
846
930
  - name: Build wheels
847
931
  uses: PyO3/maturin-action@v1
848
932
  with:
849
- target: ${{ matrix.target }}
933
+ target: ${{ matrix.platform.target }}
850
934
  args: --release --out dist --find-interpreter
851
935
  sccache: 'true'
852
936
  - name: Upload wheels
853
937
  uses: actions/upload-artifact@v4
854
938
  with:
855
- name: wheels-windows-${{ matrix.target }}
939
+ name: wheels-windows-${{ matrix.platform.target }}
856
940
  path: dist
857
941
  - name: pytest
858
- if: ${{ !startsWith(matrix.target, 'aarch64') }}
942
+ if: ${{ !startsWith(matrix.platform.target, 'aarch64') }}
859
943
  shell: bash
860
944
  run: |
861
945
  set -e
@@ -864,10 +948,14 @@ mod tests {
864
948
  pytest
865
949
 
866
950
  macos:
867
- runs-on: macos-latest
951
+ runs-on: ${{ matrix.platform.runner }}
868
952
  strategy:
869
953
  matrix:
870
- target: [x86_64, aarch64]
954
+ platform:
955
+ - runner: macos-latest
956
+ target: x86_64
957
+ - runner: macos-14
958
+ target: aarch64
871
959
  steps:
872
960
  - uses: actions/checkout@v4
873
961
  - uses: actions/setup-python@v5
@@ -876,16 +964,16 @@ mod tests {
876
964
  - name: Build wheels
877
965
  uses: PyO3/maturin-action@v1
878
966
  with:
879
- target: ${{ matrix.target }}
967
+ target: ${{ matrix.platform.target }}
880
968
  args: --release --out dist --find-interpreter
881
969
  sccache: 'true'
882
970
  - name: Upload wheels
883
971
  uses: actions/upload-artifact@v4
884
972
  with:
885
- name: wheels-macos-${{ matrix.target }}
973
+ name: wheels-macos-${{ matrix.platform.target }}
886
974
  path: dist
887
975
  - name: pytest
888
- if: ${{ !startsWith(matrix.target, 'aarch64') }}
976
+ if: ${{ !startsWith(matrix.platform.target, 'aarch64') }}
889
977
  shell: bash
890
978
  run: |
891
979
  set -e
@@ -952,61 +1040,81 @@ mod tests {
952
1040
 
953
1041
  jobs:
954
1042
  linux:
955
- runs-on: ubuntu-latest
1043
+ runs-on: ${{ matrix.platform.runner }}
956
1044
  strategy:
957
1045
  matrix:
958
- target: [x86_64, x86, aarch64, armv7, s390x, ppc64le]
1046
+ platform:
1047
+ - runner: ubuntu-latest
1048
+ target: x86_64
1049
+ - runner: ubuntu-latest
1050
+ target: x86
1051
+ - runner: ubuntu-latest
1052
+ target: aarch64
1053
+ - runner: ubuntu-latest
1054
+ target: armv7
1055
+ - runner: ubuntu-latest
1056
+ target: s390x
1057
+ - runner: ubuntu-latest
1058
+ target: ppc64le
959
1059
  steps:
960
1060
  - uses: actions/checkout@v4
961
1061
  - name: Build wheels
962
1062
  uses: PyO3/maturin-action@v1
963
1063
  with:
964
- target: ${{ matrix.target }}
1064
+ target: ${{ matrix.platform.target }}
965
1065
  args: --release --out dist
966
1066
  sccache: 'true'
967
1067
  manylinux: auto
968
1068
  - name: Upload wheels
969
1069
  uses: actions/upload-artifact@v4
970
1070
  with:
971
- name: wheels-linux-${{ matrix.target }}
1071
+ name: wheels-linux-${{ matrix.platform.target }}
972
1072
  path: dist
973
1073
 
974
1074
  windows:
975
- runs-on: windows-latest
1075
+ runs-on: ${{ matrix.platform.runner }}
976
1076
  strategy:
977
1077
  matrix:
978
- target: [x64, x86]
1078
+ platform:
1079
+ - runner: windows-latest
1080
+ target: x64
1081
+ - runner: windows-latest
1082
+ target: x86
979
1083
  steps:
980
1084
  - uses: actions/checkout@v4
981
1085
  - name: Build wheels
982
1086
  uses: PyO3/maturin-action@v1
983
1087
  with:
984
- target: ${{ matrix.target }}
1088
+ target: ${{ matrix.platform.target }}
985
1089
  args: --release --out dist
986
1090
  sccache: 'true'
987
1091
  - name: Upload wheels
988
1092
  uses: actions/upload-artifact@v4
989
1093
  with:
990
- name: wheels-windows-${{ matrix.target }}
1094
+ name: wheels-windows-${{ matrix.platform.target }}
991
1095
  path: dist
992
1096
 
993
1097
  macos:
994
- runs-on: macos-latest
1098
+ runs-on: ${{ matrix.platform.runner }}
995
1099
  strategy:
996
1100
  matrix:
997
- target: [x86_64, aarch64]
1101
+ platform:
1102
+ - runner: macos-latest
1103
+ target: x86_64
1104
+ - runner: macos-14
1105
+ target: aarch64
998
1106
  steps:
999
1107
  - uses: actions/checkout@v4
1000
1108
  - name: Build wheels
1001
1109
  uses: PyO3/maturin-action@v1
1002
1110
  with:
1003
- target: ${{ matrix.target }}
1111
+ target: ${{ matrix.platform.target }}
1004
1112
  args: --release --out dist
1005
1113
  sccache: 'true'
1006
1114
  - name: Upload wheels
1007
1115
  uses: actions/upload-artifact@v4
1008
1116
  with:
1009
- name: wheels-macos-${{ matrix.target }}
1117
+ name: wheels-macos-${{ matrix.platform.target }}
1010
1118
  path: dist
1011
1119
 
1012
1120
  sdist:
@@ -449,7 +449,6 @@ pub fn upload(registry: &Registry, wheel_path: &Path) -> Result<(), UploadError>
449
449
  add_option("home_page", &metadata.home_page);
450
450
  add_option("download_url", &metadata.download_url);
451
451
  add_option("requires_python", &metadata.requires_python);
452
- add_option("summary", &metadata.summary);
453
452
 
454
453
  if metadata.requires_python.is_none() {
455
454
  // GitLab PyPI repository API implementation requires this metadata field
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes