Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: PyO3/maturin
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.15.1
Choose a base ref
...
head repository: PyO3/maturin
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on May 7, 2023

  1. Copy the full SHA
    4f8cf7d View commit details
  2. Copy the full SHA
    f731a3a View commit details
  3. Copy the full SHA
    bba12bd View commit details
  4. Merge pull request #1600 from messense/unittest-find-interpreter

    Add a unit test for `PythonInterpreter::find_by_target`
    messense authored May 7, 2023
    Copy the full SHA
    7421443 View commit details
  5. Merge pull request #1596 from messense/merge-group

    Try GitHub Actions merge queue
    messense authored May 7, 2023
    Copy the full SHA
    d1a1bd9 View commit details
  6. Copy the full SHA
    439789f View commit details
  7. Merge pull request #1601 from messense/skip-git-sdist-tests

    Skip git sdist generator tests when executing from a non-git checkout
    messense authored May 7, 2023
    Copy the full SHA
    d05c223 View commit details

Commits on May 9, 2023

  1. Remove bors

    messense committed May 9, 2023
    Copy the full SHA
    fc487ef View commit details
  2. Copy the full SHA
    10ecbb6 View commit details

Commits on May 10, 2023

  1. Merge pull request #1603 from messense/trusted-publisher

    Publish maturin itself using trusted publisher
    messense authored May 10, 2023
    Copy the full SHA
    fd92f71 View commit details
  2. Merge pull request #1602 from messense/goodbye-bors

    Remove bors
    messense authored May 10, 2023
    Copy the full SHA
    e378ddd View commit details

