Commit Graph

10634 Commits

Author SHA1 Message Date
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
David Foster a6fb1e8d5a
PEP 747: Require TypeExpr(X | Y) syntax to spell value of type TypeExpr[X | Y] (#3893) 2024-08-13 12:17:36 -07:00
Nick Humrich 1696887355
PEP 501: update to template strings proposal (#3047)
* Re-open PEP 501 in consideration of PEP 701
* Switch naming from "interpolation template strings" to "template literal string"
* Add Nick Humrich as co-author

---------

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2024-08-13 02:11:40 +10:00
Adrian Garcia Badaracco 49b5935190
PEP 746: Use an attribute instead of a method (#3892) 2024-08-11 09:49:33 -07:00
Lysandros Nikolaou 5393dd6a15
PEP 750: Fix code example and CPython version in abstract (#3902) 2024-08-11 13:55:15 +02:00
Claudia Pellegrino e684657472
PEP 750: fix specifier mixup so that they are consistent with code example (#3900) 2024-08-11 13:41:19 +02:00
Yoav 3b3af3408c
PEP 750: Add Discussions-To header (#3901) 2024-08-10 12:48:09 -07:00
Jim Baker b1d591f26f
PEP 750: Tag Strings For Writing Domain-Specific Languages (#3858)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Paul Everitt <pauleveritt@me.com>
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
2024-08-09 16:49:09 +02:00
Savannah Ostrowski a9242b65d4
PEP 744: Additional updates from discussion thread (#3861) 2024-08-08 21:43:24 -07:00
Ee Durbin b0ed14cf9d
Update CODEOWNERS (#3899) 2024-08-08 14:33:04 +03:00
Brett Cannon 3b290a721b
PEP 751: address comments (#3898) 2024-08-08 01:22:55 +00:00
Tal Einat 74b07ca545
PEP 661: Small updates (#3897)
* Suggest using e.g. `Literal[MISSING]`
* Minor wording improvements
2024-08-06 15:31:33 +03:00
Alyssa Coghlan 34771adaea
PEP 558: Clarify rationale for locals() snapshots (#3895) 2024-08-05 13:54:25 +10:00
Brett Cannon 85040f7b77
PEP 751: make `packages.multiple-entries` optional (#3894) 2024-08-04 20:36:55 -07:00
Hugo van Kemenade de536ac430
Infra: Remove GNU make-specific directive from Makefile (#3891)
* Remove GNU make-specific directive from Makefile
* Remove deprecated 'make check-links'
2024-08-04 16:31:04 +01:00