Commit Graph

5008 Commits

Author SHA1 Message Date
bors[bot] 239f8e67b8
Merge #2800
2800: allow `**kwargs` to take arguments which conflict with positional-only parameters r=davidhewitt a=davidhewitt

Closes #2799 

I did a little bit of refactoring at the same time, sorry! The bit which changes behaviour is that in the now-factored-out `handle_kwargs` method, if the keyword argument name is found in the positional-only range then the varkeywords handler is now given a chance to accept it. (Lines 387-390 in new `extract_argument.rs`.)

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-12-17 09:51:04 +00:00
bors[bot] 0c686c0db5
Merge #2805
2805: check changelog using nox r=messense a=davidhewitt

I wanted to get the green tick when the `CI-skip-changelog` label was applied 😝 

... and I didn't think it hurt to use the same tech we use for the rest of the pipeline.

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-12-17 07:24:45 +00:00
David Hewitt 9e04398a5e check changelog using nox 2022-12-17 07:23:22 +00:00
David Hewitt 33871b7aea allow **kwargs to take arguments which conflict with positional-only parameters 2022-12-17 07:22:28 +00:00
bors[bot] 7180a0b77c
Merge #2810
2810: CI updates for Rust 1.66 r=davidhewitt a=davidhewitt



Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-12-17 06:16:43 +00:00
David Hewitt 7294e25d17 update clippy allows for new Rust 1.66 lints 2022-12-16 20:59:15 +00:00
David Hewitt f01b245d85 update ui tests for Rust 1.66 2022-12-16 20:56:15 +00:00
bors[bot] 882b9c7aa7
Merge #2806
2806: add .python-version file r=messense a=davidhewitt

This looks like it's recommended for `actions/setup-python` if we don't specify a version in the CI.yml 

It may also be helpful for contributors testing using pyenv?

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-12-15 05:04:58 +00:00
David Hewitt f837ec0fc1 add .python-version file 2022-12-14 21:33:27 +00:00
bors[bot] 389a662506
Merge #2795
2795: accept any iterator for `PySet::new` and `PyFrozenSet::new` r=birkenfeld a=davidhewitt

Closes #2789 

Looks like it's about 20% faster in the case I benchmarked to use `PySet_Add` directly without the intermediate list.

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-12-09 14:54:51 +00:00
mejrs 44310ec7e0 Forward cfgs on pyclass fields to the method defs 2022-12-06 22:38:32 +01:00
David Hewitt 3295e35a4b accept any iterator for `PySet::new` and `PyFrozenSet::new` 2022-12-04 09:54:34 +00:00
David Hewitt 65ead640ee benchmark PySet::new 2022-12-04 08:57:27 +00:00
bors[bot] 55592afdb9
Merge #2771
2771: ci: run pyo3-ffi-check r=davidhewitt a=messense



Co-authored-by: messense <messense@icloud.com>
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-12-03 13:35:05 +00:00
messense 272df32277
Add `publish = false` to pyo3-ffi-check and pytests crate 2022-12-03 21:12:54 +08:00
messense c776792f9d
Allow pyo3-ffi-check failure on PyPy for now 2022-12-03 21:11:40 +08:00
messense 272f7dd07f
Tweak pyo3-ffi-check 2022-12-03 21:11:40 +08:00
David Hewitt a63a782eec
Import pyo3-ffi-check
Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
2022-12-03 21:11:40 +08:00
messense 9a164bac54
ci: run pyo3-ffi-check 2022-12-03 21:11:36 +08:00
bors[bot] 84d68d44ae
Merge #2788
2788: Define _PyErr_ChainExceptions() FFI for CPython r=davidhewitt a=ijl

This appears to be the only way to chain exceptions via the FFI. It was introduced prior to CPython 3.7. It has some description of usage in PEP 490. There was a discussion of whether it should be made stable in BPO 44938.

Co-authored-by: ijl <ijl@mailbox.org>
2022-12-01 18:57:08 +00:00
ijl d5a31706c6 Define _PyErr_ChainExceptions() FFI for CPython
This appears to be the only way to chain exceptions via the FFI. It
was introduced prior to CPython 3.7. It has some description of usage
in PEP 490. There was a discussion of whether it should be made stable
in BPO 44938.
2022-12-01 15:25:56 +00:00
bors[bot] a67c5782e8
Merge #2791
2791: netlify: fix mdbook update r=messense a=davidhewitt

Fixes the following error on netlify builds:

```text
6:34:54 PM: + '[' 'mdbook v0.4.21' '!=' 'mdbook v0.4.22' ']'
6:34:54 PM: + cargo install mdbook@0.4.22
6:34:54 PM:     Updating crates.io index
6:35:00 PM:  Downloading crates ...
6:35:00 PM:   Downloaded mdbook v0.4.22
6:35:00 PM: error: binary `mdbook` already exists in destination
6:35:00 PM: Add --force to overwrite
```

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-11-30 08:47:43 +00:00
David Hewitt 13db7348a6 netlify: fix mdbook update 2022-11-30 08:31:00 +00:00
bors[bot] a71905052e
Merge #2777
2777: ci: remove `github.sha` from concurrency group r=davidhewitt a=messense

Otherwise duplicate workflow runs on staging/trying branches won't be cancelled automatically.

