Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PEP 633: Exploded dependencies for PEP 621 #1595

Merged
merged 57 commits into from
Sep 14, 2020

Conversation

EpicWink
Copy link
Contributor

@EpicWink EpicWink commented Sep 10, 2020

Dependency format proposal for PEP 621; see discussions at: https://discuss.python.org/t/pep-621-how-to-specify-dependencies/4599

Discuss at: https://discuss.python.org/t/dependency-specification-in-pyproject-toml-using-an-exploded-toml-table/5123

TODO:

  • Get a sponsor
  • Add Arun as a co-author

Future:

EpicWink and others added 30 commits September 3, 2020 00:04
* Allow environment markers as keys

* Add white-space before marker separator in PEP 508 conversion

* Add note on reason for marker key transformation

* Add note on 'extra' marker
* Convert optional-deps to table of reqs with extra key

* Fix optional-dependencies in docker-compose example

* Add note on 'for-extras' key
* Add PEP 508 compatibility examples

Initial set of examples demonstrating compatibility with
PEP 508.

* Fix typo in example version constraint

* Add a note for version only dependency

* Add missing new line

* Update vcs examples

* Fix markers example

* Fix missing markers

* Replace for-extras with for-extra
@EpicWink EpicWink marked this pull request as ready for review September 10, 2020 22:38
Copy link
Member

@brettcannon brettcannon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR doesn't have the "let maintainers make changes" checkbox set, so I can't merge these final changes. Add these and then I can merge the PEP!

pep-9999.rst Outdated
Comment on lines 28 to 40
- Easy initial validation via the TOML syntax.

- Easy secondary validation using a schema, for example a `JSON Schema`_.

- Potential for users to guess the keys of given features, rather than
memorising a syntax.

- Users of multiple other popular languages may already be familiar with the
TOML syntax.

- TOML directly represents the same data structures as in JSON, and therefore a
sub-set of Python literals, so users can understand the hierarchy and type of
value
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Easy initial validation via the TOML syntax.
- Easy secondary validation using a schema, for example a `JSON Schema`_.
- Potential for users to guess the keys of given features, rather than
memorising a syntax.
- Users of multiple other popular languages may already be familiar with the
TOML syntax.
- TOML directly represents the same data structures as in JSON, and therefore a
sub-set of Python literals, so users can understand the hierarchy and type of
value
- Easy initial validation via the TOML syntax.
- Easy secondary validation using a schema, for example a `JSON Schema`_.
- Potential for users to guess the keys of given features, rather than
memorising a syntax.
- Users of multiple other popular languages may already be familiar with the
TOML syntax.
- TOML directly represents the same data structures as in JSON, and therefore a
sub-set of Python literals, so users can understand the hierarchy and type of
value

Does this render appropriately with the newlines between the bullet points?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make pep-9999.html doesn't show any issues

Co-authored-by: Brett Cannon <brett@python.org>
@EpicWink EpicWink changed the title Exploded dependencies for PEP 621 PEP 633: Exploded dependencies for PEP 621 Sep 12, 2020
EpicWink and others added 15 commits September 12, 2020 01:05
Co-authored-by: Brett Cannon <brett@python.org>
Co-authored-by: Brett Cannon <brett@python.org>
Co-authored-by: Brett Cannon <brett@python.org>
Co-authored-by: Brett Cannon <brett@python.org>
Co-authored-by: Brett Cannon <brett@python.org>
Co-authored-by: Brett Cannon <brett@python.org>
Co-authored-by: Brett Cannon <brett@python.org>
Co-authored-by: Brett Cannon <brett@python.org>
@brettcannon brettcannon merged commit 19bd96a into python:master Sep 14, 2020
@EpicWink EpicWink deleted the pep-621-exploded-dependencies branch September 15, 2020 02:02
mnm678 pushed a commit to mnm678/peps that referenced this pull request Oct 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants