Commit Graph

10648 Commits

Author SHA1 Message Date
Victor Stinner 4878da5bd3
PEP 756: Fix buffer format (#3967)
Use the native encoding. "=I" size is 4 bytes on all platforms.
2024-09-16 14:36:10 +02:00
Victor Stinner 5a1529c658
PEP 757: Make PyLong_DigitArray.obj private (#3966) 2024-09-16 13:20:45 +02:00
Eric Traut 02a70341a2
PEP 747: Revised TypeForm specification (#3929)
Co-authored-by: David Foster <david@dafoster.net>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-09-15 15:10:35 -07:00
Victor Stinner 6e8dae04af
PEP 756: Remove flags (#3964) 2024-09-15 14:35:22 +02:00
Victor Stinner 981c37c4bd
PEP 757: Fix typo (#3963) 2024-09-15 14:33:16 +02:00
Sergey B Kirpichev 7bd5c21ca1
PEP 757: minor edits (#3962) 2024-09-14 14:26:39 +02:00
Victor Stinner 5ac83c8cb7
PEP 757: C API to import-export Python integers (#3961) 2024-09-14 11:33:01 +02:00
Victor Stinner e82e1e3f1a
PEP 756: PyUnicode_Export() (#3960) 2024-09-14 11:03:39 +02:00
Alyssa Coghlan e660248bea
PEP 501: Minor editing fixes (#3946)
Also fixes an incorrect comment about the impact
a CPython operand precedence bug will have on the
way template literals interact with regular strings.
2024-09-13 08:53:53 +00:00
Andy Castille 256b644fb3
PEP 744: fix broken links to benchmarking-public images (GH-3953) 2024-09-12 13:31:23 -07:00
Brian Schubert 507d0e53a3
PEP 2026: Fix repeated word typos (#3957)
Fix duplicated words in PEP 2026
2024-09-12 20:30:18 +03:00
Filipe Laíns 🇵🇸 430987f98a
PEP 739: Update based on discussion feedback (#3954) 2024-09-12 02:43:59 +00:00
William Woodruff ce38a96f43
PEP 753: Uniform URLs in core metadata (#3936)
Signed-off-by: William Woodruff <william@yossarian.net>
Co-authored-by: Alyssa Coghlan <ncoghlan@gmail.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-09-10 12:07:31 -07:00
Petr Viktorin 2dd6c9dfee
PEP 7: Allow breaking lines before operators ("Knuth's style") (GH-3931)
As discussed in: https://discuss.python.org/t/62402

It doesn't make much sense for C and Python to be different here,
and the reasons for "Knuth's style" in PEP 8 apply to C code as well.
2024-09-09 16:02:27 +02:00
Ofek Lev 337a97e9ab
PEP 752, 755: update history (#3952)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-09-07 21:25:12 +03:00
Ofek Lev de6c462335
PEP 755: minor touchups (#3951) 2024-09-07 09:26:14 -07:00
Ofek Lev 144038b5b8
PEP 752: minor touchups (#3950) 2024-09-07 09:25:10 -07:00
Łukasz Langa 8fe3ce2fdd
PEP 619: PEP 664: Actual dates for Python 3.10.15 and Python 3.11.10 2024-09-07 11:41:02 +02:00
Łukasz Langa a9fec384f2
PEP 693: PEP 719: Actual dates for 3.12.6 and 3.13.0RC2 2024-09-07 11:38:37 +02:00
Ofek Lev 98f250e6e3
PEP 755: Implicit namespace policy for PyPI (#3947)
* PEP 755: Implicit namespace policy for PyPI

* address feedback

* address
2024-09-06 16:37:41 -07:00
Łukasz Langa 3dc61f086e
PEP 569: PEP 596: Actual dates of 3.8.20 and 3.9.20 2024-09-07 00:56:05 +02:00
Stephen Rosen 2ec2140ec8
PEP 735: expand "How to Teach This" (#3945)
With the addition of `project.dependencies` includes from Dependency
Groups, additions are warranted in the "How to Teach This" section of
the PEP.

Firstly, it is now useful to mention the similarity between a
dependency group and an old-style `setup.py` which reads either as

    setup(install_requires=_read_helper("requirements.txt"), ...)

or else as

    requirements = ["foo", ...]
    ...
    setup(install_requires=requirements, ...)

Secondly, discussion of the interfaces for Dependency Groups adds a
dimension to the document. For tool authors, this clarifies that
allowing `project.dependencies` to use includes is necessary for
build backends to declare support, but that there are no other formal
requirements for tools. They will have to decide on interfaces -- and
therefore what it means to support Dependency Groups -- for
themselves. The spec provides only for the data. Additionally, the
consequences for users, and the fact that this allows tools to define
and enforce additional rules (which they must document) are called out
explicitly.

Implicitly, this hints that it is possible for tools to have
conflicting requirements, so that it may become possible for toolA and
toolB to have incompatible or at least orthogonal needs. Due to the
relatively low risk of outright conflicts, and the ability of
responsible tool maintainers to work through such cases if they do
arise, this is not addressed at length.
2024-09-04 16:11:28 -07:00
Stephen Rosen 4660531503
PEP 735: allow core metadata to include groups (#3943)
PEP 735 is expanded here to allow `project.dependencies` and
`project.optional-dependencies` to use Dependency Group Includes. This
allows for includes which help satisfy the use-cases described by the
`--only-deps` pip use-cases.

The changes for this are various:
- support for these includes is added to the rationale section
- a new use case is added, aligned with the `--only-deps` use case
- the spec section is updated to list changes to the `project` table
- backwards compatibility is extended significantly to address
  repackaging concerns as well as dependency analyzers[^1]
- "how to teach this" is also extended to note compatibility and
  repackaging issues
- rejected ideas has added an item on `[build-system.requires]`

[^1]: It may be overstatement to say these concerns are addressed.
They are considered and not dismissed, but it is not clear that any
choices can be made in the spec to address these issues other than to
inform users.

Additionally, one unrelated change is included: the spec now notes
explicitly that extra names and dependency group names can overlap
(this was already possible, implicitly) and instructs tools to decide
on their own how to handle that if they present dependency groups and
extras via a uniform interface.

Co-authored-by: Brett Cannon <brett@python.org>
2024-09-04 14:27:31 -07:00
Alyssa Coghlan 147c58257f
PEP 501: update for tagged strings (#3944)
* switch to lazy conversion specifier processing (includes adding `operator.convert_field`)
* added proposal for `!()` as a new conversion specifier that invokes `__call__` (rather than `__repr__` or `__str__`)
* add `render_text` callback to `TemplateLiteral.render` signature (default value: `str`)
* new protocol: `typing.InterpolationTemplate` (protocol corresponding to the concrete `types.TemplateLiteral` type)
* new protocol: `typing.TemplateText` (equivalent to `Decoded` from PEP 750)
* new protocol: `typing.TemplateField` (inspired by `Interpolation` from PEP 750, with adjustments for eager field evaluation)
* new concrete type: `types.TemplateLiteralText` (equivalent to `DecodedConcrete` from PEP 750)
* new concrete type: `types.TemplateLiteralField` (inspired by `InterpolationConcrete` from PEP 750, with adjustments for eager field evaluation)
* added iteration support to `TemplateLiteral`, producing `TemplateLiteralText` and `TemplateLiteralField` instances in their order of appearance (keeping the "no empty TemplateLiteralText entries" rule from PEP 750)
* change the way `TemplateLiteral` works based on the way PEP 750 works
* added or updated discussion notes about several included and deferred features

Closes #3904
2024-09-04 23:15:40 +10:00
Ofek Lev da41ded5e9
PEP 752: Address feedback, round 3 (#3932)
* PEP 752: Address feedback, round 3

* address feedback
2024-09-03 19:28:55 -07:00
Hugo van Kemenade e5fecd4f9d
PEP 696: Mark as Final (#3941) 2024-09-03 10:24:02 -07:00
Hugo van Kemenade c529e186b3
PEP 702: Mark as Final (#3940) 2024-09-03 09:59:36 -07:00
Hugo van Kemenade 818bac5d1f
PEP 705: Mark as Final (#3938) 2024-09-03 16:53:33 +01:00
Hugo van Kemenade 752fb666bd
PEP 742: Mark as Final (#3937) 2024-09-03 08:34:38 -07:00
Pavel Karateev 77c09421e5
PEP 705: Remove extra `self` parameter from example (#3934) 2024-09-03 08:07:09 -07:00
Victor Stinner d7f551c405
PEP 741: Set Status to Final (#3935)
Update also Implementation links.
2024-09-03 13:37:25 +00:00
Victor Stinner dc700c2cf8
PEP 741: Update options (#3927)
* Remove read-only options:

  * "module_search_paths_set": not useful, always true.
  * "pythonpath_env": get os.environ['PYTHONPATH'] directly.
  * "sys_path_0": only make sense during Python initialization.
  * "_install_importlib", "_init_main", "_is_python_build": private
    options which only make sense during Python initialization.

* Fix related sys API for base_executable and exec_prefix.
* legacy_windows_fs_encoding is Windows only.
* Fix sorting.
2024-09-02 23:19:23 +02:00
khneal 82dfea0b87
PEP 693: Note release of Python 3.12.5 (#3925) 2024-09-01 06:26:46 +01:00
Karolina Surma 4f1c4f7e06
PEP 639: Mark as Provisional (#3928) 2024-08-29 21:30:14 +03:00
Brett Cannon d331db1d21
PEP 639: consuming tools SHOULD reject invalid glob patterns (#3926) 2024-08-29 18:57:26 +03:00
Victor Stinner eb67885d22
PEP 741: Fix typos (#3924) 2024-08-26 19:25:51 +02:00
Victor Stinner d4c9efc883
PEP 741: Update abstract (#3923)
Remove outdated sentence.
2024-08-26 18:56:46 +02:00
Ofek Lev 82f51125a6
PEP 752: Address feedback, round 2 (#3922) 2024-08-24 15:29:27 -07:00
William Woodruff 7fbacdcd9d
PEP 740: clarify that provenance is nullable (#3906)
Signed-off-by: William Woodruff <william@yossarian.net>
2024-08-22 09:00:24 +03:00
Ofek Lev 5ab4c64d7e
PEP 752: Fix terminology markup (#3919) 2024-08-21 16:00:56 -07:00
Ofek Lev cf99b48e63
PEP 752: Add terminology section (#3918)
* PEP 752: Add terminology section

* fix
2024-08-21 15:47:28 -07:00
Ofek Lev 05bf9c5ef1
PEP 752: Address feedback, round 1 (#3916)
* PEP 752: Address feedback, round 1

* address feedback
2024-08-21 12:08:50 -07:00
Karolina Surma 9765fa989f
PEP 639: Character ranges are treated locale-agnostic (#3914)
Co-authored-by: Miro Hrončok <miro@hroncok.cz>
2024-08-20 14:03:18 -07:00
Cornelius Roemer 89ae6e0e30
Fix typos in PEPs using codespell (#3909) 2024-08-20 13:29:32 +03:00
Ofek Lev 99e9a5f4b2
PEP 752: Add more examples (#3912) 2024-08-19 17:58:32 -07:00
Karolina Surma 1f6cac14e0
PEP 639: Make the policy around globs tighter (#3913) 2024-08-19 14:40:33 -07:00
Ofek Lev 0c23a1fe31
PEP 752: Update discussion history (#3911) 2024-08-18 23:17:26 +03:00
Ofek Lev 9247c9872c
PEP 752: Package repository namespaces (#3903)
PEP 752: Package repository namespaces
---------

Co-authored-by: Barry Warsaw <barry@python.org>
2024-08-18 12:07:11 -07:00
Barry Warsaw 5d475023e5
Fix a small typo (#3907) 2024-08-16 18:15:14 -07:00
Hugo van Kemenade a77a621c8d
Update CODEOWNERS (#3905) 2024-08-14 10:56:17 +01:00