Commit Graph

4521 Commits

Author SHA1 Message Date
Adam Reichold 0d0089ea29 Remove redundant use statements and add missing calls to add_function in datetime test. 2022-04-13 09:40:16 +02:00
Sergey Kvachonok ae7e1f5ee9 pyo3-build-config: Build "abi3" extensions without an interpreter
Support compiling portable "abi3" extension modules even when
the build host Python interpreter configuration is not available
or the discovered Python interpreter version is not supported.

Maturin already implements this by building "abi3" extension wheels
with `PYO3_NO_PYTHON` environment veriable set for cargo when
an `abi3-py3*` feature is detected.

Closes #2292
2022-04-13 10:40:08 +03:00
Adam Reichold 9e605da761
Merge pull request #2299 from PyO3/hex-intp-cfg
Use more robust hexadecimal escaping of interpreter configuration.
2022-04-12 22:25:40 +02:00
Adam Reichold 58b7081274 Use more robust hexadecimal escaping of interpreter configuration. 2022-04-12 20:53:03 +02:00
David Hewitt 366bcd14fc
Merge pull request #2297 from messense/pip-install-cargo-xwin
Install cargo-xwin from PyPI to speedup CI
2022-04-12 19:38:29 +01:00
Ivan Tham a1f97f164d Add PyTzInfoAccess 2022-04-13 00:00:08 +08:00
mejrs 53a642eda7 Fix ui test 2022-04-12 15:49:23 +02:00
Bruno Kolenbrander bc6bd6099c
Merge branch 'main' into immutable 2022-04-12 14:22:33 +02:00
mejrs b7745dffc8 Fix everything 2022-04-12 14:19:02 +02:00
messense 57412f1a29
Install cargo-xwin from PyPI to speedup CI 2022-04-12 17:04:40 +08:00
David Hewitt cb48557601
Merge pull request #2296 from davidhewitt/print-config-note
build: add hint when PYO3_PRINT_CONFIG is set
2022-04-12 08:27:49 +01:00
David Hewitt fe4edd170a
Merge pull request #2295 from davidhewitt/base-datetimes
ffi: add BaseDateTime and BaseTime definitions
2022-04-12 08:18:36 +01:00
David Hewitt b35fed00d7 build: add hint when PYO3_PRINT_CONFIG is set 2022-04-12 07:54:23 +01:00
David Hewitt 391a375bae ffi: add BaseDateTime and BaseTime definitions 2022-04-12 07:46:38 +01:00
David Hewitt 3b45170824
Merge pull request #2282 from ravenexp/python3-dll-a
pyo3-build-config: Add `python3-dll-a` crate support
2022-04-11 18:54:54 +01:00
Adam Reichold dc5a6702a3
Merge pull request #2291 from PyO3/contributors
Add Nox session to retrieve sorted list of contributors.
2022-04-11 10:08:02 +02:00
Adam Reichold 851e43bc1a Add Nox session to retrieve sorted list of contributors. 2022-04-11 08:57:00 +02:00
Sergey Kvachonok 4347624bd3 Mention `generate-abi3-import-lib` in the features guide
Update the feature list section of the user guide
to include `generate-abi3-import-lib` description.
2022-04-11 09:56:52 +03:00
messense 75ea171927
Use `cargo-xwin` to test windows msvc cross compilation 2022-04-11 00:19:20 +08:00
messense 4ba11f7615
Add a windows msvc cross compilation test 2022-04-10 23:17:21 +08:00
Adam Reichold 551db72b55
Merge pull request #2279 from PyO3/extract-error-is-slow
Add benchmark highlighting the costs of failed calls to FromPyObject::extract.
2022-04-10 17:10:50 +02:00
messense 8368c62858
maturin still requires a Python interpreter on Windows for now
Switch from Python 3.10 to Python 3.8 because I don't want to test with Rust 1.48.0
2022-04-10 22:29:52 +08:00
messense eb6b6457e2
Enable `generate-abi3-import-lib` feature for maturin-starter when abi3
feature is enabled
2022-04-10 22:11:04 +08:00
messense c5ca6d040b
Add Windows abi3 wheel cross comiplation test 2022-04-10 22:05:30 +08:00
Sergey Kvachonok c84cecc1f7 Add a ChangeLog entry for `generate-abi3-import-lib` 2022-04-10 16:47:18 +03:00
Sergey Kvachonok a7c0de3628 Document `generate-abi3-import-lib` crate feature
Update the user guide to describe its applicability to the native
and cross-compilation build scenarios.
2022-04-10 16:45:32 +03:00
Sergey Kvachonok 479fe6781f pyo3-build-config: Add `python3-dll-a` crate support
Automatically generate `python3.dll` import libraries for Windows
compile targets in the build script.