Commits on May 12, 2023

  1. When determining the python module name, use pyproject.toml `project.…

    …name` over Cargo.toml `package.name`.
    
    I propose to change the precedence for determining the module name to consider before pyproject.toml `project.name` over Cargo.toml `package.name`. This came up in ruff (astral-sh/ruff#4397, astral-sh/ruff#4399), where the crate name is `ruff_cli` and the project name is `ruff`.
    
    I'm not sure if there are any cases a user would like the crate name over the package name.
    konstin committed May 12, 2023
    Copy the full SHA
    02f5764 View commit details

Commits on May 13, 2023

  1. Merge pull request #1608 from PyO3/use_project_name_for_module_name

    When determining the python module name, use pyproject.toml `project.name` over Cargo.toml `package.name`.
    messense authored May 13, 2023
    Copy the full SHA
    243b8ec View commit details
  2. Warn on missing python-source contents

    Warns when the user explicitly set `python-source` but that folder doesn't contain a python module.
    
    This came up in ruff (astral-sh/ruff#4397, astral-sh/ruff#4399), where the crate name is `ruff_cli` and i didn't realize this takes precedence as module name over the package name.
    
    The extra boolean isn't pretty but i wanted to avoid refactoring the entire method just for that.
    konstin committed May 13, 2023
    Copy the full SHA
    2e9b861 View commit details

Commits on May 14, 2023

  1. Copy the full SHA
    df606c7 View commit details
  2. Merge pull request #1607 from PyO3/warn_on_missing_python_source

    Warn on missing python-source contents
    messense authored May 14, 2023
    Copy the full SHA
    9fbf8fa View commit details

Commits on May 16, 2023

  1. Copy the full SHA
    8d2d805 View commit details
  2. Merge pull request #1610 from messense/actually-rm-unused-dev-depende…

    …ncies
    
    Fix rewriting `dev-dependencies` in sdist
    messense authored May 16, 2023
    Copy the full SHA
    ec2cd5d View commit details
  3. Release v0.15.2

    messense committed May 16, 2023
    Copy the full SHA
    6f085d1 View commit details
  4. Merge pull request #1611 from messense/release-0.15.2

    Release v0.15.2
    messense authored May 16, 2023
    Copy the full SHA
    3920405 View commit details
  5. Fix cross-compile to MacOS universal2 in the other platform

    Signed-off-by: MisLink <gjq.uoiai@outlook.com>
    MisLink committed May 16, 2023
    Copy the full SHA
    075bed8 View commit details

Commits on May 17, 2023

  1. Merge pull request #1613 from MisLink/main

    Fix cross-compile to Apple universal2 in the other platform
    messense authored May 17, 2023
    Copy the full SHA
    7237fac View commit details

Commits on May 18, 2023

  1. Remove serde(flatten) to improve error messages

    Apparently toml (or serde) fails to generate spans when using `#[serde(flatten)]`.
    
    New error message for #1615:
    
    ```
    💥 maturin failed
      Caused by: pyproject.toml at /home/konsti/maturin/asdf/pyproject.toml is invalid
      Caused by: TOML parse error at line 7, column 17
      |
    7 | license-files = [ "license.txt",]
      |                 ^^^^^^^^^^^^^^^^^
    wanted string or table
    ```
    
    Fixes #1615
    konstin committed May 18, 2023
    Copy the full SHA
    26606da View commit details
  2. Merge pull request #1616 from PyO3/improve_toml_error_message

    Remove serde(flatten) to improve error messages
    messense authored May 18, 2023
    Copy the full SHA
    b1b2f15 View commit details
  3. Allow syn 2.0

    messense committed May 18, 2023
    Copy the full SHA
    f6a7d70 View commit details
  4. Merge pull request #1617 from messense/syn-2

    Allow syn 2.0
    messense authored May 18, 2023
    Copy the full SHA
    466f9b8 View commit details
  5. Copy the full SHA
    87ac3d9 View commit details
  6. describe the need for module-name (#1604)

    * describe the need for module-name
    
    * update to show how to set the module name in mixed python environment
    
    * update to remove reference to cargo.toml
    
    * Update README.md
    
    ---------
    
    Co-authored-by: messense <messense@icloud.com>
    krpatter-intc and messense authored May 18, 2023
    Copy the full SHA
    2c4573c View commit details

Commits on May 19, 2023

  1. Copy the full SHA
    d404bbd View commit details
  2. Copy the full SHA
    18740ec View commit details
  3. Copy the full SHA
    cd29014 View commit details
  4. Copy the full SHA
    c840a76 View commit details

Commits on May 20, 2023

  1. Copy the full SHA
    37f0db4 View commit details
  2. Add PEP 517 config_settings support (#1619)

    Replaces `MATURIN_PEP517_ARGS` environment variable with
    `--config-settings build-args=<cargo build args>`.
    messense authored May 20, 2023
    Copy the full SHA
    f66a0c8 View commit details
  3. Copy the full SHA
    c28e90c View commit details
  4. Release v0.15.3

    messense committed May 20, 2023
    Copy the full SHA
    5dc4d7a View commit details

Commits on May 21, 2023

  1. Copy the full SHA
    701e3ae View commit details

Commits on May 22, 2023

  1. Copy the full SHA
    c2c9e70 View commit details

Commits on May 23, 2023

  1. Revert "Revert to 0.x versioning in pyproject.toml"

    This reverts commit 28cd313.
    messense committed May 23, 2023
    Copy the full SHA
    35471b9 View commit details
  2. Release 1.0.0

    messense committed May 23, 2023
    Copy the full SHA
    2bc6c26 View commit details
  3. Merge pull request #1625 from messense/release-1.0

    Release 1.0.0
    messense authored May 23, 2023
    Copy the full SHA
    53bb64b View commit details
  4. Copy the full SHA
    7a7694b View commit details

Commits on May 24, 2023

  1. Copy the full SHA
    14ea4d9 View commit details

Commits on May 25, 2023

  1. Copy the full SHA
    15bde24 View commit details

Commits on May 27, 2023

  1. Copy the full SHA
    d2806bb View commit details
  2. Merge pull request #1633 from messense/refactor-well-known-sysconfigs

    refactor: generate well known sysconfigs in code
    messense authored May 27, 2023
    Copy the full SHA
    7a3da02 View commit details
  3. Upgrade dirs to 5.0 (#1634)

    messense authored May 27, 2023
    Copy the full SHA
    f1e25dc View commit details
  4. Copy the full SHA
    1333409 View commit details
  5. Merge pull request #1635 from messense/fix-1632

    Fix panicking when no cargo build targets are selected
    messense authored May 27, 2023
    Copy the full SHA
    07e96ab View commit details

Commits on May 28, 2023

  1. Copy the full SHA
    8aa7dda View commit details
Showing with 19,254 additions and 9,183 deletions.
  1. +5 −38 .cirrus.yml
  2. +1 −1 .codespellrc
  3. +1 −1 .config/nextest.toml
  4. +22 −0 .devcontainer/devcontainer.json
  5. +12 −0 .devcontainer/post_create.sh
  6. +1 −1 .dockerignore
  7. +2 −2 .github/ISSUE_TEMPLATE/feature_request.md
  8. +1 −1 .github/bors.toml
  9. +4 −0 .github/dependabot.yml
  10. +5 −21 .github/workflows/clear-cache.yml
  11. +6 −6 .github/workflows/docker.yml
  12. +38 −0 .github/workflows/downstream.yml
  13. +0 −91 .github/workflows/lint.yml
  14. +66 −102 .github/workflows/release.yml
  15. +241 −260 .github/workflows/test.yml
  16. +2 −2 .github/workflows/update-auditwheel.yml
  17. +2 −0 .gitignore
  18. +72 −0 .pre-commit-config.yaml
  19. +1,554 −749 Cargo.lock
  20. +133 −60 Cargo.toml
  21. +220 −7 Changelog.md
  22. +0 −1 Code-of-Conduct.md
  23. +10 −10 Dockerfile
  24. +61 −87 README.md
  25. +0 −51 ci/build_deb.sh
  26. +29 −1 clippy.toml
  27. +111 −68 deny.toml
  28. +2 −1 guide/src/SUMMARY.md
  29. BIN guide/src/assets/sponsors/astral.png
  30. BIN guide/src/assets/sponsors/bytewax.png
  31. BIN guide/src/assets/sponsors/frontend-masters.png
  32. BIN guide/src/assets/sponsors/prefect.png
  33. BIN guide/src/assets/sponsors/sentry.png
  34. +5 −21 guide/src/bindings.md
  35. +3 −1 guide/src/config.md
  36. +23 −10 guide/src/contributing.md
  37. +77 −66 guide/src/distribution.md
  38. +5 −1 guide/src/environment-variables.md
  39. +328 −0 guide/src/import_hook.md
  40. +31 −1 guide/src/index.md
  41. +7 −3 guide/src/installation.md
  42. +68 −61 guide/src/{develop.md → local_development.md}
  43. +29 −1 guide/src/metadata.md
  44. +2 −2 guide/src/migration.md
  45. +3 −3 guide/src/platform_support.md
  46. +1 −1 guide/src/sphinx.md
  47. +24 −19 guide/src/tutorial.md
  48. +11 −11 guide/tweak.css
  49. +482 −0 maturin.schema.json
  50. +51 −42 maturin/__init__.py
  51. +9 −2 maturin/__main__.py
  52. +0 −164 maturin/import_hook.py
  53. +2 −2 netlify.toml
  54. +20 −5 noxfile.py
  55. +9 −6 pyproject.toml
  56. +1 −25 setup.py
  57. +29 −4 src/auditwheel/audit.rs
  58. +724 −504 src/auditwheel/manylinux-policy.json
  59. +1 −1 src/auditwheel/mod.rs
  60. +6 −0 src/auditwheel/musllinux-policy.json
  61. +4 −4 src/auditwheel/patchelf.rs
  62. +1 −0 src/auditwheel/platform_tag.rs
  63. +177 −0 src/bridge.rs
  64. +178 −151 src/build_context.rs
  65. +492 −291 src/build_options.rs
  66. +952 −261 src/ci.rs
  67. +118 −50 src/compile.rs
  68. +16 −20 src/cross_compile.rs
  69. +498 −100 src/develop.rs
  70. +64 −0 src/generate_json_schema.rs
  71. +12 −7 src/lib.rs
  72. +139 −74 src/main.rs
  73. +146 −71 src/metadata.rs
  74. +444 −164 src/module_writer.rs
  75. +161 −9 src/new_project.rs
  76. +65 −33 src/project_layout.rs
  77. +262 −42 src/pyproject_toml.rs
  78. +659 −90 src/python_interpreter/config.rs
  79. +1 −1 src/python_interpreter/get_interpreter_metadata.py
  80. +319 −71 src/python_interpreter/mod.rs
  81. +0 −22 src/python_interpreter/sysconfig-emscripten.json
  82. +0 −190 src/python_interpreter/sysconfig-freebsd.json
  83. +0 −619 src/python_interpreter/sysconfig-linux.json
  84. +0 −177 src/python_interpreter/sysconfig-macos.json
  85. +0 −40 src/python_interpreter/sysconfig-netbsd.json
  86. +0 −116 src/python_interpreter/sysconfig-openbsd.json
  87. +0 −161 src/python_interpreter/sysconfig-windows.json
  88. +515 −528 src/source_distribution.rs
  89. +174 −22 src/target.rs
  90. +3 −5 src/templates/Cargo.toml.j2
  91. +1 −1 src/templates/example.udl.j2
  92. +1 −8 src/templates/lib.rs.j2
  93. +11 −6 src/templates/pyproject.toml.j2
  94. +6 −0 src/templates/test_all.py.j2
  95. +63 −56 src/upload.rs
  96. +722 −0 sysconfig/cpython-aix-3.9.txt
  97. +1,039 −0 sysconfig/cpython-gnu-3.12.txt
  98. +1,000 −0 sysconfig/cpython-linux-armv5te-3.11.txt
  99. +979 −0 sysconfig/cpython-linux-mips64-3.11.txt
  100. +41 −57 test-crates/cargo-mock/Cargo.lock
  101. +1 −1 test-crates/cargo-mock/Cargo.toml
  102. +9 −0 test-crates/cargo-update.sh
  103. +1 −1 test-crates/cffi-mixed/.gitignore
  104. +0 −1 test-crates/cffi-mixed/Cargo.lock
  105. +2 −6 test-crates/cffi-mixed/cffi_mixed/line.py
  106. +2 −1 test-crates/cffi-mixed/pyproject.toml
  107. +1 −1 test-crates/cffi-mixed/requirements_test.txt
  108. +1 −1 test-crates/cffi-mixed/tox.ini
  109. +1 −1 test-crates/cffi-pure/.gitignore
  110. +0 −1 test-crates/cffi-pure/Cargo.lock
  111. +2 −1 test-crates/cffi-pure/pyproject.toml
  112. +1 −1 test-crates/cffi-pure/requirements_test.txt
  113. +1 −1 test-crates/cffi-pure/tox.ini
  114. +0 −1 test-crates/hello-world/Cargo.lock
  115. +1 −1 test-crates/hello-world/pyproject.toml
  116. +52 −154 test-crates/lib_with_disallowed_lib/Cargo.lock
  117. +1 −1 test-crates/lib_with_disallowed_lib/Cargo.toml
  118. +1 −1 test-crates/lib_with_disallowed_lib/pyproject.toml
  119. +1 −1 test-crates/lib_with_disallowed_lib/src/lib.rs
  120. +1 −2 test-crates/lib_with_path_dep/Cargo.toml
  121. +1 −1 test-crates/lib_with_path_dep/pyproject.toml
  122. +4 −129 test-crates/lib_with_path_dep/src/lib.rs
  123. +1 −1 test-crates/license-test/AUTHORS.txt
  124. +0 −1 test-crates/license-test/Cargo.lock
  125. +1 −1 test-crates/license-test/LICENCE.txt
  126. +1 −1 test-crates/license-test/LICENSE
  127. +1 −1 test-crates/license-test/NOTICE.md
  128. +1 −1 test-crates/license-test/_vendor/NOTICE
  129. +1 −1 test-crates/license-test/check_installed/check_installed.py
  130. +2 −1 test-crates/license-test/pyproject.toml
  131. +42 −144 test-crates/pyo3-abi3-without-version/Cargo.lock
  132. +1 −1 test-crates/pyo3-abi3-without-version/Cargo.toml
  133. +0 −1 test-crates/pyo3-abi3-without-version/src/lib.rs
  134. +42 −144 test-crates/pyo3-bin/Cargo.lock
  135. +1 −1 test-crates/pyo3-bin/Cargo.toml
  136. +1 −2 test-crates/pyo3-bin/src/main.rs
  137. +42 −144 test-crates/pyo3-feature/Cargo.lock
  138. +1 −1 test-crates/pyo3-feature/Cargo.toml
  139. +1 −1 test-crates/pyo3-feature/Readme.md
  140. +10 −10 test-crates/pyo3-ffi-pure/Cargo.lock
  141. +2 −1 test-crates/pyo3-ffi-pure/pyproject.toml
  142. +1 −0 test-crates/pyo3-mixed-implicit/.gitignore
  143. +171 −0 test-crates/pyo3-mixed-implicit/Cargo.lock
  144. +14 −0 test-crates/pyo3-mixed-implicit/Cargo.toml
  145. +30 −0 test-crates/pyo3-mixed-implicit/README.md
  146. +8 −0 test-crates/pyo3-mixed-implicit/check_installed/check_installed.py
  147. +16 −0 test-crates/pyo3-mixed-implicit/pyproject.toml
  148. +4 −0 test-crates/pyo3-mixed-implicit/python/pyo3_mixed_implicit/some_rust/__init__.py
  149. +5 −0 test-crates/pyo3-mixed-implicit/python/pyo3_mixed_implicit/some_rust/double.py
  150. +13 −0 test-crates/pyo3-mixed-implicit/src/lib.rs
  151. +11 −0 test-crates/pyo3-mixed-implicit/tests/test_pyo3_mixed_implicit.py
  152. +7 −0 test-crates/pyo3-mixed-implicit/tox.ini
  153. +1 −0 test-crates/pyo3-mixed-include-exclude/.gitignore
  154. +49 −148 test-crates/pyo3-mixed-include-exclude/Cargo.lock
  155. +1 −1 test-crates/pyo3-mixed-include-exclude/Cargo.toml
  156. +2 −1 test-crates/pyo3-mixed-include-exclude/pyproject.toml
  157. +1 −1 test-crates/pyo3-mixed-include-exclude/src/lib.rs
  158. +1 −0 test-crates/pyo3-mixed-py-subdir/.gitignore
  159. +42 −144 test-crates/pyo3-mixed-py-subdir/Cargo.lock
  160. +1 −1 test-crates/pyo3-mixed-py-subdir/Cargo.toml
  161. +3 −3 test-crates/pyo3-mixed-py-subdir/README.md
  162. +2 −1 test-crates/pyo3-mixed-py-subdir/pyproject.toml
  163. +1 −1 test-crates/pyo3-mixed-py-subdir/src/lib.rs
  164. +1 −1 test-crates/pyo3-mixed-py-subdir/tox.ini
  165. +1 −0 test-crates/pyo3-mixed-src/.gitignore
  166. +2 −1 test-crates/pyo3-mixed-src/pyproject.toml
  167. +39 −127 test-crates/pyo3-mixed-src/rust/Cargo.lock
  168. +1 −1 test-crates/pyo3-mixed-src/rust/Cargo.toml
  169. +1 −1 test-crates/pyo3-mixed-src/rust/src/lib.rs
  170. +1 −0 test-crates/pyo3-mixed-submodule/.gitignore
  171. +42 −144 test-crates/pyo3-mixed-submodule/Cargo.lock
  172. +1 −1 test-crates/pyo3-mixed-submodule/Cargo.toml
  173. +2 −1 test-crates/pyo3-mixed-submodule/pyproject.toml
  174. +1 −1 test-crates/pyo3-mixed-submodule/src/lib.rs
  175. +1 −0 test-crates/pyo3-mixed-with-path-dep/.gitignore
  176. +202 −0 test-crates/pyo3-mixed-with-path-dep/Cargo.lock
  177. +13 −0 test-crates/pyo3-mixed-with-path-dep/Cargo.toml
  178. +30 −0 test-crates/pyo3-mixed-with-path-dep/README.md
  179. +9 −0 test-crates/pyo3-mixed-with-path-dep/check_installed/check_installed.py
  180. +7 −0 test-crates/pyo3-mixed-with-path-dep/pyo3_mixed_with_path_dep/__init__.py
  181. +12 −0 test-crates/pyo3-mixed-with-path-dep/pyproject.toml
  182. +27 −0 test-crates/pyo3-mixed-with-path-dep/src/lib.rs
  183. +7 −0 test-crates/pyo3-mixed-with-path-dep/tests/test_pyo3_mixed_with_path_dep.py
  184. +7 −0 test-crates/pyo3-mixed-with-path-dep/tox.ini
  185. +14 −0 test-crates/pyo3-mixed-workspace/README.md
  186. +7 −0 test-crates/pyo3-mixed-workspace/check_installed/check_installed.py
  187. +20 −0 test-crates/pyo3-mixed-workspace/pyproject.toml
  188. +195 −0 test-crates/pyo3-mixed-workspace/rust/Cargo.lock
  189. +6 −0 test-crates/pyo3-mixed-workspace/rust/Cargo.toml
  190. +7 −0 test-crates/pyo3-mixed-workspace/rust/pyo3-mixed-workspace/Cargo.toml
  191. +3 −0 test-crates/pyo3-mixed-workspace/rust/pyo3-mixed-workspace/src/lib.rs
  192. +14 −0 test-crates/pyo3-mixed-workspace/rust/python/pyo3-mixed-workspace-py/Cargo.toml
  193. +15 −0 test-crates/pyo3-mixed-workspace/rust/python/pyo3-mixed-workspace-py/src/lib.rs
  194. +6 −0 test-crates/pyo3-mixed-workspace/src/pyo3_mixed_workspace/__init__.py
  195. 0 test-crates/pyo3-mixed-workspace/src/pyo3_mixed_workspace/python_module/__init__.py
  196. +5 −0 test-crates/pyo3-mixed-workspace/src/pyo3_mixed_workspace/python_module/double.py
  197. +7 −0 test-crates/pyo3-mixed-workspace/src/tests/test_pyo3_mixed.py
  198. +7 −0 test-crates/pyo3-mixed-workspace/tox.ini
  199. +1 −0 test-crates/pyo3-mixed/.gitignore
  200. +50 −149 test-crates/pyo3-mixed/Cargo.lock
  201. +2 −2 test-crates/pyo3-mixed/Cargo.toml
  202. +3 −0 test-crates/pyo3-mixed/pyo3_mixed/assets/asset.txt
  203. +5 −1 test-crates/pyo3-mixed/pyproject.toml
  204. +1 −1 test-crates/pyo3-mixed/src/lib.rs
  205. +21 −131 test-crates/pyo3-no-extension-module/Cargo.lock
  206. +1 −1 test-crates/pyo3-no-extension-module/Cargo.toml
  207. +50 −149 test-crates/pyo3-pure/Cargo.lock
  208. +1 −1 test-crates/pyo3-pure/Cargo.toml
  209. +1 −1 test-crates/pyo3-pure/pyproject.toml
  210. +1 −1 test-crates/pyo3-pure/src/lib.rs
  211. +176 −0 test-crates/readme-duplication/Cargo.lock
  212. +6 −0 test-crates/readme-duplication/Cargo.toml
  213. +1 −0 test-crates/readme-duplication/README.md
  214. +6 −0 test-crates/readme-duplication/check_installed/check_installed.py
  215. +14 −0 test-crates/readme-duplication/readme-py/Cargo.toml
  216. +1 −0 test-crates/readme-duplication/readme-py/README.md
  217. +10 −0 test-crates/readme-duplication/readme-py/pyproject.toml
  218. +8 −0 test-crates/readme-duplication/readme-py/src/lib.rs
  219. +393 −0 test-crates/readme-duplication/readme-rs/Cargo.lock
  220. +5 −0 test-crates/readme-duplication/readme-rs/Cargo.toml
  221. 0 test-crates/readme-duplication/readme-rs/src/lib.rs
  222. +77 −106 test-crates/sdist_with_path_dep/Cargo.lock
  223. +1 −2 test-crates/sdist_with_path_dep/Cargo.toml
  224. +1 −1 test-crates/sdist_with_path_dep/pyproject.toml
  225. +4 −129 test-crates/sdist_with_path_dep/src/lib.rs
  226. +77 −115 test-crates/sdist_with_target_path_dep/Cargo.lock
  227. +1 −2 test-crates/sdist_with_target_path_dep/Cargo.toml
  228. +1 −1 test-crates/sdist_with_target_path_dep/pyproject.toml
  229. +4 −129 test-crates/sdist_with_target_path_dep/src/lib.rs
  230. +139 −109 test-crates/uniffi-mixed/Cargo.lock
  231. +2 −2 test-crates/uniffi-mixed/Cargo.toml
  232. +2 −2 test-crates/uniffi-mixed/pyproject.toml
  233. +726 −0 test-crates/uniffi-multiple-binding-files/Cargo.lock
  234. +17 −0 test-crates/uniffi-multiple-binding-files/Cargo.toml
  235. +7 −0 test-crates/uniffi-multiple-binding-files/check_installed/check_installed.py
  236. +9 −0 test-crates/uniffi-multiple-binding-files/mylib/Cargo.toml
  237. +11 −0 test-crates/uniffi-multiple-binding-files/mylib/src/lib.rs
  238. +6 −0 test-crates/uniffi-multiple-binding-files/src/lib.rs
  239. +2 −0 test-crates/uniffi-multiple-binding-files/uniffi.toml
  240. +717 −0 test-crates/uniffi-pure-proc-macro/Cargo.lock
  241. +20 −0 test-crates/uniffi-pure-proc-macro/Cargo.toml
  242. +7 −0 test-crates/uniffi-pure-proc-macro/check_installed/check_installed.py
  243. +3 −0 test-crates/uniffi-pure-proc-macro/pyproject.toml
  244. +6 −0 test-crates/uniffi-pure-proc-macro/src/lib.rs
  245. +5 −0 test-crates/uniffi-pure-proc-macro/test_uniffi_pure.py
  246. +3 −0 test-crates/uniffi-pure-proc-macro/uniffi-bindgen.rs
  247. +2 −0 test-crates/uniffi-pure-proc-macro/uniffi.toml
  248. +139 −109 test-crates/uniffi-pure/Cargo.lock
  249. +2 −2 test-crates/uniffi-pure/Cargo.toml
  250. +2 −2 test-crates/uniffi-pure/pyproject.toml
  251. +4 −12 test-crates/update_readme.py
  252. +3 −2 test-crates/with-data/pyproject.toml
  253. +1 −1 test-crates/with-data/with_data.data/data/data_subdir/hello.txt
  254. +44 −146 test-crates/workspace-inheritance/Cargo.lock
  255. +1 −1 test-crates/workspace-inheritance/python/Cargo.toml
  256. +1 −1 test-crates/workspace-inheritance/python/pyproject.toml
  257. +1 −1 test-crates/workspace-inheritance/python/src/lib.rs
  258. +176 −0 test-crates/workspace-inverted-order/Cargo.lock
  259. +17 −0 test-crates/workspace-inverted-order/Cargo.toml
  260. +3 −0 test-crates/workspace-inverted-order/README.md
  261. +6 −0 test-crates/workspace-inverted-order/check_installed/check_installed.py
  262. +13 −0 test-crates/workspace-inverted-order/path-dep-with-root/Cargo.toml
  263. +1 −0 test-crates/workspace-inverted-order/path-dep-with-root/README.md
  264. +8 −0 test-crates/workspace-inverted-order/path-dep-with-root/pyproject.toml
  265. +12 −0 test-crates/workspace-inverted-order/path-dep-with-root/src/lib.rs
  266. +2 −0 test-crates/workspace-inverted-order/pyproject.toml
  267. +1 −0 test-crates/workspace-inverted-order/src/lib.rs
  268. +1 −1 test-crates/workspace/Cargo.toml
  269. +1 −1 test-crates/workspace/Readme.md
  270. +1 −1 test-crates/workspace/py/pyproject.toml
  271. +42 −144 test-crates/workspace_with_path_dep/Cargo.lock
  272. +0 −6 test-crates/workspace_with_path_dep/pyproject.toml
  273. +1 −1 test-crates/workspace_with_path_dep/python/Cargo.toml
  274. +3 −0 test-crates/workspace_with_path_dep/python/pyproject.toml
  275. +1 −1 test-crates/workspace_with_path_dep/python/src/lib.rs
  276. +7 −0 test-crates/wrong-python-source/Cargo.lock
  277. +9 −0 test-crates/wrong-python-source/Cargo.toml
  278. +7 −0 test-crates/wrong-python-source/pyproject.toml
  279. 0 test-crates/wrong-python-source/python/run_this/__init__.py
  280. +1 −0 test-crates/wrong-python-source/src/bin/run_this.rs
  281. 0 test-crates/wrong-python-source/src/lib.rs
  282. +1 −1 test-dockerfile.sh
  283. +46 −42 tests/cmd/build.stdout
  284. +53 −38 tests/cmd/develop.stdout
  285. +15 −2 tests/cmd/generate-ci.stdout
  286. +27 −7 tests/cmd/init.stdout
  287. +14 −2 tests/cmd/list-python.stdout
  288. +17 −5 tests/cmd/maturin.stdout
  289. +27 −7 tests/cmd/new.stdout
  290. +52 −39 tests/cmd/publish.stdout
  291. +9 −0 tests/cmd/sdist.stdout
  292. +18 −0 tests/cmd/upload.stdout
  293. +41 −25 tests/common/develop.rs
  294. +51 −7 tests/common/errors.rs
  295. +122 −36 tests/common/integration.rs
  296. +43 −5 tests/common/mod.rs
  297. +60 −17 tests/common/other.rs
  298. +2 −4 tests/manylinux_compliant.sh
  299. +3 −5 tests/manylinux_incompliant.sh
  300. +388 −165 tests/run.rs
43 changes: 5 additions & 38 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -4,12 +4,12 @@ env:
CARGO_TERM_COLOR: always
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse

build_and_test: &BUILD_AND_TEST
# only run tasks on pull request or bors related branches
only_if: $CIRRUS_BRANCH == 'staging' || $CIRRUS_BRANCH == 'trying' || $CIRRUS_PR != ""
build_and_test:
&BUILD_AND_TEST # only run tasks on pull request or github merge queue branches
only_if: $CIRRUS_BRANCH =~ 'gh-readonly-queue/.*' || $CIRRUS_PR != ""
setup_script:
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable
- rustup target add wasm32-wasi
- rustup target add wasm32-wasip1
- python3 -m pip install --upgrade cffi virtualenv
build_script:
- cargo build
@@ -19,7 +19,7 @@ build_and_test: &BUILD_AND_TEST
freebsd_task:
name: Test (x86_64 FreeBSD)
freebsd_instance:
image_family: freebsd-13-1
image_family: freebsd-14-0
env:
PATH: $HOME/.cargo/bin:$PATH
target_cache:
@@ -31,36 +31,3 @@ freebsd_task:
- pkg install -y bash git python
- python3 -m ensurepip
<<: *BUILD_AND_TEST

macos_arm64_task:
name: Test (arm64 macOS)
macos_instance:
image: ghcr.io/cirruslabs/macos-monterey-xcode
env:
PATH: $HOME/.cargo/bin:/opt/homebrew/opt/python@3.10/bin:$PATH
target_cache:
folder: target
fingerprint_script:
- echo $CIRRUS_OS
- cat Cargo.lock
install_script:
- brew install python3
- python3 -m pip install uniffi-bindgen==0.23.0
<<: *BUILD_AND_TEST

linux_aarch64_task:
name: Test (arm64 Linux)
arm_container:
image: python:3.11
cpu: 4
memory: 4G
env:
PATH: /root/.cargo/bin:$PATH
target_cache:
folder: target
fingerprint_script:
- echo $CIRRUS_OS
- cat Cargo.lock
install_script:
- python3 -m pip install uniffi-bindgen==0.23.0
<<: *BUILD_AND_TEST
2 changes: 1 addition & 1 deletion .codespellrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[codespell]
ignore-words-list = crate
ignore-words-list = crate,socio-economic
skip = ./.git,./target,./test-crates/venvs,./guide/book
2 changes: 1 addition & 1 deletion .config/nextest.toml
Original file line number Diff line number Diff line change
@@ -5,4 +5,4 @@ slow-timeout = { period = "60s", terminate-after = 30 }
[[profile.default.overrides]]
# See https://nexte.st/book/threads-required.html
filter = 'test(/_uniffi_/)'
threads-required = "num-cpus"
threads-required = "num-cpus"
22 changes: 22 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "maturin",
"image": "mcr.microsoft.com/devcontainers/rust:bullseye",
"postCreateCommand": "bash .devcontainer/post_create.sh",
"customizations": {
"vscode": {
"extensions": [
"ms-python.black-formatter",
"rust-lang.rust-analyzer",
"charliermarsh.ruff"
],
"settings": {
"editor.formatOnSave": true
}
}
},
"features": {
"ghcr.io/devcontainers/features/sshd:1": {
"version": "latest"
}
}
}
12 changes: 12 additions & 0 deletions .devcontainer/post_create.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
set -euxo pipefail

sudo apt-get update
sudo apt-get install -y python3-dev python3-pip python3-venv libclang-dev
sudo python3 -m pip install cffi virtualenv pipx

pipx ensurepath
pipx install uniffi-bindgen
pipx install cargo-deny

rustup target add wasm32-wasip1
curl -LsSf https://get.nexte.st/latest/linux | tar zxf - -C ${CARGO_HOME:-~/.cargo}/bin
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -14,4 +14,4 @@ ci
sysconfig
test-crates
test-data
test-dockerfile.sh
test-dockerfile.sh
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -4,11 +4,11 @@ about: Suggest an idea for this project
labels: [enhancement]
---

<!--
<!--
Thank you for sharing your idea!
Please describe your idea in depth. If you're not sure what to write, imagine the following:
- How is this important to you? How would you use it?
- Can you think of any alternatives?
- Do you have any ideas about how it can be implemented? Are you willing/able to implement it? Do you need mentoring?
-->
-->
2 changes: 1 addition & 1 deletion .github/bors.toml
Original file line number Diff line number Diff line change
@@ -9,4 +9,4 @@ status = [
"Test (arm64 macOS)",
"Test (arm64 Linux)"
]
timeout_sec = 21600
timeout_sec = 21600
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -9,6 +9,10 @@ updates:
directory: "/" # Location of package manifests
schedule:
interval: "monthly"
groups:
crates-io:
patterns:
- "*"

- package-ecosystem: "github-actions"
directory: "/"
26 changes: 5 additions & 21 deletions .github/workflows/clear-cache.yml
Original file line number Diff line number Diff line change
@@ -10,26 +10,10 @@ jobs:
clear-cache:
name: Clean Cache
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ github.token }}
steps:
- name: Clear cache
uses: actions/github-script@v6
with:
script: |
while (true) {
const caches = await github.rest.actions.getActionsCacheList({
owner: context.repo.owner,
repo: context.repo.repo,
})
if (caches.data.actions_caches.length === 0) {
break
}
for (const cache of caches.data.actions_caches) {
console.log('Deleting ' + cache.key)
github.rest.actions.deleteActionsCacheById({
owner: context.repo.owner,
repo: context.repo.repo,
cache_id: cache.id,
})
}
}
console.log("Clear cache completed")
run: |
gh cache delete --all --repo "$GITHUB_REPOSITORY"
echo "cache cleared"
12 changes: 6 additions & 6 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -14,8 +14,8 @@ jobs:
name: Docker Hub
url: https://ghcr.io/pyo3/maturin
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
@@ -29,23 +29,23 @@ jobs:
- name: Setup QEMU
if: ${{ steps.changes.outputs.changed == 'true' || startsWith(github.ref, 'refs/tags/') }}
uses: dbhi/qus/action@main
- uses: docker/setup-buildx-action@v2
- uses: docker/setup-buildx-action@v3
if: ${{ steps.changes.outputs.changed == 'true' || startsWith(github.ref, 'refs/tags/') }}
- uses: docker/metadata-action@v4
- uses: docker/metadata-action@v5
if: ${{ steps.changes.outputs.changed == 'true' || startsWith(github.ref, 'refs/tags/') }}
id: meta
with:
images: ghcr.io/pyo3/maturin
- name: Login to GitHub Container Registry
if: ${{ steps.changes.outputs.changed == 'true' || startsWith(github.ref, 'refs/tags/') }}
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
if: ${{ steps.changes.outputs.changed == 'true' || startsWith(github.ref, 'refs/tags/') }}
uses: docker/build-push-action@v4
uses: docker/build-push-action@v6
with:
context: .
platforms: linux/amd64,linux/arm64
38 changes: 38 additions & 0 deletions .github/workflows/downstream.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
on:
workflow_call:
inputs:
repository:
required: true
type: string
manifest-dir:
required: true
type: string

jobs:
sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Sccache Setup
uses: mozilla-actions/sccache-action@v0.0.7
with:
version: "v0.5.3"
- name: Build maturin
env:
RUST_BACKTRACE: "1"
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
run: cargo build
- uses: actions/checkout@v4
with:
repository: ${{ inputs.repository }}
submodules: 'recursive'
path: downstream
- name: maturin sdist
working-directory: downstream
run: |
../target/debug/maturin sdist --manifest-path ${{ inputs.manifest-dir }}/Cargo.toml -o target/sdist
- name: Build from sdist
working-directory: downstream
run: |
../target/debug/maturin build --manifest-path ${{ inputs.manifest-dir }}/Cargo.toml
91 changes: 0 additions & 91 deletions .github/workflows/lint.yml

This file was deleted.

Loading