Joseph Perez
f9107191f5
docs: add newsfragment
2023-10-29 13:54:10 +01:00
David Hewitt
d895734499
change PyDict::from_sequence
to take just &PyAny
2023-10-20 11:59:26 +01:00
David Hewitt
f12f928bd5
Merge pull request #3514 from messense/memoryview
...
Add `PyMemoryView` type
2023-10-15 15:08:50 +00:00
David Hewitt
aa28cec893
Merge pull request #3507 from orhun/feat/support_smallvec_conversion
...
Add support for `SmallVec` in conversion traits (#3440 )
2023-10-15 14:43:55 +00:00
messense
5b94241bd7
Add PyMemoryView
type
2023-10-15 17:32:09 +08:00
Adam Reichold
7ad122e7d9
Align chrono dev and runtime dependency version specifications.
2023-10-14 09:18:45 +02:00
Orhun Parmaksız
dfeae473e5
Add support for SmallVec
in conversion traits ( #3440 )
2023-10-11 17:14:23 +03:00
David Hewitt
c77deee18e
release: 0.20.0
2023-10-11 14:39:19 +02:00
David Hewitt
76bf521ed0
Merge pull request #3505 from davidhewitt/deprecate_dunder_new
...
deprecate undocumented `#[__new__]` form of `#[new]`
2023-10-10 21:35:10 +00:00
David Hewitt
6c90325a1c
deprecate undocumented #[__new__]
form of #[new]
2023-10-10 08:47:03 +01:00
David Hewitt
c0b5004cfa
Merge pull request #3455 from davidhewitt/normalized-exceptions
...
also use `PyErr::SetObject` on Python versions before 3.12
2023-10-10 07:44:39 +00:00
Erle Carrara
0e0e6623f3
fix _PyFrameEvalFunction. Since python 3.11 it receives a _PyInterpreterFrame
2023-10-09 23:36:01 -03:00
Bruno Kolenbrander
36b4a79930
Merge pull request #3502 from mejrs/interpreterapi
...
add PyInterpreterConfig api
2023-10-08 21:22:01 +00:00
mejrs
0cccb9f64b
add PyInterpreterConfig api
2023-10-08 22:38:11 +02:00
David Hewitt
1158c08f42
error on passing arguments to #[new]
and similar attributes
2023-10-08 21:31:59 +01:00
David Hewitt
cbd7370b20
Merge pull request #3490 from davidhewitt/ffi-marshal-limited
...
disable `marshal.rs` on `Py_LIMITED_API`
2023-10-04 19:05:01 +00:00
David Hewitt
a4b79dc1e5
Merge pull request #3494 from mejrs/slots
...
Update PyModuleDef_Slot types
2023-10-04 06:10:25 +00:00
mejrs
aa011f4a9d
Update PyModuleDef_Slot types
2023-10-03 23:25:45 +02:00
David Hewitt
90cc69ba73
Merge pull request #3488 from davidhewitt/python-3.12
...
support python 3.12
2023-10-03 19:53:20 +00:00
David Hewitt
a1d333a563
emit compile errors on macros inside #[pymethods]
...
Co-authored-by: Bruno Kolenbrander <59372212+mejrs@users.noreply.github.com>
2023-10-02 22:15:29 +01:00
David Hewitt
c80a61ee30
disable marshal.rs
on Py_LIMITED_API
2023-10-02 21:36:17 +01:00
David Hewitt
86fc62c5e7
support python 3.12
2023-10-02 20:57:41 +01:00
David Hewitt
2daddb4734
unify 3.12 and pre-3.12 exception handling pathways
2023-09-30 23:27:27 +01:00
David Hewitt
f335f42197
Merge pull request #3446 from davidhewitt/relax-import-check
...
relax multiple-import check to only prevent subinterpreters
2023-09-29 16:35:31 +00:00
David Hewitt
50cb41dd0b
Merge pull request #3458 from davidhewitt/truncate-leap-seconds
...
truncate leap seconds on `chrono` to `datetime` conversions
2023-09-29 11:47:27 +00:00
David Hewitt
0459532f69
truncate leap seconds on chrono
to datetime
conversions
2023-09-24 20:28:43 +01:00
David Hewitt
1e8833e15e
always normalize exceptions before raising
2023-09-24 13:38:23 +01:00
David Hewitt
f17e703167
return existing module on Python 3.9 and up
2023-09-23 11:13:39 +01:00
David Hewitt
1338020511
relax multiple-import check to only prevent subinterpreters
2023-09-23 11:13:39 +01:00
David Hewitt
5798caf1f8
better Some
-wrapping for default arguments
2023-09-21 21:14:44 +01:00
David Hewitt
bcb01049cc
Merge pull request #3404 from davidhewitt/fix-dealloc
...
call PyObject_GC_Untrack before deallocating
2023-09-11 05:18:34 +00:00
David Hewitt
e28403e772
call PyObject_GC_Untrack before deallocating
2023-09-09 22:29:58 +01:00
David Hewitt
16728c4da2
move PyDict::get_item_with_error to PyDict::get_item
2023-09-09 12:23:06 +01:00
David Hewitt
e67b283b25
Merge pull request #3358 from alex/ptr-unsafe-trait
...
fixes #3325 -- mark `AsPyPointer` as `unsafe trait`
2023-09-04 05:05:56 +00:00
David Hewitt
9e089a5538
fix chrono deprecation warnings
2023-09-02 20:55:53 +01:00
Ryan Lowe
b3cf61cea6
add types for built-in singletons
2023-08-26 08:57:34 -04:00
Adam Reichold
12183ad3ed
Merge pull request #3379 from iliya-malecki/main
...
BigInt speedup
2023-08-19 12:09:28 +00:00
David Hewitt
9336e5b605
Merge pull request #3403 from davidhewitt/ffi-objimpl
...
update definitions for objimpl.h
2023-08-19 12:02:32 +00:00
Adam Reichold
e6293a9608
Merge pull request #3405 from davidhewitt/debug-3.11
...
fix compile warning on pre-3.12 debug builds
2023-08-19 05:25:57 +00:00
David Hewitt
69475b0a83
update definitions for objimpl.h
2023-08-18 22:17:53 +01:00
David Hewitt
7fce07935c
fix compile warning on pre-3.12 debug builds
2023-08-18 22:15:29 +01:00
Adam Reichold
94f15679ab
Merge pull request #3402 from Tpt/io-err-unwrap
...
Unwrap the underlying PyErr when converting an io::Error back to a PyErr
2023-08-18 16:56:53 +00:00
David Hewitt
15388fd53b
Merge pull request #3401 from messense/fix-issue-3400
...
Fix memory leak in `PyTypeBuilder::build`
2023-08-18 14:28:36 +00:00
Alex Gaynor
df5aa77800
fixes #3325 -- mark AsPyPointer
as unsafe trait
2023-08-18 10:16:34 -04:00
Tpt
6d8e8b302f
Unwrap the underlying PyErr when converting an io::Error back to a PyErr
...
Exposes it directly instead of loosing all information outside the message
2023-08-18 15:56:25 +02:00
messense
2dc1e9a2b7
Fix memory leak in PyTypeBuilder::build
2023-08-18 21:13:13 +08:00
David Hewitt
c03c787a91
Merge pull request #3393 from alex/drop-other-trait
...
Remove usage of `AsPyPointer` in `IntoPy<PyObject>` trait implementation
2023-08-18 12:58:07 +00:00
David Hewitt
7f32ed96db
Merge pull request #3396 from Tpt/IntoInnerError
...
Uses io::Error code when converting io::IntoInnerError to PyErr
2023-08-18 08:27:35 +00:00
Tpt
1062f244ea
Pick a relevant ErrorKind when building an io::Error from a OSError subclass
2023-08-17 18:33:51 +02:00
Tpt
7c366cb930
Uses io::Error code when converting io::IntoInnerError to PyErr
2023-08-17 18:25:36 +02:00
Alex Gaynor
9f1b56b659
Remove usage of AsPyPointer
in IntoPy<PyObject>
trait implementation
2023-08-17 07:05:52 -04:00
Iliya Malecki
d1f0561036
added speedy BigInt extraction
2023-08-17 08:15:50 +01:00
Adam Reichold
9363491d54
Merge pull request #3384 from DataTriny/pyclass_rename_variants
...
Add `rename_all` attribute to `#[pyclass]`
2023-08-16 19:06:37 +00:00
David Hewitt
0375d57989
Merge pull request #3391 from alex/drop-trait
...
Remove usage of `AsPyPointer` in traits for convergint to PyObject
2023-08-16 16:39:46 +00:00
Alex Gaynor
c259e77ca2
Remove usage of AsPyPointer
in traits for convergint to PyObject
...
Refs #3358
2023-08-16 07:03:57 -04:00
David Hewitt
eba2c59778
tidy up some file locations after dual licensing
2023-08-16 08:22:51 +01:00
David Hewitt
82b1e55e2b
Merge pull request #3389 from alex/less-as-py-pointer
...
Migrate `PyIterator::from_object` and `PyByteArray::from` from `AsPyPointer` to `&PyAny`
2023-08-15 23:12:28 +00:00
Alex Gaynor
1a904a7429
Migrate PyIterator::from_object
and PyByteArray::from
from AsPyPointer
to &PyAny
2023-08-15 18:03:56 -04:00
DataTriny
b222dbbbcc
Add a release note entry
2023-08-15 23:39:45 +02:00
DataTriny
f02fe9478d
Make rename_all accept a renaming rule, allow applying it to classes as well
2023-08-15 10:15:48 +02:00
David Hewitt
43b37109de
Revert "Fix the pydebug with trace refs and count_allocs for python > 3.7"
...
This reverts commit c780aa931d
.
2023-08-15 08:41:22 +01:00
Alex Gaynor
5061b501a9
Remove IntoPyPointer
...
it wasn't used in any public APIs following #3359
2023-08-14 16:28:20 -04:00
DataTriny
a9e9ec628d
Add attribute to
2023-08-13 18:25:07 +02:00
David Hewitt
a541925f00
Merge pull request #3359 from davidhewitt/py-pointer-methods
...
add as_ptr and into_ptr inherent methods
2023-08-11 19:50:22 +00:00
David Hewitt
8031794f2a
Merge pull request #3378 from GoldsteinE/implicit-builtins
...
add `__builtins__` to globals in `py.run()` if they're missing
2023-08-11 14:11:31 +00:00
Goldstein
0be94a5442
add __builtins__
to globals in py.run()
if they're missing
...
Python code doesn't like to run without `__builtins__`, so adding them
if missing seems to be a good idea. Also that's what CPython >3.10 does.
See https://github.com/python/cpython/pull/24564
Resolves #3370
2023-08-11 15:48:05 +03:00
David Hewitt
5d7dfe2e95
update pydebug.rs for Python 3.12
2023-08-11 11:54:16 +01:00
David Hewitt
64adab1a76
add as_ptr and into_ptr inherent methods
2023-08-11 10:49:42 +01:00
Tpt
dd04d2c4cc
Fixes linking of PyOS_FSPath
on PyPy.
2023-08-09 16:19:17 +02:00
Tpt
1e5a49557d
Makes PathBuf FromPyObject implementation work on all os.PathLike
...
PyOS_FSPath is in abi3-py36
2023-08-08 22:15:56 +02:00
Adam Reichold
a371fbe4f8
Implement DoubleEndedIterator for PyListIterator by caching the length while still validating it before access.
2023-08-07 21:37:50 +02:00
Adam Reichold
4ce3e9649f
Implement DoubleEndedIterator for PyTupleIterator
2023-08-07 21:37:50 +02:00
David Hewitt
284c42d840
release: 0.19.2
2023-08-01 07:29:04 +01:00
David Hewitt
4e957e8bd4
update object.h definitions for Python 3.12
2023-07-30 15:37:06 +01:00
Juniper Tyree
ab783234c8
Added newsfragment
2023-07-29 07:43:17 +00:00
David Hewitt
e2c88d5a4e
optimize float
-> f64
conversions on non-abi3
2023-07-28 20:45:37 +01:00
David Hewitt
34881fc952
add PyAny::downcast_exact
2023-07-28 15:11:56 +01:00
David Hewitt
7a2fc86186
Merge pull request #3342 from davidhewitt/3.12-ffi-check-fixes
...
fix ffi check failures for 3.12.0b4
2023-07-25 11:59:55 +00:00
David Hewitt
655de94749
fix ffi check failures for 3.12.0b4
2023-07-25 08:25:34 +01:00
Adam Reichold
8ce6c26c81
Merge pull request #3334 from davidhewitt/pyerr-display
...
add PyErr::display
2023-07-25 05:56:21 +00:00
David Hewitt
a15614844d
add PyErr::display
2023-07-24 22:14:55 +01:00
Marc Mueller
f8ca456f5f
Add PyType_GetDict for Python 3.12
2023-07-23 17:00:50 +02:00
David Hewitt
ab078258d1
fix exception handling on Python 3.12
2023-07-19 22:33:25 +01:00
Zak Stucke
31b21a71b5
Combined changelog lines
2023-07-19 12:51:14 +03:00
Zak Stucke
f2b7e86e2e
Prevent traceback loss on conversion to and from PyErr
2023-07-19 12:07:41 +03:00
David Hewitt
2e2dde910a
Preserve panic message after exception is normalized
2023-07-18 22:20:41 +01:00
David Hewitt
6f30215566
collect arrays of objects prior to filling tuple in fixed-size conversions
2023-07-16 20:17:02 +01:00
David Hewitt
92b724f64f
normalize exception in PyErr::matches
and PyErr::get_type
2023-07-14 13:18:30 +01:00
Adam Reichold
ff78b92e77
Start adding a performance section to the guide.
2023-07-09 14:32:59 +02:00
David Hewitt
f7f3ff8820
fix FFI definition Py_EnterRecursiveCall
2023-07-05 22:52:41 +01:00
David Hewitt
82712aed32
fix SystemError
raised from PyUnicodeDecodeError_Create
on PyPy 3.10
2023-07-05 11:10:02 +01:00
Adam Reichold
54ab9090be
Merge pull request #3269 from grantslatton/timezone-conversion-bugfix
...
Fix fixed offset timezone conversion bug.
2023-07-04 18:22:13 +00:00
David Hewitt
6666c335e6
add PyState_*Module definitions for PyPy
2023-07-04 08:57:50 +01:00
David Hewitt
7d357ad992
release: 0.19.1
2023-07-03 16:18:24 +01:00
David Hewitt
0e9c041e97
Merge pull request #3289 from davidhewitt/pypy-3.10
...
support PyPy 3.10
2023-07-03 12:53:16 +00:00
David Hewitt
9f2176c126
support PyPy 3.10
2023-07-03 11:26:45 +01:00
Alex Gaynor
0b78bb851e
Allow #[new]
to return existing instances
...
fixes #2384
2023-07-02 19:57:53 -04:00
Adam Reichold
e006b34b5e
Apparently, PySet_Add does not steal a reference, hence we should not forget to clean up ours.
2023-07-02 20:43:43 +02:00
Adam Reichold
afc1d4cc42
Merge pull request #3281 from davidhewitt/set-discard
...
handle exceptions properly in `PySet::discard`
2023-06-28 17:09:01 +00:00
David Hewitt
c0b9502c0e
handle exceptions properly in PySet::discard
2023-06-28 08:54:06 +01:00