Commit Graph

485 Commits

Author SHA1 Message Date
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
Nicholas Sim 7dddb8b0c0 Remove `unsafe` for some safe functions 2021-01-26 17:52:26 +08:00
Matthew Neeley d92f22a7fc Add CHANGELOG entry 2021-01-25 11:49:20 -08:00
kangalioo f135bb046e Add changelog entry 2021-01-21 09:55:32 +01:00
David Hewitt 3de51d59df
Merge pull request #1384 from ijl/pycfunctionfastwithkeyboards
Define _PyCFunctionFastWithKeywords() on CPython 3.7+
2021-01-15 14:50:35 +00:00
David Hewitt 2ada44b7e0
Apply suggestions from review
Co-authored-by: Nicholas Sim <nsim+github@posteo.net>
2021-01-15 12:58:06 +00:00
Nicholas Sim d023338ed5 speculatively add PR number 2021-01-15 18:26:26 +08:00
Nicholas Sim a460f7d287 ffi module cleanup: listobject.h to memoryobject.h 2021-01-15 18:24:45 +08:00
ijl d0145bb4ee Define _PyCFunctionFastWithKeywords() on CPython 3.7+ 2021-01-13 15:44:36 +00:00
David Hewitt 9807ef8ed4 macros-backend: fix raw idents in pymethods 2021-01-12 22:01:11 +00:00
David Hewitt dc7bcdaf9b gil: move finalization from prepare_freethreaded_python to
with_embedded_python_interpreter
2021-01-12 07:44:37 +00:00
David Hewitt 7c61c9b7f9 gil: tidy ups to finalization 2021-01-12 07:42:47 +00:00
Daniil Konovalenko abb5829e9c implement Serialize, Deserialize for Py<T> 2021-01-11 22:19:10 +00:00
David Hewitt d2e87d95f3 release: 0.13.1 2021-01-10 12:20:10 +00:00
konstin 02f3d5cc90 Deprecate functions from PEP 623 2021-01-10 10:18:08 +00:00
David Hewitt 0257acfd08 changelog: add Deprecated sections 2021-01-09 08:45:02 +00:00
David Hewitt b92441cd7c pyclass: fix reference count issue in subclass new 2021-01-08 00:13:49 +00:00
David Hewitt e0c35d17dd auto-initialize: add CHANGELOG and docs 2021-01-04 21:08:08 +00:00
David Hewitt a350dd2c20 build: make include dir optional when targeting Windows 2020-12-31 22:02:29 +00:00
David Hewitt b1012ebb68 build: update for Rust 1.49 2020-12-31 18:16:02 +00:00