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

Potentially problematic release.


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

Files changed (61) hide show
  1. {maturin-1.5.1 → maturin-1.6.0}/.cirrus.yml +1 -1
  2. {maturin-1.5.1 → maturin-1.6.0}/.pre-commit-config.yaml +3 -3
  3. {maturin-1.5.1 → maturin-1.6.0}/Cargo.lock +197 -9
  4. {maturin-1.5.1 → maturin-1.6.0}/Cargo.toml +20 -12
  5. {maturin-1.5.1 → maturin-1.6.0}/Changelog.md +13 -1
  6. {maturin-1.5.1 → maturin-1.6.0}/PKG-INFO +34 -34
  7. {maturin-1.5.1 → maturin-1.6.0}/README.md +31 -31
  8. maturin-1.6.0/clippy.toml +29 -0
  9. {maturin-1.5.1 → maturin-1.6.0}/maturin/__init__.py +11 -2
  10. {maturin-1.5.1 → maturin-1.6.0}/maturin/__main__.py +7 -1
  11. {maturin-1.5.1 → maturin-1.6.0}/maturin/import_hook.py +7 -1
  12. maturin-1.6.0/maturin.schema.json +394 -0
  13. {maturin-1.5.1 → maturin-1.6.0}/pyproject.toml +1 -1
  14. {maturin-1.5.1 → maturin-1.6.0}/setup.py +1 -1
  15. {maturin-1.5.1 → maturin-1.6.0}/src/auditwheel/platform_tag.rs +1 -0
  16. {maturin-1.5.1 → maturin-1.6.0}/src/build_context.rs +2 -0
  17. {maturin-1.5.1 → maturin-1.6.0}/src/build_options.rs +16 -12
  18. {maturin-1.5.1 → maturin-1.6.0}/src/ci.rs +327 -79
  19. {maturin-1.5.1 → maturin-1.6.0}/src/compile.rs +3 -2
  20. {maturin-1.5.1 → maturin-1.6.0}/src/cross_compile.rs +3 -10
  21. {maturin-1.5.1 → maturin-1.6.0}/src/develop.rs +128 -54
  22. maturin-1.6.0/src/generate_json_schema.rs +64 -0
  23. {maturin-1.5.1 → maturin-1.6.0}/src/lib.rs +3 -0
  24. {maturin-1.5.1 → maturin-1.6.0}/src/main.rs +78 -21
  25. {maturin-1.5.1 → maturin-1.6.0}/src/metadata.rs +8 -8
  26. {maturin-1.5.1 → maturin-1.6.0}/src/module_writer.rs +12 -5
  27. {maturin-1.5.1 → maturin-1.6.0}/src/new_project.rs +17 -6
  28. {maturin-1.5.1 → maturin-1.6.0}/src/project_layout.rs +2 -1
  29. {maturin-1.5.1 → maturin-1.6.0}/src/pyproject_toml.rs +7 -0
  30. {maturin-1.5.1 → maturin-1.6.0}/src/python_interpreter/mod.rs +2 -1
  31. {maturin-1.5.1 → maturin-1.6.0}/src/source_distribution.rs +5 -5
  32. {maturin-1.5.1 → maturin-1.6.0}/src/target.rs +30 -2
  33. {maturin-1.5.1 → maturin-1.6.0}/src/templates/Cargo.toml.j2 +3 -5
  34. {maturin-1.5.1 → maturin-1.6.0}/src/templates/lib.rs.j2 +1 -8
  35. {maturin-1.5.1 → maturin-1.6.0}/src/templates/pyproject.toml.j2 +1 -3
  36. maturin-1.5.1/clippy.toml +0 -1
  37. {maturin-1.5.1 → maturin-1.6.0}/.codespellrc +0 -0
  38. {maturin-1.5.1 → maturin-1.6.0}/.config/nextest.toml +0 -0
  39. {maturin-1.5.1 → maturin-1.6.0}/.gitignore +0 -0
  40. {maturin-1.5.1 → maturin-1.6.0}/MANIFEST.in +0 -0
  41. {maturin-1.5.1 → maturin-1.6.0}/license-apache +0 -0
  42. {maturin-1.5.1 → maturin-1.6.0}/license-mit +0 -0
  43. {maturin-1.5.1 → maturin-1.6.0}/netlify.toml +0 -0
  44. {maturin-1.5.1 → maturin-1.6.0}/src/auditwheel/audit.rs +0 -0
  45. {maturin-1.5.1 → maturin-1.6.0}/src/auditwheel/manylinux-policy.json +0 -0
  46. {maturin-1.5.1 → maturin-1.6.0}/src/auditwheel/mod.rs +0 -0
  47. {maturin-1.5.1 → maturin-1.6.0}/src/auditwheel/musllinux-policy.json +0 -0
  48. {maturin-1.5.1 → maturin-1.6.0}/src/auditwheel/musllinux.rs +0 -0
  49. {maturin-1.5.1 → maturin-1.6.0}/src/auditwheel/patchelf.rs +0 -0
  50. {maturin-1.5.1 → maturin-1.6.0}/src/auditwheel/policy.rs +0 -0
  51. {maturin-1.5.1 → maturin-1.6.0}/src/auditwheel/repair.rs +0 -0
  52. {maturin-1.5.1 → maturin-1.6.0}/src/cargo_toml.rs +0 -0
  53. {maturin-1.5.1 → maturin-1.6.0}/src/python_interpreter/config.rs +0 -0
  54. {maturin-1.5.1 → maturin-1.6.0}/src/python_interpreter/get_interpreter_metadata.py +0 -0
  55. {maturin-1.5.1 → maturin-1.6.0}/src/templates/.gitignore.j2 +0 -0
  56. {maturin-1.5.1 → maturin-1.6.0}/src/templates/__init__.py.j2 +0 -0
  57. {maturin-1.5.1 → maturin-1.6.0}/src/templates/build.rs.j2 +0 -0
  58. {maturin-1.5.1 → maturin-1.6.0}/src/templates/example.udl.j2 +0 -0
  59. {maturin-1.5.1 → maturin-1.6.0}/src/templates/main.rs.j2 +0 -0
  60. {maturin-1.5.1 → maturin-1.6.0}/src/templates/test_all.py.j2 +0 -0
  61. {maturin-1.5.1 → maturin-1.6.0}/src/upload.rs +0 -0
