Commit graph

4281 commits

Author SHA1 Message Date
Sergey Kvachonok 9b45a19161 pyo3-build-config: Replace TargetInfo with target_lexicon::Triple
Add a new public crate function `cross_compile_from_to()` using
`target_lexicon::Triple` arguments instead of plain strings
used in `cross_compile()`.

Deprecate `pyo3_build_config::cross_compile()` since v0.17.

Attempt to extract common code patterns into methods and standalone
helper functions. Add docstrings to the new private items.
Make some of the new helper functions public within the PyO3 crate
and reuse them in the build scripts.

Add PYO3_CROSS_PYTHON_VERSION parsing unit test.

Add a ChangeLog entry mentioning the new `pyo3-build-config` API.
2022-04-01 09:36:49 +03:00
David Hewitt de060573d3
Merge pull request #2250 from messense/pep573-fns
Add FFI definitions for PEP 573 functions
2022-03-28 03:43:35 +01:00
David Hewitt 9dca5cffbb
Merge pull request #2251 from mityax/main
Add rustimport to tools section in readme
2022-03-28 03:36:34 +01:00
mityax 4d7c84b459
Fix typo 2022-03-26 22:44:17 +05:30
mityax 08a390a397
Add rustimport to tools section in readme 2022-03-26 22:43:11 +05:30
messense 733a2c68f5
Update changelog entry 2022-03-26 21:27:49 +08:00
messense 23e220985a
Mark METH_FASTCALL as limited API on Python 3.10+
0b9c4c6fcf (diff-adb492ab0eb13648d50d0d79e4b6e5517b27f983ab3b21b63e77f54132c98e9dR76)
2022-03-26 21:27:49 +08:00
messense f3f0a612d8
Add FFI definition for PyModule_AddType 2022-03-26 21:27:49 +08:00
messense 92c132569f
Add FFI definitions for PEP 573 functions 2022-03-26 21:27:44 +08:00
David Hewitt 8a21db93f3
Merge pull request #2249 from davidhewitt/gh-pages-ci
ci: avoid race between bench and guide
2022-03-25 11:08:33 +00:00
David Hewitt 35a27a8d04 ci: avoid race between bench and guide 2022-03-25 10:10:54 +00:00
Bruno Kolenbrander 43944aef76
Create a better error message for moving self (#2238) 2022-03-24 10:27:37 +01:00
David Hewitt 16ee22c7cc
Merge pull request #2244 from mejrs/lint-more
Add more lints
2022-03-23 13:40:35 +00:00
mejrs 00ea040834 Feedback 2022-03-23 13:30:32 +01:00
David Hewitt 2813c87eaf
Merge pull request #2092 from aganders3/export-conf
Add export-config feature to pyo3-build-config
2022-03-23 11:16:04 +00:00
mejrs 1b9763fef2 Fix merge conflict 2022-03-23 10:10:35 +01:00
messense 7f62c96ead
Merge pull request #2242 from ravenexp/fix-max-abi3-version
Fix `abi3-py310` feature implementation: use Python 3.10 ABI when available.
2022-03-23 16:55:23 +08:00
Bruno Kolenbrander fb689340b4
Merge branch 'main' into lint-more 2022-03-23 09:34:31 +01:00
David Hewitt 60d42b07b4
Merge pull request #2243 from ravenexp/simple-fastcall
pyo3-macros-backend: Replace `pyo3-build-config` with `abi3` feature
2022-03-23 08:01:34 +00:00
mejrs 6f1cf1b662 Add more lints 2022-03-23 08:07:28 +01:00
Sergey Kvachonok 7a44aa1070 pyo3-macros-backend: Replace pyo3-build-config with abi3 feature
Python 3.6 and older are not supported by the current PyO3 version,
so the removed interpreter version check was a no-op.

`pyo3_build_config::get()` attempts to read a config file from disk
when PyO3 is cross-compiling, which is probably bad for rust-analyzer
and other IDEs that attempt to sandbox the proc macro code.
2022-03-23 09:48:15 +03:00
Sergey Kvachonok 5237000317 pyo3-build-config: Fix abi3-py310 feature
Fix `abi3-py310` feature: use Python 3.10 ABI when available
instead of silently falling back to the 3.9 ABI.
2022-03-23 09:45:25 +03:00
Ashley Anderson 272d2bc0e6
Merge branch 'main' into export-conf 2022-03-22 12:59:54 -04:00
David Hewitt 87c79c0319
Merge pull request #2234 from davidhewitt/pyclass-args-refactor
pyclass: unify pyclass with its pyo3 arguments
2022-03-22 11:38:05 +00:00
David Hewitt 49c1d22606 docs: for #2234 2022-03-22 10:38:36 +00:00
messense 4339214ded
Merge pull request #2239 from zh-jq/patch-v0.16.2
allow to compile with parking_lot 0.12
2022-03-22 14:39:46 +08:00
messense ad8ffaad2e
Update changelog for parking_lot supported versions 2022-03-22 13:51:58 +08:00
messense 0aead58fcd
Fix minimal package version for parking_lot 2022-03-22 13:50:29 +08:00
zhangjingqiang 847ffe563c
allow to compile with parking_lot 0.12 2022-03-22 13:50:25 +08:00
David Hewitt d146a2a80d
Merge pull request #2240 from davidhewitt/syn-patch
macros: fix syn patch version
2022-03-22 03:36:20 +00:00
David Hewitt c734b116f9 macros: fix syn patch version 2022-03-21 23:53:08 +00:00
Ashley Anderson 4a62a62cae Improvements based on code review: API and documentation. 2022-03-21 12:55:39 -04:00
Mo Mirza 143b7d368f
Replace nbsp with space (#2237)
This fixes markdown heading rendering
2022-03-20 16:45:33 +01:00
David Hewitt 5cc3ce99f1 pyclass: unify pyclass with its pyo3 arguments 2022-03-20 08:24:09 +00:00
messense b8dd626194
Merge pull request #2235 from alex/pybytes-as-bytes
Added an as_bytes method for Py<PyBytes>
2022-03-20 12:01:53 +08:00
Alex Gaynor 69655454c1 Added an as_bytes method for Py<PyBytes>
This allows for obtaining a slice that's not lexically bound to the GIL which can be helpful to avoid copying.
2022-03-19 13:28:06 -04:00
Bruno Kolenbrander 16ad15e04f
Expand on xtask (#2176)
* Fix Windows OSError

* Ignore .pyd files

* Put things in modules

* Rename functions to `run`

* Expand on cargo xtask

* Try to work around missing installs

* Run all things by default, but not llvm-cov

* Test msrv

* Fix more OSErrors

* Various refinements and docs

* Various refinements

* Various refinements
2022-03-18 22:13:23 +00:00
Ashley Anderson bbe7a493d6 Refactor to serialize the whole InterpreterConfig into DEP_PYTHON_PYO3_CONFIG 2022-03-17 12:10:38 -04:00
Ashley Anderson 6e0a20c8cf Mention export-config feature in the guide. 2022-03-17 11:20:37 -04:00
Ashley Anderson bc356f23e0 Fix coverage for pyo3-build-config CI ("full" feature) 2022-03-17 11:20:37 -04:00
Ashley Anderson 161d79fae3 Fix test for MSRV 2022-03-17 11:20:37 -04:00
Ashley Anderson 14bd6282ad Add test for export-config round trip. 2022-03-17 11:20:37 -04:00
Ashley Anderson 04b8652612 Fix test on windows (line ending mismatch). 2022-03-17 11:20:37 -04:00
Ashley Anderson ef4b91256d Add tests for run_python_script*. 2022-03-17 11:20:36 -04:00
Ashley Anderson 03e11184ed Add changelog entry.
Rebased on main.
2022-03-17 11:20:34 -04:00
Ashley Anderson cb3effdb96 Additon conditional compilation for InterpreterConfig::from_pyo3_export_config 2022-03-17 11:19:27 -04:00
Ashley Anderson 755bf97fdb Add export-config feature to pyo3-build-config. 2022-03-17 11:19:27 -04:00
messense 3eb654c81c
Merge pull request #2233 from kmp1/build-update
Consider PYTHONFRAMEWORK when cross-compiling
2022-03-17 16:28:12 +08:00
Kevin Phillips 34ff72f6ba Added a test for PYTHONFRAMEWORK 2022-03-17 08:41:26 +01:00
Kevin Phillips 13f13e5ee1 pyo3-build-config: Change for from_sysconfigdata to set the shared property based on PYTHONFRAMEWORK in addition to Py_ENABLE_SHARED in order that a macos Framework build is considered shared just like the logic in from_interpreter 2022-03-17 07:42:29 +01:00