Commit Graph

3712 Commits

Author SHA1 Message Date
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
David Hewitt 2f3592fca8
Merge pull request #1649 from FriendRat/enhanced_extract_type_errors
WIP: Enhanced extract type errors (Issue #1640)
2021-08-02 12:22:11 +01:00
mejrs 88a5eb643f Fix formatting 2021-08-02 13:09:02 +02:00
R2D2 d809e50c9b Replaced require_gil with Python::with_gil in test_frompyobject.rs. Removed all unsafe code from macro generated code. Two other small fixes 2021-08-02 09:49:13 +02:00
mejrs 32f52fca91 remove public python::acquire_gil usage 2021-08-02 01:17:23 +02:00
R2D2 5b8efdd6e2 Refactored to prevent re-acquiring the gil 2021-08-01 22:38:34 +02:00
David Hewitt 5093c2939a
Merge pull request #1749 from davidhewitt/building-distribution-rewrite
guide: rewrite "Building and Distribution" chapter
2021-08-01 19:36:10 +01:00
David Hewitt 582d9c530f build: move print-config into environment variable 2021-08-01 17:26:27 +01:00
David Hewitt 3d3dacf2ac guide: rewrite "Building and Distribution" chapter 2021-08-01 16:59:47 +01:00
David Hewitt 9a69d120b4
Merge pull request #1748 from PyO3/more_doc
some more docstring proofreading
2021-08-01 09:40:51 +01:00
Georg Brandl 9c33c988ed
Apply suggestions from code review
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2021-08-01 10:11:46 +02:00
Georg Brandl aa48e5be7a some more docstring proofreading 2021-08-01 09:05:30 +02:00
David Hewitt fab135c1df
Merge pull request #1747 from PyO3/pycell_doc
pycell: proofread docstrings
2021-08-01 07:43:56 +01:00