Commit graph

3574 commits

Author SHA1 Message Date
David Hewitt 4eee9009db ci: pin bitflags for MSRV job 2021-08-12 00:27:49 +01:00
David Hewitt bdad08ce6a
Merge pull request #1717 from messense/pyerr-fetch
Change `PyErr::fetch` to return an `Option<PyErr>`
2021-08-12 00:24:15 +01:00
messense 3ba24bee14 PyErr::api_call_failed should return a SystemError when no error is set
17f94e2888/Python/ceval.c (L4330-L4333)
2021-08-11 23:45:09 +01:00
messense 93b25edba1 Use errror_on_minusone more often 2021-08-11 23:44:40 +01:00
messense 9d0b92bf32 Change PyErr::fetch to return an Option<PyErr> 2021-08-11 23:44:40 +01:00
David Hewitt 140c090504
Merge pull request #1780 from davidhewitt/pin-trybuild
ci: downgrade trybuild to 1.0.43
2021-08-11 09:26:41 +01:00
David Hewitt c59f518f76 ci: downgrade trybuild to 1.0.43 2021-08-11 08:39:37 +01:00
David Hewitt 76e79d615c
Merge pull request #1772 from davidhewitt/async-guide-fixes
guide: don't bother doctesting async guide
2021-08-11 00:52:25 +01:00
David Hewitt 290ded4d4e guide: don't bother doctesting async guide 2021-08-10 07:56:36 +01:00
David Hewitt 6a9ef543c1
Merge pull request #1771 from awestlake87/master
Problems with the new Async/Await guide
2021-08-10 07:48:58 +01:00
Andrew J Westlake f4975c6e1d Fixed broken link in async-await.md 2021-08-09 09:07:57 -05:00
David Hewitt ccdc26f971
Merge pull request #1760 from PyO3/release-0.14.2
release: 0.14.2
2021-08-09 09:03:51 +01:00
David Hewitt 1873264b7d release: 0.14.2 2021-08-09 07:58:31 +01:00
David Hewitt 575c448345
Merge pull request #1769 from indygreg/force-acquire-gil
gil: add unsafe variation for obtaining GILGuard without checks
2021-08-09 07:49:06 +01:00
Gregory Szorc 3a6740a459 gil: add unsafe variation for obtaining GIL without checks
GILGuard::acquire() cannot be called during multi-phase Python
interpreter initialization because it calls Py_IsInitialized(),
which doesn't report the interpreter as initialized until all
phases of initialization have completed.

PyOxidizer uses the multi-phase initialization API and needs to
interact with pyo3's high-level APIs (not the FFI bindings) after
partial interpreter initialization, before the interpreter is fully
initialized. Attempts to use GILGuard::acquire() result in a panic
due to the aforementioned Py_IsInitialized() check failing.

This commit refactors the GILGuard logic into a function that
obtains the actual GILGuard and another function to perform
checks before calling the aforementioned functions.