Co-authored-by: messense <messense@icloud.com>
2022-11-24 08:52:10 +00:00
messense 1f6e2c4ee6
ci: remove `github.sha` from concurrency group
Otherwise workflow runs on staging/trying branches won't be cancelled
automatically.
2022-11-24 16:19:58 +08:00
bors[bot] 56f11c252d
Merge #2779
2779: Mention `into_py` in docs for PyTuple::new r=davidhewitt a=hauntsaninja

I'm new to Rust / PyO3, and it took me a little bit to figure this out :-)

Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
2022-11-24 08:14:41 +00:00
Shantanu 95f041281f
Mention `into_py` in docs for PyTuple::new
I'm new to Rust / PyO3, and it took me a little bit to figure this out :-)
2022-11-23 16:34:59 -08:00
bors[bot] 79f8cbd612
Merge #2776
2776: add abi3-py311 feature r=messense a=davidhewitt

Just noticed this was missing.

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-11-23 08:31:57 +00:00
David Hewitt 97487ffbb5 add abi3-py311 feature 2022-11-23 08:08:12 +00:00
bors[bot] 101ac1b78d
Merge #2763
2763: Typos, grammar, code style, etc. r=adamreichold a=birkenfeld



Co-authored-by: Georg Brandl <georg@python.org>
2022-11-23 06:43:54 +00:00
Georg Brandl f1f1ffcdc7 More typos and grammar. 2022-11-23 07:42:53 +01:00
Georg Brandl c91ed70bbc Fix various typos/omissions in guide. 2022-11-23 07:42:17 +01:00
Georg Brandl 5f7d67615c Use PYO3_DOCS_URL in guide-to-rustdoc links. 2022-11-23 07:42:17 +01:00
Georg Brandl 717e09be13 Fix coding style in docstrings. 2022-11-23 07:42:17 +01:00
bors[bot] 08423557d4
Merge #2739
2739: error when `#[pyo3(signature = ())]` used on invalid methods r=davidhewitt a=davidhewitt

A follow-up to #2702 to reject some invalid applications of `#[pyo3(signature = (...))]` attribute, specifically on magic methods and getters / setters / class attributes.

Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-11-22 19:41:27 +00:00
bors[bot] 40340062b2
Merge #2769
2769: PySlice: fix isize->long truncation in initialization r=davidhewitt a=birkenfeld



Co-authored-by: Georg Brandl <georg@python.org>
2022-11-22 19:04:30 +00:00
bors[bot] b485199cfb
Merge #2762
2762: Add a nox task to rustfmt code in the guide r=birkenfeld a=birkenfeld

Also apply it. Two caveats:

1) needs nightly rustfmt to be available
2) not all reformat diffs have been applied; using best judgment for readability


Co-authored-by: Georg Brandl <georg@python.org>
2022-11-22 11:11:19 +00:00
Georg Brandl cbae47d171 PySlice: fix isize->long truncation in initialization
Fixes #2768
2022-11-22 12:04:32 +01:00
bors[bot] d53baed0ca
Merge #2761
2761: ci: configure bors r=messense a=messense

Closes #2710 
Closes #2714 

Co-authored-by: messense <messense@icloud.com>
2022-11-22 08:30:52 +00:00
Georg Brandl a7a53d6c0d Add a nox task to rustfmt code in the guide.
Also apply it. Two caveats:

1) needs nightly rustfmt to be available
2) not all reformat diffs have been applied; using best judgment for readability.
2022-11-22 09:19:40 +01:00
David Hewitt 23fcdf950b
Merge pull request #2767 from saulshanabrook/patch-1
Add link to Python typing docs for type stubs
2022-11-22 08:12:28 +00:00
David Hewitt 4449640afc
Merge pull request #2756 from PyO3/misc
Two smallish cleanups
2022-11-22 08:11:48 +00:00
David Hewitt 4cf56669e5
Merge pull request #2765 from jqnatividad/bump-memoffset
bump memoffset from 0.6.5 to 0.7
2022-11-22 07:49:05 +00:00
Saul Shanabrook 8a75352122
Add link to Python typing docs for type stubs
AFAIK there isn't currently a link to the article on ["Type Stubs"](https://typing.readthedocs.io/en/latest/source/stubs.html) in the official Python static typing documentation. This PR adds a link to this documentation, which is the most comprehensive I have seen around type stubs.
2022-11-21 16:48:43 -05:00
messense 85b4309923
ci: try reusable workflow 2022-11-21 17:30:43 +08:00
messense d6abdc0f63
Merge pull request #2764 from matthewlloyd/patch-1
guide: linkify "Method arguments" in class.md
2022-11-21 11:17:24 +08:00
Joel Natividad 91adca3b04 bump memoffset from 0.6.5 to 0.7 2022-11-20 20:23:11 -05:00
Matthew Lloyd b2014c30aa
guide: linkify "Method arguments" in class.md 2022-11-20 16:33:15 -05:00
Georg Brandl 99c8dea30e Use Python::get_type() instead of PyTypeInfo::type_object()
The former needs one less import and uses a familiar object.
2022-11-20 15:16:18 +01:00
messense b7bbd7b497
ci: configure bors 2022-11-20 21:23:05 +08:00