Commit Graph

738 Commits

Author SHA1 Message Date
Ashley Anderson b346df56a2
Update CHANGELOG.md
I'm not sure how I messed this up merging the changelog in #2477. Sorry!

I guess chalk it up as more evidence that #2337 would be a welcome improvement.
2022-08-10 16:14:22 -04:00
Ashley Anderson 5d88e1d1c4
Update PyTryFrom for PyMapping and PySequence to more accurately check types (#2477)
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-08-10 21:03:18 +01:00
David Hewitt 78ba70d2b4 pymodule: only allow initializing once per process 2022-08-09 19:52:25 +01:00
messense 8bc86c39eb
Merge pull request #2538 from davidhewitt/emscripten-link-args
pyo3-build-config: add link args for wasm32-unknown-emscripten
2022-08-07 10:57:56 +08:00
dswij 480fe7ef05
Expose `PyDict_GetItemWithError` on `PyDict` object (#2536)
* Expose `PyDict_GetItemWithError` on `PyDict` object

* Expose only on non-pypy

* use `unwrap_err` on `GetItemWithError` test

* Add changes info to changelog

* Ignore import for pypy ignored test
2022-08-07 00:19:02 +08:00
David Hewitt 49246bec45 pyo3-build-config: add link args for wasm32-unknown-emscripten 2022-08-06 08:05:45 +01:00
David Hewitt 2aa44b5c16 types: rework PyCapsule for soundness 2022-07-23 20:54:31 +01:00
David Hewitt 2b6d59f889
Merge pull request #2515 from davidhewitt/changelog-tidy
changelog: tidy up & corrections
2022-07-17 07:44:23 +01:00
David Hewitt fa19f322d2
Merge pull request #2503 from davidhewitt/extract_argument_holder
pyfunction: use extract_argument with holder to avoid extractext
2022-07-17 07:14:53 +01:00
David Hewitt a8650f43e0 changelog: tidy up & corrections 2022-07-17 07:11:29 +01:00
messense 3c0520da83
Add FFI definitions for `Py_EnterRecursiveCall` and `Py_LeaveRecursiveCall` (#2511)
* Add FFI definitions for `Py_EnterRecursiveCall` and
`Py_LeaveRecursiveCall`

* Update pyo3-ffi/src/ceval.rs

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-07-15 15:45:15 +08:00
David Hewitt d5e99b635d refactor: remove all 0.15 deprecations 2022-07-15 06:33:14 +01:00
David Hewitt 209c942277 pyfunction: use extract_argument with holder to avoid extractext 2022-07-14 08:42:22 +01:00
messense dfe223619a
Add support for generating PyPy Windows import library 2022-07-14 14:22:33 +08:00
David Hewitt 7babd13830 datetime: support timezone bindings 2022-07-13 22:05:17 +01:00
Jérome Eertmans 308ffa25b0
Prevent `str` from converting to `Vec<&str>` and `Vec<String>` (#2500) 2022-07-13 21:44:44 +01:00
David Hewitt eb2e080f3d
Merge pull request #2492 from davidhewitt/inventory-0.3
inventory: update to 0.3
2022-07-04 22:15:18 +01:00
Ivan Krivosheev 1cd1dbfe8b
Add super object (#2486) 2022-07-03 19:21:15 +01:00
David Hewitt 0391b3b0c1 inventory: update to 0.3 2022-07-03 15:22:25 +01:00
David Hewitt d5ac565f33 security: fix use-after-free in PyCapsule implementation 2022-06-26 07:18:23 +01:00
Andrew Burkett 3fd0c0e142
Fix PyObject_CallNoArgs python version cfg (#2476)
* Fix PyObject_CallNoArgs python version cfg

PyObject_CallNoArgs was added to python 3.9 but not to limited api until 3.10 per https://docs.python.org/3/c-api/call.html#c.PyObject_CallNoArgs

* Update change log

* Fix uses of PyObject_CallNoArgs

Co-authored-by: Andrew Burkett <andrew.burkett@crowdstrike.com>
2022-06-23 21:31:44 +01:00
kngwyu 61e6d684aa Fix a typo in CHANGELOG 2022-06-23 17:45:01 +09:00
Gabriel Smith 75656949f9 macros: Support #[pyo3(name)] on enum variants 2022-06-22 09:36:40 -04:00
Gabriel Smith 2122faa547 macros: Use macro-defined name for enums in __repr__ 2022-06-21 16:31:23 -04:00
Georg Brandl 53b83cccbf
add `CompareOp::matches` (#2460) 2022-06-21 15:36:20 +02:00
David Hewitt 517f4a87a9
Merge pull request #2450 from mejrs/misc
Fix UB in *_offset functions
2022-06-18 08:53:10 +01:00
Ivan Krivosheev f19561c745 Allow #[classattr] take Python argument 2022-06-16 13:08:53 +03:00
mejrs e19c364fc9 Add changelog entry 2022-06-14 12:53:00 +02:00
David Hewitt 7c56a03d64 frompyobject: fix `from_py_with` ignored for transparent structs 2022-06-09 06:49:25 +01:00
David Hewitt 866ddaca8a ffi: tidy descrobject.rs 2022-06-07 19:45:36 +01:00
David Hewitt 6f4e84f25f ffi: more pypy fixes 2022-06-05 09:24:46 +01:00
David Hewitt 9300bff551 ffi: field fixes from pyo3-ffi-check 2022-06-05 08:17:14 +01:00
David Hewitt cdf86482d8 ffi: many fixes to pypy definitions 2022-06-04 12:47:40 +01:00
David Hewitt 0d78e88b14 ffi: fix PyTypeObject definition on Python 3.8 2022-06-04 08:12:27 +01:00
David Hewitt f8a9837c3a ffi: fix PyFrameObject definition 2022-06-02 17:47:23 +01:00
David Hewitt 78cdc6d6ad ffi: many fixes caught by pyo3-ffi-check 2022-06-02 16:32:07 +01:00
David Hewitt c7f13a1f10 CHANGELOG: document #2406 and #2407 2022-06-02 12:42:07 +01:00
David Hewitt 6a9f5fd705 ffi: remove PyArena on 3.10 and up 2022-06-02 09:35:35 +01:00
David Hewitt 6741104762 ffi: fix names of _Base datetime structs 2022-06-02 09:35:35 +01:00
David Hewitt 4090f6b1ae CHANGELOG: document #2414 2022-06-02 08:54:20 +01:00
Alex Gaynor f6a24972e9 Added new PyCode and PyFrame objects.
They currently do not expose any APIs, but are significantly easier to work with than raw pointers :-)
2022-05-31 16:57:10 -04:00
Bruno Kolenbrander 4f9d3d7306
Protect iterators against concurrent modification (#2380) 2022-05-31 20:13:04 +01:00
messense 284c03af62
Add a changelog entry 2022-05-28 16:18:56 +08:00
David Hewitt eafbbc5417
Merge pull request #2399 from davidhewitt/avoid-duplicate-pymethods
pymethods: prevent methods sharing the same name
2022-05-24 22:22:31 +01:00
David Hewitt 879eb14e27
Merge pull request #2395 from davidhewitt/fix-class-raw-ident
macros: fix raw-ident pyclasses having r# at the start of the Python name
2022-05-24 22:08:56 +01:00
David Hewitt 71abeeff8b macros: fix raw-ident pyclasses having r# at the start of the Python name 2022-05-24 21:34:23 +01:00
David Hewitt a306365db8 pymethods: prevent methods sharing the same name 2022-05-24 21:15:30 +01:00
David Hewitt 126bf49b8b
Merge pull request #2377 from herquan/herquan_cr1
Add macro append_to_inittab (issue #2359)
2022-05-24 08:02:47 +01:00
herquan 2ec477344d Add macro append_to_inittab
Sometimes we need to debug in a real environment with our module installed. `append_to_inittab` will be a wrapper for PyImport_AppendInittab (https://docs.python.org/3/c-api/import.html#c.PyImport_AppendInittab) and help us to do this
2022-05-24 07:42:15 +01:00
David Hewitt 0de0e3f8d6 Allow `#[classattr]` methods to be fallible 2022-05-17 21:19:41 +01:00