A new unsafe `Python::with_gil_unchecked()` has been defined
to acquire the GIL via the unchecked code path so we may obtain
a `Python` during multi-phase initialization (and possibly other
scenarios).
2021-08-08 15:40:10 -07:00
David Hewitt 91615338ae
Merge pull request #1764 from awestlake87/master
Updated async-await guide for pyo3-asyncio 0.14
2021-08-08 23:14:43 +01:00
David Hewitt edec1f12d6
Merge pull request #1763 from deantvv/ffi-cleanup
clean up ffi from pyframe to pyhash
2021-08-08 23:09:19 +01:00
David Hewitt 473cd5cc4f
Merge pull request #1765 from indygreg/frozen-public
ffi: make _frozen fields public
2021-08-08 23:09:00 +01:00
David Hewitt ac92b79f83
Merge pull request #1768 from indygreg/decodelocale-signature
ffi: fix Py_DecodeLocale() signature
2021-08-08 23:08:45 +01:00
Andrew J Westlake bf23f8bda7 Shortened the async/await guide 2021-08-08 14:58:46 -05:00
David Hewitt 3de5591534
Merge pull request #1767 from indygreg/packagecontext
ffi: define _Py_PackageContext
2021-08-08 19:23:18 +01:00
Gregory Szorc 495ac98eb3 ffi: fix Py_DecodeLocale() signature
Closes #1766.
2021-08-08 10:38:00 -07:00
Gregory Szorc 42eb8f26ae ffi: define _Py_PackageContext
This is needed for PyOxidizer.
2021-08-08 10:35:20 -07:00
Gregory Szorc 9a9362909f ffi: make _frozen fields public
PyOxidizer needs to access these fields.
2021-08-08 08:52:08 -07:00
Andrew J Westlake 9037697bed
Update guide/src/ecosystem/async-await.md
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2021-08-08 10:15:01 -05:00
Andrew J Westlake d578f37f70
Removed "auto-initialize" feature from uvloop example
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2021-08-08 10:13:47 -05:00
Andrew J Westlake 92c3af5088
Forgot to bump another pyo3 version
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2021-08-08 09:59:17 -05:00
Andrew J Westlake dbb956fd4c
Forgot to bump pyo3 version
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2021-08-08 09:59:01 -05:00
Dean Li 19eb3138f2
clean up ffi from pyframe to pyhash 2021-08-08 19:56:11 +08:00
David Hewitt e9cccd74bf
Merge pull request #1577 from davidhewitt/compile-errors-on-coverage
coverage: also run compile_error tests
2021-08-08 08:47:31 +01:00
Andrew J Westlake 5c5a406ce4 Updated async-await guide for pyo3-asyncio 0.14 2021-08-07 22:53:26 -05:00
David Hewitt 1722e3a2ea ci: try cargo-llvm-cov 2021-08-07 23:49:29 +01:00
David Hewitt b6e8da104d coverage: also run compile_error tests 2021-08-07 22:45:07 +01:00
David Hewitt 9a735698df
Merge pull request #1762 from deantvv/fix-compiler-warning
fix compiler warning
2021-08-07 10:51:27 +01:00
Dean Li 03981b373a
add CHANGELOG.md 2021-08-07 16:38:24 +08:00
Dean Li 1086fdb965
fix compiler warning
Fix issue [link](https://github.com/rust-lang/rust/issues/79813) which
will eventually deny trailing semicolons in expression macro in rust compiler.
2021-08-07 16:31:54 +08:00
David Hewitt 10cbba02d9
Merge pull request #1758 from davidhewitt/config-file
pyo3-build-config: support "config files"
2021-08-07 08:09:40 +01:00
David Hewitt 5af835daed pyo3-build-config: fix build for windows gnu targets 2021-08-07 00:25:14 +01:00
David Hewitt 2cf2c2fef9 pyo3-build-config: improve test coverage
[review] birkenfeld

Co-authored-by: Georg Brandl <georg@python.org>
2021-08-06 12:55:03 +01:00
David Hewitt 49387e9a70 pyo3-build-config: many tidy ups 2021-08-05 23:19:43 +01:00
David Hewitt 9507979d93
pyo3-build-config: inline config when not cross compiling 2021-08-04 12:54:45 +01:00
Tom Milligan 20b34a5528 create pyo3 config file directory if not exist 2021-08-04 09:02:10 +01:00
David Hewitt ed994ca44f pyo3-build-config: improve config file format 2021-08-04 09:02:10 +01:00
David Hewitt fcd35c1c3b
Merge pull request #1755 from davidhewitt/macos-link-args
build: revert usage of cargo:rustc-cdylib-link-arg
2021-08-03 22:30:52 +01:00
David Hewitt c2d6a50b35 build: revert usage of cargo:rustc-cdylib-link-arg 2021-08-03 20:04:56 +01:00
David Hewitt 7be6bdd97d
Merge pull request #1754 from davidhewitt/sync-lib-readme-examples
docs: sync README and lib.rs examples
2021-08-03 19:23:57 +01:00
David Hewitt 96ce1ee30c
Merge pull request #1756 from davidhewitt/remove-pypy-workaround
pypy: remove workaround for 7.3.4
2021-08-03 12:40:02 +01:00
David Hewitt b5ca39c4f0 pypy: remove workaround for 7.3.4 2021-08-02 23:11:01 +01:00
David Hewitt b66f539473 docs: sync README and lib.rs examples 2021-08-02 23:03:25 +01:00
David Hewitt 61aaed711d
Merge pull request #1752 from mejrs/with_gil
remove some of python::acquire_gil usage
2021-08-02 19:56:21 +01:00