Adds a new PyO3 crate feature `generate-abi3-import-lib` enabling
automatic import library generation.

Closes #2231
2022-04-10 16:45:32 +03:00
David Hewitt e6901e344e
Merge pull request #2289 from davidhewitt/fix-get-tzinfo
ffi: fix segfault in _GET_TZINFO methods
2022-04-10 13:18:40 +01:00
Adam Reichold 10c285b283 Add PyDowncastErrorArguments to delay formatting downcast errors. 2022-04-10 13:13:03 +02:00
Adam Reichold 74e93a2c29 Add benchmark highlighting the costs of failed calls to FromPyObject::extract. 2022-04-10 13:04:27 +02:00
David Hewitt 1d9d60a766 ffi: fix segfault in _GET_TZINFO methods 2022-04-10 10:27:50 +01:00
David Hewitt 2a54641d91
Merge pull request #2288 from ravenexp/fix-py37-abi-version
pyo3-build-config: Use "m" ABI tag for libpython 3.7 by default
2022-04-09 11:52:51 +01:00
Sergey Kvachonok 8f9976ad33 pyo3-build-config: Use "m" ABI tag for libpython-3.7 by default
According to https://bugs.python.org/issue36707, this tag is useless
since version 3.4, but also the default until version 3.8.

For example, Debian 10 ships `libpython3.7m.so`.
2022-04-09 13:28:44 +03:00
David Hewitt 1971dd7a8a
Merge pull request #2286 from RicoHageman/main
Gather test coverage with stable rust
2022-04-08 19:28:13 +01:00
Rico Hageman fe2f83913b Remove nightly toolchain check 2022-04-08 19:23:39 +02:00
David Hewitt 749fe6c4bb
Merge pull request #2285 from PyO3/spin-loop-hint
Replace unhinted spin loops by sleeping events.
2022-04-08 16:15:16 +01:00
Rico Hageman c281275a29 Gather test coverage with stable rust 2022-04-08 14:24:10 +02:00
Adam Reichold 6a4ebbf2d7 Replace unhinted spin loops by sleeping events. 2022-04-08 11:16:40 +02:00
David Hewitt 209221890c
Merge pull request #2284 from mejrs/rust160
Rust 1.60
2022-04-08 07:45:15 +01:00
mejrs 4fc0cdd636 Fix ui test 2022-04-07 23:56:15 +02:00
mejrs 2eb51ceba9 Make clippy happy 2022-04-07 23:14:45 +02:00
David Hewitt d13a4982b5
Merge pull request #2276 from ravenexp/inline-no-python
pyo3-build-config: Inline the `PYO3_NO_PYTHON` switch
2022-04-06 08:31:29 +01:00
Sergey Kvachonok 29476b0d0d pyo3-build-config: Inline the `PYO3_NO_PYTHON` switch
This patch folds the `PYO3_NO_PYTHON` + `abi3` special case into
the existing native and cross compilation code paths.

The cross compilation route is now guaranteed to behave the same
whether `PYO3_NO_PYTHON` is set or not (except for sysconfigdata
discovery for the Unix targets).

The native compilation route now stores the hardcoded abi3 interpreter
configuration in place of the discovered configuration blob.
2022-04-05 17:19:49 +03:00
David Hewitt 0f868e7fa5
Merge pull request #2267 from PyO3/release-0.16.3
release: 0.16.3
2022-04-05 09:20:05 +01:00
David Hewitt 1ae0971a09 release: 0.16.3 2022-04-05 04:05:57 +01:00
David Hewitt 9774a7c1c1
Merge pull request #2273 from PyO3/dog-food-intern
Make use of intern! macro for attribute names used internally
2022-04-05 00:41:35 +01:00
David Hewitt d3ac71a42b
Merge pull request #2269 from PyO3/intern-macro
RFC: Add intern! macro which can be used to amortize the cost of creating Python objects by storing them inside a GILOnceCell.
2022-04-05 00:34:37 +01:00
Adam Reichold f02a060a3d Add a hint on using intern! to Py{,Any}::{set,get}attr. 2022-04-04 23:11:38 +02:00
Adam Reichold 2c95b3abb4 Intern the attribute names used by the derive macro for FromPyObject. 2022-04-04 22:26:14 +02:00
Adam Reichold 5434bbc3f6 Intern the __all__ and __name__ identifiers used by PyModule. 2022-04-04 22:26:14 +02:00