@@ -46,5 +46,5 @@ linux_aarch64_task:
46
46
  - echo $CIRRUS_OS
47
47
  - cat Cargo.lock
48
48
  install_script:
49
- - python3 -m pip install uniffi-bindgen==0.26.0
49
+ - python3 -m pip install uniffi-bindgen==0.27.0
50
50
  <<: *BUILD_AND_TEST
@@ -38,7 +38,7 @@ repos:
38
38
  types: [rust]
39
39
  stages: [manual] # because it's slow
40
40
  - repo: https://github.com/pre-commit/pre-commit-hooks
41
- rev: v4.5.0
41
+ rev: v4.6.0
42
42
  hooks:
43
43
  - id: check-yaml
44
44
  - id: check-toml
@@ -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.3.3
59
+ rev: v0.4.4
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.9.0
64
+ rev: v1.10.0
65
65
  hooks:
66
66
  - id: mypy
67
67
  entry: mypy maturin/
@@ -200,9 +200,9 @@ dependencies = [
200
200
 
201
201
  [[package]]
202
202
  name = "cargo-config2"
203
- version = "0.1.19"
203
+ version = "0.1.24"
204
204
  source = "registry+https://github.com/rust-lang/crates.io-index"
205
- checksum = "3a7fb69d74d76f8c254afd1c0e76aca40c305707b28aebe3c5a0fd2ee62aeeeb"
205
+ checksum = "88d9bdc858a15454c2d0a5138d8dcf4bcabc06fde679abdea8330393fbc0ef05"
206
206
  dependencies = [
207
207
  "home",
208
208
  "serde",
@@ -212,9 +212,9 @@ dependencies = [
212
212
 
213
213
  [[package]]
214
214
  name = "cargo-options"
215
- version = "0.7.2"
215
+ version = "0.7.4"
216
216
  source = "registry+https://github.com/rust-lang/crates.io-index"
217
- checksum = "cad71bf996c8e5b9d28ef3472d7ee41f277edf4e38cd597f51ad0438d05d76ea"
217
+ checksum = "f3540247c0a37a76eb324acc238dc617786ea22c43b95da560c82a8f2714321f"
218
218
  dependencies = [
219
219
  "anstyle",
220
220
  "clap",
@@ -255,9 +255,9 @@ dependencies = [
255
255
 
256
256
  [[package]]
257
257
  name = "cargo-zigbuild"
258
- version = "0.18.3"
258
+ version = "0.18.4"
259
259
  source = "registry+https://github.com/rust-lang/crates.io-index"
260
- checksum = "cb76e6ab558f9138291c7e1fa954ffd58e060712eab13f97a317da712218ca24"
260
+ checksum = "65004153e67ac23be88a8e244304a872d727b2aa08654dcabfbecd1fdea4a488"
261
261
  dependencies = [
262
262
  "anyhow",
263
263
  "cargo-options",
@@ -630,6 +630,12 @@ version = "1.0.4"
630
630
  source = "registry+https://github.com/rust-lang/crates.io-index"
631
631
  checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
632
632
 
633
+ [[package]]
634
+ name = "dyn-clone"
635
+ version = "1.0.17"
636
+ source = "registry+https://github.com/rust-lang/crates.io-index"
637
+ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
638
+
633
639
  [[package]]
634
640
  name = "either"
635
641
  version = "1.9.0"
@@ -753,6 +759,101 @@ dependencies = [
753
759
  "autocfg",
754
760
  ]
755
761
 
762
+ [[package]]
763
+ name = "futures"
764
+ version = "0.3.30"
765
+ source = "registry+https://github.com/rust-lang/crates.io-index"
766
+ checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
767
+ dependencies = [
768
+ "futures-channel",
769
+ "futures-core",
770
+ "futures-executor",
771
+ "futures-io",
772
+ "futures-sink",
773
+ "futures-task",
774
+ "futures-util",
775
+ ]
776
+
777
+ [[package]]
778
+ name = "futures-channel"
779
+ version = "0.3.30"
780
+ source = "registry+https://github.com/rust-lang/crates.io-index"
781
+ checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
782
+ dependencies = [
783
+ "futures-core",
784
+ "futures-sink",
785
+ ]
786
+
787
+ [[package]]
788
+ name = "futures-core"
789
+ version = "0.3.30"
790
+ source = "registry+https://github.com/rust-lang/crates.io-index"
791
+ checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
792
+
793
+ [[package]]
794
+ name = "futures-executor"
795
+ version = "0.3.30"
796
+ source = "registry+https://github.com/rust-lang/crates.io-index"
797
+ checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
798
+ dependencies = [
799
+ "futures-core",
800
+ "futures-task",
801
+ "futures-util",
802
+ ]
803
+
804
+ [[package]]
805
+ name = "futures-io"
806
+ version = "0.3.30"
807
+ source = "registry+https://github.com/rust-lang/crates.io-index"
808
+ checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
809
+
810
+ [[package]]
811
+ name = "futures-macro"
812
+ version = "0.3.30"
813
+ source = "registry+https://github.com/rust-lang/crates.io-index"
814
+ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
815
+ dependencies = [
816
+ "proc-macro2",
817
+ "quote",
818
+ "syn 2.0.48",
819
+ ]
820
+
821
+ [[package]]
822
+ name = "futures-sink"
823
+ version = "0.3.30"
824
+ source = "registry+https://github.com/rust-lang/crates.io-index"
825
+ checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
826
+
827
+ [[package]]
828
+ name = "futures-task"
829
+ version = "0.3.30"
830
+ source = "registry+https://github.com/rust-lang/crates.io-index"
831
+ checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
832
+
833
+ [[package]]
834
+ name = "futures-timer"
835
+ version = "3.0.3"
836
+ source = "registry+https://github.com/rust-lang/crates.io-index"
837
+ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24"
838
+
839
+ [[package]]
840
+ name = "futures-util"
841
+ version = "0.3.30"
842
+ source = "registry+https://github.com/rust-lang/crates.io-index"
843
+ checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
844
+ dependencies = [
845
+ "futures-channel",
846
+ "futures-core",
847
+ "futures-io",
848
+ "futures-macro",
849
+ "futures-sink",
850
+ "futures-task",
851
+ "memchr",
852
+ "pin-project-lite",
853
+ "pin-utils",
854
+ "slab",
855
+ ]
856
+
756
857
  [[package]]
757
858
  name = "generic-array"
758
859
  version = "0.14.7"
@@ -1054,7 +1155,7 @@ dependencies = [
1054
1155
 
1055
1156
  [[package]]
1056
1157
  name = "maturin"
1057
- version = "1.5.1"
1158
+ version = "1.6.0"
1058
1159
  dependencies = [
1059
1160
  "anyhow",
1060
1161
  "base64 0.21.7",
@@ -1098,10 +1199,12 @@ dependencies = [
1098
1199
  "pyproject-toml",
1099
1200
  "python-pkginfo",
1100
1201
  "regex",
1202
+ "rstest",
1101
1203
  "rustc_version",
1102
1204
  "rustls",
1103
1205
  "rustls-pemfile",
1104
1206
  "rustversion",
1207
+ "schemars",
1105
1208
  "semver",
1106
1209
  "serde",
1107
1210
  "serde_json",
@@ -1411,6 +1514,12 @@ version = "0.2.13"
1411
1514
  source = "registry+https://github.com/rust-lang/crates.io-index"
1412
1515
  checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
1413
1516
 
1517
+ [[package]]
1518
+ name = "pin-utils"
1519
+ version = "0.1.0"
1520
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1521
+ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
1522
+
1414
1523
  [[package]]
1415
1524
  name = "pkg-config"
1416
1525
  version = "0.3.29"
@@ -1642,6 +1751,12 @@ version = "0.8.2"
1642
1751
  source = "registry+https://github.com/rust-lang/crates.io-index"
1643
1752
  checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
1644
1753
 
1754
+ [[package]]
1755
+ name = "relative-path"
1756
+ version = "1.9.2"
1757
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1758
+ checksum = "e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc"
1759
+
1645
1760
  [[package]]
1646
1761
  name = "rfc2047-decoder"
1647
1762
  version = "0.2.2"
@@ -1670,6 +1785,35 @@ dependencies = [
1670
1785
  "windows-sys 0.48.0",
1671
1786
  ]
1672
1787
 
1788
+ [[package]]
1789
+ name = "rstest"
1790
+ version = "0.18.2"
1791
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1792
+ checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199"
1793
+ dependencies = [
1794
+ "futures",
1795
+ "futures-timer",
1796
+ "rstest_macros",
1797
+ "rustc_version",
1798
+ ]
1799
+
1800
+ [[package]]
1801
+ name = "rstest_macros"
1802
+ version = "0.18.2"
1803
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1804
+ checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605"
1805
+ dependencies = [
1806
+ "cfg-if",
1807
+ "glob",
1808
+ "proc-macro2",
1809
+ "quote",
1810
+ "regex",
1811
+ "relative-path",
1812
+ "rustc_version",
1813
+ "syn 2.0.48",
1814
+ "unicode-ident",
1815
+ ]
1816
+
1673
1817
  [[package]]
1674
1818
  name = "rustc_version"
1675
1819
  version = "0.4.0"
@@ -1694,9 +1838,9 @@ dependencies = [
1694
1838
 
1695
1839
  [[package]]
1696
1840
  name = "rustls"
1697
- version = "0.22.2"
1841
+ version = "0.22.4"
1698
1842
  source = "registry+https://github.com/rust-lang/crates.io-index"
1699
- checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41"
1843
+ checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432"
1700
1844
  dependencies = [
1701
1845
  "log",
1702
1846
  "ring",
@@ -1763,6 +1907,30 @@ dependencies = [
1763
1907
  "windows-sys 0.52.0",
1764
1908
  ]
1765
1909
 
1910
+ [[package]]
1911
+ name = "schemars"
1912
+ version = "0.8.16"
1913
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1914
+ checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29"
1915
+ dependencies = [
1916
+ "dyn-clone",
1917
+ "schemars_derive",
1918
+ "serde",
1919
+ "serde_json",
1920
+ ]
1921
+
1922
+ [[package]]
1923
+ name = "schemars_derive"
1924
+ version = "0.8.16"
1925
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1926
+ checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967"
1927
+ dependencies = [
1928
+ "proc-macro2",
1929
+ "quote",
1930
+ "serde_derive_internals",
1931
+ "syn 1.0.109",
1932
+ ]
1933
+
1766
1934
  [[package]]
1767
1935
  name = "scopeguard"
1768
1936
  version = "1.2.0"
@@ -1841,6 +2009,17 @@ dependencies = [
1841
2009
  "syn 2.0.48",
1842
2010
  ]
1843
2011
 
2012
+ [[package]]
2013
+ name = "serde_derive_internals"
2014
+ version = "0.26.0"
2015
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2016
+ checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c"
2017
+ dependencies = [
2018
+ "proc-macro2",
2019
+ "quote",
2020
+ "syn 1.0.109",
2021
+ ]
2022
+
1844
2023
  [[package]]
1845
2024
  name = "serde_json"
1846
2025
  version = "1.0.114"
@@ -1899,6 +2078,15 @@ version = "2.4.0"
1899
2078
  source = "registry+https://github.com/rust-lang/crates.io-index"
1900
2079
  checksum = "32fea41aca09ee824cc9724996433064c89f7777e60762749a4170a14abbfa21"
1901
2080
 
2081
+ [[package]]
2082
+ name = "slab"
2083
+ version = "0.4.9"
2084
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2085
+ checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
2086
+ dependencies = [
2087
+ "autocfg",
2088
+ ]
2089
+
1902
2090
  [[package]]
1903
2091
  name = "smallvec"
1904
2092
  version = "1.13.1"
@@ -1,8 +1,8 @@
1
1
  [package]
2
2
  authors = ["konstin <konstin@mailbox.org>", "messense <messense@icloud.com>"]
3
3
  name = "maturin"
4
- version = "1.5.1"
5
- description = "Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages"
4
+ version = "1.6.0"
5
+ description = "Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages"
6
6
  exclude = [
7
7
  "test-crates/**/*",
8
8
  "sysconfig/*",
@@ -42,7 +42,7 @@ name = "maturin"
42
42
  anyhow = "1.0.80"
43
43
  base64 = "0.21.0"
44
44
  glob = "0.3.0"
45
- cargo-config2 = "0.1.19"
45
+ cargo-config2 = "0.1.24"
46
46
  cargo_metadata = "0.18.0"
47
47
  cargo-options = "0.7.2"
48
48
  cbindgen = { version = "0.26.0", default-features = false }
@@ -96,14 +96,12 @@ clap = { version = "4.0.0", features = [
96
96
  clap_complete_command = { version = "0.5.1", default-features = false, features = ["nushell"], optional = true }
97
97
 
98
98
  # cross compile
99
- cargo-zigbuild = { version = "0.18.3", default-features = false, optional = true }
99
+ cargo-zigbuild = { version = "0.18.4", default-features = false, optional = true }
100
100
  cargo-xwin = { version = "0.16.4", default-features = false, optional = true }
101
101
 
102
102
  # log
103
103
  tracing = "0.1.36"
104
- tracing-subscriber = { version = "0.3.15", features = [
105
- "env-filter",
106
- ], optional = true }
104
+ tracing-subscriber = { version = "0.3.15", features = ["env-filter"] }
107
105
 
108
106
  # project scaffolding, maturin new/init/generate-ci
109
107
  dialoguer = { version = "0.11.0", default-features = false, optional = true }
@@ -123,15 +121,20 @@ ureq = { version = "2.9.4", features = [
123
121
  "socks-proxy",
124
122
  ], default-features = false, optional = true }
125
123
  native-tls = { version = "0.2.8", optional = true }
126
- rustls = { version = "0.22.2", optional = true }
124
+ rustls = { version = "0.22.4", optional = true }
127
125
  rustls-pemfile = { version = "2.1.0", optional = true }
128
126
  keyring = { version = "2.3.2", default-features = false, features = [
129
127
  "linux-no-secret-service",
130
128
  ], optional = true }
131
129
  wild = { version = "2.1.0", optional = true }
132
130
 
131
+ # JSON schema
132
+ schemars = { version = "0.8.16", optional = true }
133
+ pretty_assertions = { version = "1.3.0", optional = true }
134
+
133
135
  [dev-dependencies]
134
136
  expect-test = "1.4.1"
137
+ rstest = "0.18.2"
135
138
  indoc = "2.0.3"
136
139
  pretty_assertions = "1.3.0"
137
140
  rustversion = "1.0.9"
@@ -142,9 +145,7 @@ which = "6.0.0"
142
145
  [features]
143
146
  default = ["full", "rustls"]
144
147
 
145
- full = ["cli-completion", "cross-compile", "log", "scaffolding", "upload"]
146
-
147
- log = ["tracing-subscriber"]
148
+ full = ["cli-completion", "cross-compile", "scaffolding", "upload"]
148
149
 
149
150
  cli-completion = ["dep:clap_complete_command"]
150
151
 
@@ -158,6 +159,8 @@ upload = [
158
159
  "dep:dirs",
159
160
  ]
160
161
 
162
+ schemars = ["dep:schemars", "dep:pretty_assertions"]
163
+
161
164
  # keyring doesn't support *BSD so it's not enabled in `full` by default
162
165
  password-storage = ["upload", "keyring"]
163
166
 
@@ -185,8 +188,13 @@ scaffolding = ["dialoguer", "console", "minijinja", "unicode-xid"]
185
188
  # Internal feature to speed up the tests significantly
186
189
  faster-tests = []
187
190
 
188
- # Deprecated features, keep it now for compatibility
191
+ # Deprecated features, keep them now for compatibility
189
192
  human-panic = []
193
+ log = []
194
+
195
+ [profile.profiling]
196
+ inherits = "release"
197
+ debug = true
190
198
 
191
199
  # Without this, compressing the .gz archive becomes notably slow for debug builds
192
200
  [profile.dev.package.miniz_oxide]
@@ -2,6 +2,17 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [1.6.0] - 2024-06-04
6
+
7
+ * Detect compiling from Linux gnu to Linux musl as cross compiling in [#2010](https://github.com/PyO3/maturin/pull/2010)
8
+ * Add musllinux support to `generate-ci` in [#2011](https://github.com/PyO3/maturin/pull/2011)
9
+ * Add uv support to `develop` command in [#2015](https://github.com/PyO3/maturin/pull/2015)
10
+ * Add support for AIX target in [#2030](https://github.com/PyO3/maturin/pull/2030)
11
+ * Remove rust-cpython support in [#2044](https://github.com/PyO3/maturin/pull/2044)
12
+ * Add a global `-v` option in [#2080](https://github.com/PyO3/maturin/pull/2080)
13
+ * Detect target based on interpreter for pep517 build-wheel in [#2088](https://github.com/PyO3/maturin/pull/2088)
14
+ * Use base executable when possible in PEP 517 build in [#2094](https://github.com/PyO3/maturin/pull/2094)
15
+
5
16
  ## [1.5.1] - 2024-03-21
6
17
 
7
18
  * Fix usage of `--compatibility` when run as a PEP517 backend in [#1992](https://github.com/PyO3/maturin/pull/1992)
@@ -953,7 +964,8 @@ points-0.1.0-py2.py3-none-manylinux1_x86_64.whl | 2,8M | 752K | 85K
953
964
 
954
965
  * Initial Release
955
966
 
956
- [Unreleased]: https://github.com/pyo3/maturin/compare/v1.5.1...HEAD
967
+ [Unreleased]: https://github.com/pyo3/maturin/compare/v1.6.0...HEAD
968
+ [1.6.0]: https://github.com/pyo3/maturin/compare/v1.5.1...v1.6.0
957
969
  [1.5.1]: https://github.com/pyo3/maturin/compare/v1.5.0...v1.5.1
958
970
  [1.5.0]: https://github.com/pyo3/maturin/compare/v1.4.0...v1.5.0
959
971
  [1.4.0]: https://github.com/pyo3/maturin/compare/v1.3.2...v1.4.0
@@ -1,16 +1,16 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: maturin
3
- Version: 1.5.1
3
+ Version: 1.6.0
4
4
  Classifier: Topic :: Software Development :: Build Tools
5
5
  Classifier: Programming Language :: Rust
6
6
  Classifier: Programming Language :: Python :: Implementation :: CPython
7
7
  Classifier: Programming Language :: Python :: Implementation :: PyPy
8
8
  Requires-Dist: tomli >=1.1.0 ; python_version < '3.11'
9
- Requires-Dist: ziglang ~=0.10.0 ; extra == 'zig'
9
+ Requires-Dist: ziglang >=0.10.0, <0.13.0 ; extra == 'zig'
10
10
  Requires-Dist: patchelf ; extra == 'patchelf'
11
11
  Provides-Extra: zig
12
12
  Provides-Extra: patchelf
13
- Summary: Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages
13
+ Summary: Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages
14
14
  Keywords: python,cffi,packaging,pypi,pyo3
15
15
  Home-Page: https://github.com/pyo3/maturin
16
16
  Author: konstin <konstin@mailbox.org>, messense <messense@icloud.com>
@@ -32,9 +32,9 @@ _formerly pyo3-pack_
32
32
  [![PyPI](https://img.shields.io/pypi/v/maturin.svg?logo=python&style=flat-square)](https://pypi.org/project/maturin)
33
33
  [![Actions Status](https://img.shields.io/github/actions/workflow/status/PyO3/maturin/test.yml?branch=main&logo=github&style=flat-square)](https://github.com/PyO3/maturin/actions)
34
34
  [![FreeBSD](https://img.shields.io/cirrus/github/PyO3/maturin/main?logo=CircleCI&style=flat-square)](https://cirrus-ci.com/github/PyO3/maturin)
35
- [![Chat on Gitter](https://img.shields.io/gitter/room/nwjs/nw.js.svg?logo=gitter&style=flat-square)](https://gitter.im/PyO3/Lobby)
35
+ [![discord server](https://img.shields.io/discord/1209263839632424990?logo=discord)](https://discord.gg/33kcChzH7f)
36
36
 
37
- Build and publish crates with pyo3, rust-cpython, cffi and uniffi bindings as well as rust binaries as python packages with minimal configuration.
37
+ Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages with minimal configuration.
38
38
  It supports building wheels for python 3.8+ on windows, linux, mac and freebsd, can upload them to [pypi](https://pypi.org/) and has basic pypy and graalpy support.
39
39
 
40
40
  Check out the [User Guide](https://maturin.rs/)!
@@ -53,12 +53,12 @@ pipx install maturin
53
53
 
54
54
  There are four main commands:
55
55
 
56
- * `maturin new` creates a new cargo project with maturin configured.
57
- * `maturin publish` builds the crate into python packages and publishes them to pypi.
58
- * `maturin build` builds the wheels and stores them in a folder (`target/wheels` by default), but doesn't upload them. It's possible to upload those with [twine](https://github.com/pypa/twine) or `maturin upload`.
59
- * `maturin develop` builds the crate and installs it as a python module directly in the current virtualenv. Note that while `maturin develop` is faster, it doesn't support all the feature that running `pip install` after `maturin build` supports.
56
+ - `maturin new` creates a new cargo project with maturin configured.
57
+ - `maturin publish` builds the crate into python packages and publishes them to pypi.
58
+ - `maturin build` builds the wheels and stores them in a folder (`target/wheels` by default), but doesn't upload them. It's possible to upload those with [twine](https://github.com/pypa/twine) or `maturin upload`.
59
+ - `maturin develop` builds the crate and installs it as a python module directly in the current virtualenv. Note that while `maturin develop` is faster, it doesn't support all the feature that running `pip install` after `maturin build` supports.
60
60
 
61
- `pyo3` and `rust-cpython` bindings are automatically detected. For cffi or binaries, you need to pass `-b cffi` or `-b bin`.
61
+ `pyo3` bindings are automatically detected. For cffi or binaries, you need to pass `-b cffi` or `-b bin`.
62
62
  maturin doesn't need extra configuration files and doesn't clash with an existing setuptools-rust or milksnake configuration.
63
63
  You can even integrate it with testing tools such as [tox](https://tox.readthedocs.io/en/latest/).
64
64
  There are examples for the different bindings in the `test-crates` folder.
@@ -71,7 +71,7 @@ The name of the module, which you are using when importing, will be the `name` v
71
71
  Python packages come in two formats:
72
72
  A built form called wheel and source distributions (sdist), both of which are archives.
73
73
  A wheel can be compatible with any python version, interpreter (cpython and pypy, mainly), operating system and hardware architecture (for pure python wheels),
74
- can be limited to a specific platform and architecture (e.g. when using ctypes or cffi) or to a specific python interpreter and version on a specific architecture and operating system (e.g. with pyo3 and rust-cpython).
74
+ can be limited to a specific platform and architecture (e.g. when using ctypes or cffi) or to a specific python interpreter and version on a specific architecture and operating system (e.g. with pyo3).
75
75
 
76
76
  When using `pip install` on a package, pip tries to find a matching wheel and install that. If it doesn't find one, it downloads the source distribution and builds a wheel for the current platform,
77
77
  which requires the right compilers to be installed. Installing a wheel is much faster than installing a source distribution as building wheels is generally slow.
@@ -80,9 +80,9 @@ When you publish a package to be installable with `pip install`, you upload it t
80
80
  For testing, you can use [test pypi](https://test.pypi.org/) instead, which you can use with `pip install --index-url https://test.pypi.org/simple/`.
81
81
  Note that for publishing for linux, [you need to use the manylinux docker container](#manylinux-and-auditwheel), while for publishing from your repository you can use the [PyO3/maturin-action github action](https://github.com/PyO3/maturin-action).
82
82
 
83
- ## pyo3 and rust-cpython
83
+ ## pyo3
84
84
 
85
- For pyo3 and rust-cpython, maturin can only build packages for installed python versions. On linux and mac, all python versions in `PATH` are used.
85
+ For pyo3, maturin can only build packages for installed python versions. On linux and mac, all python versions in `PATH` are used.
86
86
  If you don't set your own interpreters with `-i`, a heuristic is used to search for python installations.
87
87
  On windows all versions from the python launcher (which is installed by default by the python.org installer) and all conda environments except base are used. You can check which versions are picked up with the `list-python` subcommand.
88
88
 
@@ -171,7 +171,7 @@ my-project
171
171
 
172
172
  maturin will add the native extension as a module in your python folder. When using develop, maturin will copy the native library and for cffi also the glue code to your python folder. You should add those files to your gitignore.
173
173
 
174
- With cffi you can do `from .my_project import lib` and then use `lib.my_native_function`, with pyo3/rust-cpython you can directly `from .my_project import my_native_function`.
174
+ With cffi you can do `from .my_project import lib` and then use `lib.my_native_function`, with pyo3 you can directly `from .my_project import my_native_function`.
175
175
 
176
176
  Example layout with pyo3 after `maturin develop`:
177
177
 
@@ -198,7 +198,6 @@ fn my_lib_name(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
198
198
  }
199
199
  ```
200
200
 
201
-
202
201
  ## Python metadata
203
202
 
204
203
  maturin supports [PEP 621](https://www.python.org/dev/peps/pep-0621/), you can specify python package metadata in `pyproject.toml`.
@@ -297,23 +296,24 @@ maturin itself is manylinux compliant when compiled for the musl target.
297
296
 
298
297
  ## Examples
299
298
 
300
- * [ballista-python](https://github.com/apache/arrow-ballista-python) - A Python library that binds to Apache Arrow distributed query engine Ballista
301
- * [chardetng-py](https://github.com/john-parton/chardetng-py) - Python binding for the chardetng character encoding detector.
302
- * [connector-x](https://github.com/sfu-db/connector-x/tree/main/connectorx-python) - ConnectorX enables you to load data from databases into Python in the fastest and most memory efficient way
303
- * [datafusion-python](https://github.com/apache/arrow-datafusion-python) - a Python library that binds to Apache Arrow in-memory query engine DataFusion
304
- * [deltalake-python](https://github.com/delta-io/delta-rs/tree/main/python) - Native Delta Lake Python binding based on delta-rs with Pandas integration
305
- * [opendal](https://github.com/apache/incubator-opendal/tree/main/bindings/python) - OpenDAL Python Binding to access data freely
306
- * [orjson](https://github.com/ijl/orjson) - A fast, correct JSON library for Python
307
- * [polars](https://github.com/pola-rs/polars/tree/master/py-polars) - Fast multi-threaded DataFrame library in Rust | Python | Node.js
308
- * [pydantic-core](https://github.com/pydantic/pydantic-core) - Core validation logic for pydantic written in Rust
309
- * [pyrus-cramjam](https://github.com/milesgranger/pyrus-cramjam) - Thin Python wrapper to de/compression algorithms in Rust
310
- * [pyxel](https://github.com/kitao/pyxel) - A retro game engine for Python
311
- * [roapi](https://github.com/roapi/roapi) - ROAPI automatically spins up read-only APIs for static datasets without requiring you to write a single line of code
312
- * [robyn](https://github.com/sansyrox/robyn) - A fast and extensible async python web server with a Rust runtime
313
- * [ruff](https://github.com/charliermarsh/ruff) - An extremely fast Python linter, written in Rust
314
- * [tantivy-py](https://github.com/quickwit-oss/tantivy-py) - Python bindings for Tantivy
315
- * [watchfiles](https://github.com/samuelcolvin/watchfiles) - Simple, modern and high performance file watching and code reload in python
316
- * [wonnx](https://github.com/webonnx/wonnx/tree/master/wonnx-py) - Wonnx is a GPU-accelerated ONNX inference run-time written 100% in Rust
299
+ - [ballista-python](https://github.com/apache/arrow-ballista-python) - A Python library that binds to Apache Arrow distributed query engine Ballista
300
+ - [bleuscore](https://github.com/shenxiangzhuang/bleuscore) - A BLEU score calculation library, written in pure Rust
301
+ - [chardetng-py](https://github.com/john-parton/chardetng-py) - Python binding for the chardetng character encoding detector.
302
+ - [connector-x](https://github.com/sfu-db/connector-x/tree/main/connectorx-python) - ConnectorX enables you to load data from databases into Python in the fastest and most memory efficient way
303
+ - [datafusion-python](https://github.com/apache/arrow-datafusion-python) - a Python library that binds to Apache Arrow in-memory query engine DataFusion
304
+ - [deltalake-python](https://github.com/delta-io/delta-rs/tree/main/python) - Native Delta Lake Python binding based on delta-rs with Pandas integration
305
+ - [opendal](https://github.com/apache/incubator-opendal/tree/main/bindings/python) - OpenDAL Python Binding to access data freely
306
+ - [orjson](https://github.com/ijl/orjson) - A fast, correct JSON library for Python
307
+ - [polars](https://github.com/pola-rs/polars/tree/master/py-polars) - Fast multi-threaded DataFrame library in Rust | Python | Node.js
308
+ - [pydantic-core](https://github.com/pydantic/pydantic-core) - Core validation logic for pydantic written in Rust
309
+ - [pyrus-cramjam](https://github.com/milesgranger/pyrus-cramjam) - Thin Python wrapper to de/compression algorithms in Rust
310
+ - [pyxel](https://github.com/kitao/pyxel) - A retro game engine for Python
311
+ - [roapi](https://github.com/roapi/roapi) - ROAPI automatically spins up read-only APIs for static datasets without requiring you to write a single line of code
312
+ - [robyn](https://github.com/sansyrox/robyn) - A fast and extensible async python web server with a Rust runtime
313
+ - [ruff](https://github.com/charliermarsh/ruff) - An extremely fast Python linter, written in Rust
314
+ - [tantivy-py](https://github.com/quickwit-oss/tantivy-py) - Python bindings for Tantivy
315
+ - [watchfiles](https://github.com/samuelcolvin/watchfiles) - Simple, modern and high performance file watching and code reload in python
316
+ - [wonnx](https://github.com/webonnx/wonnx/tree/master/wonnx-py) - Wonnx is a GPU-accelerated ONNX inference run-time written 100% in Rust
317
317
 
318
318
  ## Contributing
319
319
 
@@ -334,8 +334,8 @@ If you don't have time to contribute yourself but still wish to support the proj
334
334
 
335
335
  Licensed under either of:
336
336
 
337
- * Apache License, Version 2.0, ([LICENSE-APACHE](https://github.com/PyO3/maturin/blob/main/license-apache) or http://www.apache.org/licenses/LICENSE-2.0)
338
- * MIT license ([LICENSE-MIT](https://github.com/PyO3/maturin/blob/main/license-mit) or http://opensource.org/licenses/MIT)
337
+ - Apache License, Version 2.0, ([LICENSE-APACHE](https://github.com/PyO3/maturin/blob/main/license-apache) or http://www.apache.org/licenses/LICENSE-2.0)
338
+ - MIT license ([LICENSE-MIT](https://github.com/PyO3/maturin/blob/main/license-mit) or http://opensource.org/licenses/MIT)
339
339
 
340
340
  at your option.
341
341