David Hewitt
0215054012
Merge pull request #1702 from ohadravid/to-python-set-non-default-hashbuilder
...
Make `ToPyObject` impl for `HashSet` accept non-default hashers.
2021-06-27 17:29:00 +01:00
Ohad Ravid
fcffcdfae5
Added size_hint
impls for {PyDict,PyList,PySet,PyTuple}Iterator
s
2021-06-27 16:10:53 +03:00
Ohad Ravid
43fca5dad7
Make ToPyObject
impl for HashSet
accept non-default hashers.
2021-06-27 15:19:01 +03:00
messense
b5b9a480cd
Add wrap_pyfunction
macro to prelude
2021-06-24 22:34:55 +08:00
mejrs
455cc95c54
implement ffi/cpython/pystate ( #1687 )
...
* dont reexport cpython items twice
* add ffi module level doc
* reorder to header file order
* cargo fmt
* implement cpython/pystate
* fix import errors
* make PyInterpreterState opaque
* update changelog
* fix formatting
2021-06-24 20:05:15 +08:00
David Hewitt
a02353ce34
Merge pull request #1679 from messense/error-cause
...
Add support for setting and retrieving exception cause
2021-06-24 07:58:34 +01:00
messense
2bac6c5a3a
Add support for setting and retrieving exception cause
2021-06-23 20:14:49 +08:00
Gabriel Majeri
b048bfa75f
Update the changelog
2021-06-23 15:03:03 +03:00
David Hewitt
f916867375
pyclass: refactor initialization, call native type dealloc
2021-06-23 07:45:51 +01:00
David Hewitt
a290971759
Merge pull request #1650 from davidhewitt/pymodule-name
...
pymodule: accept `#[pyo3(name = "...")]` option
2021-06-06 11:11:10 +01:00
Georg Brandl
98461a2ef6
PyList tests: simplify construction
2021-06-06 10:28:15 +02:00
David Hewitt
18e0aa17e0
pymodule: accept #[pyo3(name = "...")]
option
2021-06-06 08:41:20 +01:00
Georg Brandl
3bebc19e2d
PyList: remove get_parked_item, use macros for speed on !abi3
2021-06-06 07:54:38 +02:00
Georg Brandl
60862c308b
Update changelog entry.
2021-06-06 07:08:23 +02:00
David Hewitt
cec4c2d2e9
text_signature: move to #[pyo3(text_signature = "...")]
2021-06-05 16:33:03 +01:00
David Hewitt
a5810eaffa
Merge pull request #1619 from birkenfeld/fastcall
...
Implement METH_FASTCALL for pyfunctions.
2021-06-05 12:32:16 +01:00
Georg Brandl
3e8d003faf
Implement METH_FASTCALL for pyfunctions and pymethods.
2021-06-05 12:57:22 +02:00
David Hewitt
97d6f15b32
Merge pull request #1626 from alonblade/cross-sysconfig
...
build.rs: if found more than one candidate, filter on arch
2021-06-05 09:29:00 +01:00
messense
bd1045e289
Add support for extracting PathBuf from pathlib.Path
2021-06-05 14:59:26 +08:00
Alon Levy
e5542f2214
pyo3-build-config: if found more than one candidate, filter on arch
...
If we got more then one file, only take those that contain the arch name.
For ubuntu 20.04 with host architecture x86_64 and a foreign architecture of armhf
this reduces the number of candidates to 1:
$ find /usr/lib/python3.8/ -name '_sysconfigdata*.py' -not -lname '*'
/usr/lib/python3.8/_sysconfigdata__x86_64-linux-gnu.py
/usr/lib/python3.8/_sysconfigdata__arm-linux-gnueabihf.py
CHANGELOG.md: add entry for cross-sysconfigdata filter on arch
commit changelog:
1. initial
2. if filtered list is empty, use pre filtered.
3. clippy is_empty and cloned
2021-05-30 10:07:03 +03:00
Erik Johnston
a56f23d7f2
Add changelog entry
2021-05-26 12:23:47 +01:00
David Hewitt
3e87ea3593
pymodule: don't call PyEval_InitThreads
2021-05-25 11:02:16 +01:00
David Hewitt
355bd0c336
pymodule: tidy up module init
2021-05-25 10:54:16 +01:00
David Hewitt
f4dfafa07b
changelog: fix missing bits
2021-05-25 07:32:47 +01:00
David Hewitt
a109640850
pyfn: deprecate name argument
2021-05-20 08:54:29 +01:00
Tim Robinson
50352f9137
Apply review suggestions
2021-05-15 10:34:34 +01:00
Tim Robinson
c803033f5e
Add to CHANGELOG
2021-05-13 13:17:56 +01:00
David Hewitt
4d46abde73
macros: support #[pyo3(name = "...")]
2021-05-07 22:35:52 +01:00
David Hewitt
4613b3dd7e
Merge pull request #1596 from davidhewitt/remove-pytypeinfo-layout
...
type_object: remove layout and base type from PyTypeInfo
2021-05-07 22:32:24 +01:00
David Hewitt
d81abe8344
pyclass: support extending Exception types
2021-05-04 22:00:22 +01:00
David Hewitt
7536554ceb
type_object: remove layout and base type from PyTypeInfo
2021-05-04 21:39:42 +01:00
David Hewitt
3ee84a3c26
Merge pull request #1128 from c410-f3r/array
...
Add support for arbitrary arrays
2021-05-01 16:02:22 +01:00
David Hewitt
c0ff97e525
Merge pull request #1573 from davidhewitt/utc
...
ffi: support PyDateTime_TimeZone_UTC
2021-04-29 22:55:35 +01:00
David Hewitt
7ead166d9d
array: safer implementation of try_create_array
2021-04-26 08:22:14 +01:00
Caio
9bc5089e4b
Add support for arbitrary arrays
2021-04-26 08:22:14 +01:00
David Hewitt
e95e73b55e
ffi: support PyDateTime_TimeZone_UTC
2021-04-22 22:42:57 +01:00
Gregory Szorc
754c27f17d
ffi: Define missing import APIs
...
Co-authored-by: Nicholas Sim <nsim+github@posteo.net>
2021-04-21 21:01:26 +01:00
David Hewitt
48823e22d6
pyproto: deprecate py_methods
2021-04-20 00:21:19 +01:00
David Hewitt
2b9085abdb
build: avoid rebuilds when using clippy in a virtualenv
2021-04-19 09:45:01 +01:00
David Hewitt
eaf75023ed
ffi: prevent segfault with datetime bindings
2021-04-17 11:01:52 +01:00
David Hewitt
aa0b5d8488
buffer: tidy up exceptions
2021-04-12 01:21:48 +01:00
David Hewitt
b7b9f55a93
Merge pull request #1538 from davidhewitt/pypy-3.7
...
pypy: support PyPy 3.7
2021-04-03 07:03:43 +01:00
David Hewitt
5bf0bb80f6
Merge pull request #1539 from davidhewitt/macos-link-args
...
macos: automatically provide required linker arguments
2021-04-03 07:02:33 +01:00
David Hewitt
b213f06df4
macos: automatically provide required linker arguments
2021-04-02 14:18:28 +01:00
David Hewitt
410f61934a
pypy: support PyPy 3.7
2021-04-02 12:11:14 +01:00
David Hewitt
e035b2abcf
pypy: support EnvironmentError, OSError, WindowsError
2021-03-31 08:03:45 +01:00
David Hewitt
2702c33a61
changelog: fix code block
2021-03-28 22:11:15 +01:00
David Hewitt
8ad3827341
Merge pull request #1514 from jameshilliard/cross-env-detection
...
Ensure we are cross compiling when any cross env variables are set.
2021-03-28 12:46:59 +01:00
Sergey Kvachonok
80c747d2c0
Remove pyconfig.h
header parsing
...
The config header parsing code was supposed to be only invoked when
cross-compiling for Windows, but in reality it fails to correctly parse
the config header files shipped with the upstream Python for Windows.
Given that there are now better options for reliable cross-compiling
for Windows such as `PYO3_CROSS_PYTHON_VERSION` or the `abi3-py3*` features,
it should be OK to remove this config for v0.14.
Update the cross-compilation instructions section of the user guide.
Fixes https://github.com/PyO3/pyo3/issues/1337
2021-03-26 09:57:18 +03:00
David Hewitt
93696889d3
Merge pull request #1496 from PyO3/dependabot/cargo/hashbrown-0.11
...
build(deps): update hashbrown requirement from 0.9 to 0.11
2021-03-25 08:01:31 +00:00
David Hewitt
a2788b052d
hashbrown: support 0.9 or 0.11
2021-03-24 22:35:37 +00:00
James Hilliard
2c3e8b1c50
Ensure we are cross compiling when any cross env variables are set.
2021-03-23 05:13:52 -06:00
David Hewitt
246335bee2
Merge pull request #1505 from scalexm/macro
...
Ignore `syn::Type::Group` in `is_python`
2021-03-20 11:09:04 +00:00
David Hewitt
e34e87ad4a
1505: add CHANGELOG and test
2021-03-20 08:36:19 +00:00
Yuji Kanagawa
acff3b1f3e
Merge pull request #1504 from PyO3/pyclass
...
Add tuple and unit struct support for pyclass macro
2021-03-20 16:14:15 +09:00
messense
acd4601d2f
Remove __doc__ from module's __all__
2021-03-20 11:25:36 +08:00
messense
773a371ba5
Add tuple and unit struct support for pyclass macro
2021-03-19 10:17:06 +08:00
David Hewitt
f22fb423cb
Merge pull request #1503 from davidhewitt/main-tweaks
...
main: tweaks from rename
2021-03-17 21:07:58 +00:00
Yuji Kanagawa
6137e3a726
Merge pull request #1456 from davidhewitt/pyclass-impl-flags
...
pyclass: move flags to PyClassImpl
2021-03-17 12:50:49 +09:00
David Hewitt
4d2913dc06
main: tweaks from rename
2021-03-16 22:14:57 +00:00
David Hewitt
b10cefdca2
pymodule: remove call_function etc.
2021-03-14 11:19:55 +00:00
David Hewitt
31c7af2ac7
pyclass: move flags to PyClassImpl
2021-03-13 22:44:53 +00:00
David Hewitt
78080ebbd2
macros-backend: support noargs for pyproto py_methods
2021-03-08 23:56:08 +00:00
David Hewitt
fe75b2da59
Merge pull request #1482 from PyO3/dependabot/cargo/num-complex-0.4
...
build(deps): update num-complex requirement from 0.3 to 0.4
2021-03-08 22:06:51 +00:00
David Hewitt
5e44c2b0d6
Merge pull request #1473 from davidhewitt/initconfig-limited-api
...
ffi: move initconfig.rs to cpython/initconfig.rs
2021-03-08 21:59:58 +00:00
David Hewitt
993d461287
changelog: add entry for num-complex update
2021-03-08 21:35:50 +00:00
David Hewitt
818039ff93
changelog: add entry for num-bigint update
2021-03-08 08:03:05 +00:00
David Hewitt
23b5fe9e69
ffi: add _Py_InitializeMain
2021-03-06 22:45:19 +00:00
Georg Brandl
e065f9b517
PyModule: rename call* to call_function*
...
For consistency with PyObject/PyAny, where call() means to call the
object itself.
2021-03-04 09:29:28 +01:00
David Hewitt
29a525b327
pyfunction: refactor argument extraction
2021-03-01 17:49:46 +00:00
David Hewitt
ffd5874c3a
pyfunction: fix args conflicting with keyword only arg
2021-03-01 17:49:46 +00:00
David Hewitt
9acf242ccc
tuples: support conversions up to length 12
2021-03-01 08:32:13 +00:00
David Hewitt
593be05b83
Merge pull request #1436 from nw0/ffi-8
...
ffi cleanup: abstract.h
2021-02-28 07:55:35 +00:00
Nicholas Sim
d278aaff54
Remove PyIter_Check, PyIndex_Check under abi3 for Python < 3.8
...
While these are defined as macros in the Python C API, they rely on
access to the PyTypeObject structure, which is not part of the limited
API for those versions.
2021-02-28 13:25:22 +08:00
David Hewitt
1aa1e91ce6
pycfunction: take &'static str arguments to new
...
Co-authored-by: messense <messense@icloud.com>
2021-02-27 09:33:15 +00:00
Nicholas Sim
13bfbd38b4
CHANGELOG: update
2021-02-22 23:04:17 +00:00
Nicholas Sim
24f091b8ff
remove cfg for PyTryFrom impl for PyIterator
2021-02-22 23:03:13 +00:00
Nicholas Sim
f7edd35a9e
ffi cleanup: abstract.h
2021-02-22 23:00:51 +00:00
David Hewitt
9e4e0dbbe0
auto-initialize: remove from default features
2021-02-22 22:34:34 +00:00
Daniil Konovalenko
554cffd60d
add #[pyo3(from_py_with="...")] attribute ( #1411 )
...
* allow from_py_with inside #[derive(FromPyObject)]
* split up FnSpec::parse
2021-02-21 00:15:20 +09:00
David Hewitt
0c3517a6e0
ffi: further removals
2021-02-20 07:22:08 +00:00
Nicholas Sim
04c9388a3d
Merge branch 'master' into ffi-6
2021-02-16 19:46:49 +08:00
Nicholas Sim
d8198f8beb
ffi cleanup: remove PyTypeObject_INIT
...
This should only be used internally. See discussion:
https://github.com/PyO3/pyo3/pull/1429#discussion_r575837123
2021-02-16 19:36:15 +08:00
David Hewitt
7fa3b36eb4
Merge pull request #1428 from PyO3/macos-arm64-cross
...
Don't require PYO3_CROSS_LIB_DIR when compiling for x86_64 from macOS arm64 and reverse
2021-02-14 14:06:12 +00:00
David Hewitt
07c7624506
Merge pull request #1379 from kangalioo/master
...
OsStr and Path conversions
2021-02-14 13:13:53 +00:00
Nicholas Sim
031840652c
Merge branch 'master' into ffi-6
2021-02-14 21:00:28 +08:00
Nicholas Sim
a3b1f35767
CHANGELOG: update with PR number
2021-02-14 20:55:58 +08:00
Nicholas Sim
67e1755f9c
ffi cleanup: deprecate some nonexistent functions
2021-02-14 20:44:55 +08:00
David Hewitt
442a04efdd
Merge pull request #1397 from kangalioo/get_fold_bool
...
Make PyTimeAccess::get_fold() return bool instead of u8
2021-02-14 12:17:38 +00:00
messense
ebc52c4aea
Don't require PYO3_CROSS_LIB_DIR when compiling for x86_64 from macOS arm64 and reverse
2021-02-14 16:43:50 +08:00
kangalioo
87ee51fb86
Make PyTimeAccess::get_fold return bool
2021-02-13 20:28:28 +00:00
kangalioo
fe9b4625d1
Implement conversions for Path/PathBuf
2021-02-13 20:22:16 +00:00
David Hewitt
1196cbd396
0.14: deprecations
2021-02-13 20:03:39 +00:00
Nicholas Sim
aaddb20a22
CHANGELOG: update as requested
2021-02-13 17:07:03 +08:00
Nicholas Sim
d34856ba59
CHANGELOG: add PR number
2021-02-13 15:43:12 +08:00
Nicholas Sim
d84d0de604
ffi cleanup: methodobject to moduleobject
2021-02-13 15:36:59 +08:00
David Hewitt
190eb72803
release: 0.13.2
2021-02-12 21:34:29 +00:00
Christoph Reiter
e067b32521
Support building with Mingw Python
...
The DLL of the mingw Python in MSYS2 is named libpython3.8.dll:
$ python3 -m sysconfig | grep LIBPYTHON
LIBPYTHON = "-lpython3.8"
Add another special case to in get_rustc_link_lib() to handle that case.
Afaik the mingw build doesn't support the limited ABI, so skipt that as well.
This makes all tests pass in an MSYS2 environment and lets us build
python-cryptography.
2021-02-12 12:31:20 +00:00
David Hewitt
59dac57689
build: fix support for non-utf8 systems
2021-01-26 23:16:47 +00:00
David Hewitt
3a627587f6
Merge pull request #1404 from nw0/mark-safe
...
Remove `unsafe` for some safe functions
2021-01-26 21:57:49 +00:00