David Hewitt
7e638e233f
Merge pull request #2371 from indygreg/initconfig-311
...
ffi: add new 3.11 fields to PyConfig
2022-05-15 06:20:16 +01:00
David Hewitt
7a9e70e2c7
wrap_x: change macros back to `macro_rules!`
2022-05-14 20:42:07 +01:00
Gregory Szorc
03cb561d41
ffi: add PyConfig::warn_default_encoding to 3.10+
...
This field was added in 3.10 but we missed it. This was causing
offsets of subsequent fields to be wrong. This could lead to
unexpected behavior or even crashes.
2022-05-13 17:49:58 -07:00
messense
5508de8925
Update changelog for #2364
2022-05-12 14:32:55 +08:00
David Hewitt
1482b526de
types: add dict views ( #2358 )
2022-05-11 20:34:22 +01:00
David Hewitt
10b09297b1
ffi: remove eval.rs
2022-05-11 03:44:27 +01:00
Bruno Kolenbrander
c57e5098b8
Fix IntoPyCallbackOutput paper cuts ( #2326 )
...
* Implement IntoPy for arrays of IntoPy
* Improve `IntoPyCallbackOutput` compile error
2022-05-09 18:15:43 +01:00
David Hewitt
5d8fd4d30e
ffi: remove with_thread cfg
2022-05-05 07:26:05 +01:00
Bruno Kolenbrander
dce4377eb4
Allow more methods to take interned arguments ( #2312 )
...
* Allow more methods to take interned arguments
* Changelog
* Unify name bounds
* Resolve merge conflict
* reduce use of py_decref
* Add some attr tests
* Update migration
2022-05-02 11:13:15 +02:00
David Hewitt
8692b9b54b
Update CHANGELOG.md
2022-04-26 08:09:34 +01:00
David Hewitt
1596ab8a4b
Merge pull request #2333 from davidhewitt/remove-toborrowedobject
...
remove `ToBorrowedObject` trait
2022-04-26 06:23:35 +01:00
David Hewitt
71f9f18d54
remove toborrowedobject trait
2022-04-26 05:48:34 +01:00
cuishuang
19e32a0621
fix some typos
...
Signed-off-by: cuishuang <imcusg@gmail.com>
2022-04-24 22:06:32 +08:00
David Hewitt
7e2d3117ce
cleanup: deprecate PyTypeObject trait
2022-04-23 13:36:32 +01:00
David Hewitt
0787b670e8
pyproto: make deprecated feature opt-in
2022-04-21 20:19:14 +01:00
pigeon
dea9eb7af6
Implement ToPyObject for [T; N] ( #2313 )
2022-04-19 15:09:54 +02:00
David Hewitt
ac56be4e23
Merge pull request #2307 from davidhewitt/0.15.2-changelog
...
changelog: add notes from 0.15.2
2022-04-14 19:50:59 +01:00
David Hewitt
3fe38307b8
changelog: add notes from 0.15.2
2022-04-14 19:16:57 +01:00
Adam Reichold
d2caa056e9
release: 0.16.4
2022-04-14 07:56:42 +01:00
David Hewitt
8cd551fdfc
Merge pull request #2293 from ravenexp/abi3-no-python
...
pyo3-build-config: Build "abi3" extensions without an interpreter
2022-04-14 07:55:53 +01:00
Adam Reichold
c2d44ac7e3
Merge pull request #2263 from pickfire/pytzinfoaccess
...
Add PyTzInfoAccess
2022-04-13 11:16:53 +02:00
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
58b7081274
Use more robust hexadecimal escaping of interpreter configuration.
2022-04-12 20:53:03 +02:00
Ivan Tham
a1f97f164d
Add PyTzInfoAccess
2022-04-13 00:00:08 +08: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
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
Sergey Kvachonok
c84cecc1f7
Add a ChangeLog entry for `generate-abi3-import-lib`
2022-04-10 16:47:18 +03:00
Adam Reichold
10c285b283
Add PyDowncastErrorArguments to delay formatting downcast errors.
2022-04-10 13:13:03 +02:00
David Hewitt
1d9d60a766
ffi: fix segfault in _GET_TZINFO methods
2022-04-10 10:27:50 +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
1ae0971a09
release: 0.16.3
2022-04-05 04:05:57 +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
David Hewitt
981eb2d90e
Merge pull request #2265 from davidhewitt/pyclass-mapping
...
pyclass: mapping flag
2022-04-04 19:54:37 +01:00
Sergey Kvachonok
80675361f4
pyo3-build-config: Add `PYO3_CROSS_PYTHON_IMPLEMENTATION` env var
...
Adds a new cross-compile target interpreter configuration
environment variable.
This feature allows PyO3 to target PyPy on both Windows and Unix
cross compile targets.
2022-04-04 15:23:11 +03:00
Adam Reichold
f777372eed
Limit the intern! macro to strings and intern the string contents in addition to the reference.
2022-04-04 10:11:52 +02:00
Adam Reichold
db109867d3
Add intern! macro which can be used to amortize the cost of creating Python objects by storing them inside a GILOnceCell.
2022-04-03 21:16:42 +02:00
Adam Reichold
d3dcbd72ba
Add PyString::intern to enable access to Python's built-in string interning. ( #2268 )
2022-04-03 21:07:58 +02:00
David Hewitt
c16cc35b30
pyclass: mapping flag
2022-04-02 16:15:44 +01:00
Sergey Kvachonok
2d2b9f5c33
Update the user guide and add a ChangeLog entry
...
Update Architecture.md to reflect the current cross compilation
support state.
2022-04-01 11:32:46 +03:00
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
messense
733a2c68f5
Update changelog entry
2022-03-26 21:27:49 +08: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
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
ad8ffaad2e
Update changelog for parking_lot supported versions
2022-03-22 13:51:58 +08: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
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
Ashley Anderson
03e11184ed
Add changelog entry.
...
Rebased on main.
2022-03-17 11:20:34 -04: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
David Hewitt
52d2c78ae1
pyo3-build-config: fix windows "cross-compile" panic
2022-03-16 13:22:00 +01:00
Adam Reichold
922bbfc92d
release: 0.16.2
2022-03-15 19:20:00 +01:00
Adam Reichold
0c7a13fbe1
Make pyo3-ffi a build dependency of pyo3 to ensure that its build script has finished before pyo3's build script starts.
2022-03-15 12:19:13 +01:00
Alex Gaynor
efc18a4139
fixed formatting in changelog ( #2218 )
2022-03-09 12:59:37 +00:00
David Hewitt
88cd9152b2
pypy: support 7.3.8
2022-03-08 21:09:16 +00:00
David Hewitt
7056bae21f
release: 0.16.1
2022-03-05 16:21:44 +00:00
messense
e4c5698671
Fix up changelog entry for `#2197`
2022-03-04 21:02:55 +08:00
messense
ad2c1af9f7
Merge pull request #2201 from messense/aarch64-apple-darwin
...
Add aarch64-apple-darwin test to CI
2022-03-04 17:48:54 +08:00
Adam Reichold
c339550a56
Merge pull request #2197 from PyO3/bump-hashbrown
...
Extend optional dependency supported versions to include 0.12.
2022-03-04 10:41:50 +01:00
messense
afe5221724
Fix cross compiling to aarch64 macOS
2022-03-04 17:22:50 +08:00
Adam Reichold
2fa91ada40
Extend optional dependency supported versions to include 0.12.
2022-03-04 08:30:15 +01:00
Georg Brandl
6bc8943df5
changelog/guide: visibility is also important for wrap_pyfunction! now
...
Fixes #2202
2022-03-04 07:48:41 +01:00
David Hewitt
84cb8cdb6e
add changelog for 2198
2022-03-03 07:34:01 +00:00
David Hewitt
4c434a21bd
release: 0.16.0
2022-02-27 20:28:51 +00:00
Georg Brandl
dc4f114d67
Address review comments
2022-02-26 20:10:33 +01:00
Georg Brandl
0678f11266
Protocols: implement __getattribute__
...
converting tp_getattro to a shared slot
Fixes #2186
2022-02-26 20:05:50 +01:00
Georg Brandl
03dc96bff1
Py/PyAny: remove PartialEq impl and add is() ( #2183 )
2022-02-25 19:39:45 +00:00
Tommaso Thea Cioni
487345979b
Added `eq`, `ne`, `gt` etc. methods. ( #2175 )
2022-02-25 18:52:20 +01:00
David Hewitt
b84309b67d
ffi: add missing definition PyCMethod_New
2022-02-25 07:28:52 +00:00
David Hewitt
f98f116131
pypy: support released 3.9
2022-02-25 07:28:22 +00:00
David Hewitt
7c865fcc25
Merge pull request #2173 from davidhewitt/deprecate-pyproto
...
pyproto: deprecate protocol traits
2022-02-24 23:54:40 +00:00
Rico Hageman
1839fc208b
Add CHANGELOG.md entry
2022-02-24 00:23:07 +01:00
David Hewitt
24445df633
pyproto: deprecate protocol traits
2022-02-23 07:50:52 +00:00
Rico Hageman
3fbdc863cb
Include the causes when throwing a PyTypeError when argument parsing failed
2022-02-22 09:48:41 +01:00
Rico Hageman
333ebb9872
Add changelog entry
2022-02-21 23:22:56 +01:00
David Hewitt
79123b396c
pyclass: deprecate gc option
2022-02-15 08:01:46 +00:00
David Hewitt
676295b8de
pymethods: support gc protocol
2022-02-15 08:01:23 +00:00
David Hewitt
7851e865ae
Merge pull request #2166 from mejrs/union
...
Implement ml_meth as an union.
2022-02-15 07:55:24 +00:00
mejrs
59412b06e5
Add to changelog
2022-02-14 15:15:05 +01:00
Jacob Zhong
de502f0b08
Update CHANGELOG.md
2022-02-12 13:28:05 -05:00
David Hewitt
c5ef24bbea
fix: memory leak in Option<T>::as_ptr
2022-02-11 22:18:11 +00:00
David Hewitt
c93ee00130
refactor: inline handle_panic into macro output
2022-02-10 20:20:03 +00:00
David Hewitt
0c576964f8
changelog: add 2157
2022-02-09 08:07:14 +00:00
b05902132
78f5afc82e
Finish implementation for pyclass enums
2022-02-07 22:17:11 +00:00
James Hilton-Balfe
b2f9e28331
Add Mapping::contains ( #2133 )
...
* Add Mapping::contains
* Fix typo
* Add a changelog entry
* Use PyAny::contatins instead
* Update mapping.rs
2022-02-06 00:35:43 +00:00
David Hewitt
53c170078d
pymethods: seq methods from mapping methods
2022-02-05 15:59:22 +00:00
David Hewitt
71e5a12fa2
pypy: support fast long conversion
2022-02-05 10:14:14 +00:00
David Hewitt
199cc989d4
Merge pull request #2126 from DSPOM2/main
...
move ffi module to separate crate
2022-01-31 23:27:36 +00:00
DSPOM
6a9a9ba38a
move ffi module to separate crate
2022-01-31 13:27:16 +01:00
mejrs
b56cc3d171
Updated changelog
2022-01-25 00:09:11 +01:00
Ashley Anderson
64c09d870c
Update changelog.
2022-01-19 21:22:08 -05:00
David Hewitt
dc8032a5ff
pyfunction: allow required positional after option
2022-01-11 00:44:41 +00:00
David Hewitt
de8174684f
pyfunction: allow wrap_pyfunction to work on imports (even cross-crate)
2022-01-07 08:43:05 +00:00
David Hewitt
2cee7feaaf
Merge pull request #2083 from aviramha/magic_methods
...
verify py method args count
2022-01-07 00:13:05 +00:00
David Hewitt
be70e5441b
Merge pull request #2085 from davidhewitt/opt-argument-extraction
...
opt: move fastcall boilerplate out of generated code
2022-01-03 08:13:31 +00:00
Aviram Hassan
50659b6b02
`__ipow__` now supports modulo argument on Python 3.8+.
...
`pyo3-macros-backend` is now compiled with PyO3 cfgs to enable different magic method definitions based on version.
Add check for correct number of arguments on magic methods.
2022-01-03 09:53:56 +02:00