Commit Graph

3466 Commits

Author SHA1 Message Date
David Hewitt a290971759
Merge pull request #1650 from davidhewitt/pymodule-name
pymodule: accept `#[pyo3(name = "...")]` option
2021-06-06 11:11:10 +01:00
messense abd258803e
Merge pull request #1666 from davidhewitt/bench-new-containers
benches: add benchmarks for container creation
2021-06-06 17:58:58 +08:00
Georg Brandl f9a3da3e40
Merge pull request #1668 from PyO3/pylist_fix 2021-06-06 10:52:23 +02:00
Georg Brandl 98461a2ef6 PyList tests: simplify construction 2021-06-06 10:28:15 +02:00
Georg Brandl cb6dedbe62 PyList: fix segfault on get_item with negative indices
See #1667.
2021-06-06 10:19:30 +02:00
David Hewitt 18e0aa17e0 pymodule: accept `#[pyo3(name = "...")]` option 2021-06-06 08:41:20 +01:00
David Hewitt 6b681143cc
Merge pull request #1664 from PyO3/pylist_opt
PyList: remove get_parked_item, use macros for speed on !abi3
2021-06-06 08:31:18 +01:00
David Hewitt d6437af4a5 benches: add benchmarks for container creation 2021-06-06 08:26:20 +01:00
Georg Brandl c57afeb332
Merge pull request #1661 from PyO3/optimize_forwarding
Optimize f(*args, **kwds) function argument "parsing"
2021-06-06 08:27:33 +02: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 bd6788b2fa Argument parsing: optimize the f(*args, **kwds) case.
Use the VARARGS calling convention and just pass through the two objects.
2021-06-06 07:48:38 +02:00
Georg Brandl 4d2c173dbe
Merge pull request #1660 from PyO3/method_defs 2021-06-06 07:47:21 +02:00
Georg Brandl 60862c308b Update changelog entry. 2021-06-06 07:08:23 +02:00
Georg Brandl c670c57ddb Refactor PyMethodDef creation too. 2021-06-06 07:07:48 +02:00
Georg Brandl a8d2649032 Refactor wrapper generation, and enable fastcall for static/class methods. 2021-06-06 07:07:46 +02:00
David Hewitt 4c6d46c86b
Merge pull request #1663 from davidhewitt/ci-3.10-dev
ci: use latest Python 3.10 beta
2021-06-05 19:42:05 +01:00
David Hewitt c342af7138 ci: use latest Python 3.10 beta 2021-06-05 18:58:52 +01:00
David Hewitt bd0aa2cdee
Merge pull request #1659 from davidhewitt/pyo3-pass-module
pyfunction: document `#[pyo3(pass_module)]`
2021-06-05 18:44:48 +01:00
David Hewitt 9b8b133905 pyfunction: document `#[pyo3(pass_module)]` 2021-06-05 17:36:50 +01:00
David Hewitt 51fbf61717
Merge pull request #1658 from davidhewitt/pyo3-text-signature
text_signature: move to `#[pyo3(text_signature = "...")]`
2021-06-05 17:31:32 +01:00
David Hewitt cec4c2d2e9 text_signature: move to `#[pyo3(text_signature = "...")]` 2021-06-05 16:33:03 +01:00
mejrs d344c0a909 Merge branch 'PyO3:main' into num-dependency 2021-06-05 16:11:45 +02:00
mejrs 430fdb4be2 add num_bigint docs 2021-06-05 15:48:57 +02: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
David Hewitt b3d3be600b
Merge pull request #1655 from davidhewitt/bench-tuple-new
bench_tuple: add benchmark for `PyTuple::new`
2021-06-05 09:27:40 +01:00
messense f49f4440b4
Merge pull request #1654 from messense/pathlib
Add support for extracting PathBuf from pathlib.Path
2021-06-05 15:49:30 +08:00
David Hewitt 681f9ccefa bench_tuple: add benchmark for `PyTuple::new` 2021-06-05 08:46:05 +01:00
David Hewitt 3292ccf5e4
Merge pull request #1653 from PyO3/pytuple_fast
PyTuple: use fast macros on !abi3
2021-06-05 08:10:42 +01:00
messense bd1045e289 Add support for extracting PathBuf from pathlib.Path 2021-06-05 14:59:26 +08:00
Georg Brandl 90188c6917 PyTuple: use fast macros on !abi3
They were already defined, but not used so far.
2021-06-05 08:36:40 +02:00
David Hewitt 81934c5684
Merge pull request #1652 from messense/pytest-bench
Run pytest pyo3-benchmarks on CI
2021-06-05 07:21:02 +01:00
David Hewitt 15366b9b48
Merge pull request #1651 from davidhewitt/tuple-get-set
pyclass: allow `#[pyo3(get, set, name = "foo")]`
2021-06-04 19:26:51 +01:00
messense 9bc77400eb Run pytest pyo3-benchmarks on CI 2021-06-04 23:10:48 +08:00
David Hewitt c9ce569d29
Merge pull request #1639 from messense/bench
Add automated continuous benchmarking
2021-06-04 14:34:01 +01:00
messense c4c5324a73 Add automated continuous benchmarking 2021-06-04 20:46:31 +08:00
David Hewitt d011467e63 pyclass: allow `#[pyo3(get, set, name = "foo")]` 2021-06-04 11:30:40 +01:00
David Hewitt 106cf25991
Merge pull request #1645 from mejrs/pyo3get-faq
faq: add section about pyo3(get) cloning fields
2021-06-03 21:41:34 +01:00
mejrs dbf9a91a8b mark toml field as toml 2021-05-31 21:05:52 +02:00
mejrs e2cb176f6c mark non-rust code as text fields 2021-05-31 20:58:38 +02:00
mejrs 63e6d66ffb add faq doctest 2021-05-31 20:55:18 +02:00
mejrs bf2329557e move num_bigint_impl to own module 2021-05-31 20:42:13 +02:00
mejrs 161f1bd678 faq: add section about pyo3(get) cloning fields 2021-05-31 17:16:25 +02:00
Georg Brandl d680fbee0a
Merge pull request #1643 from mejrs/main 2021-05-31 15:14:31 +02:00
mejrs d86559b163 move manual builds to its own header 2021-05-31 12:39:00 +02:00
mejrs 088ad61df2 removed trailing space 2021-05-30 15:48:53 +02:00
mejrs 38642aa397 clarify multiple-pymethods' supported platforms 2021-05-30 14:20:08 +02:00
mejrs ce3b0d1dc0 add renaming method to guide 2021-05-30 14:13:24 +02: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