-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[pyproject.toml
: part 2] Add vendored deps (tomli
and validate-pyproject
)
#3066
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't review the contents of the vendored code or the auto-generated notices, but overall this looks good to me.
For context, I maintain |
Every help is appreciated! Thanks a lot @blink1073 |
3671541
to
6f2d4fe
Compare
8172065
to
a7f89a8
Compare
6f2d4fe
to
9276edd
Compare
The relative import changes look good to me |
Thank you @blink1073. I decided to rewrite the imports as you suggested, since after a second read of Thank you very much for the review! |
Just an FYI: some changes were made to Tomli specifically with vendoring in mind (for flit_core), If you vendor |
Thanks @hukkin that would help a lot! I have seen these the changes, but since they were not released I decided implemented this logic to be consistent with the same logic setuptools uses when vendoring other packages 😅. |
|
Thank you very much @hukkin! |
a7f89a8
to
6a43bd7
Compare
d1301c8
to
e31b031
Compare
Thank you very much for the review and comments @webknjaz. I spend a long time today implementing the suggested changes, but now that I tried to push I cannot see any of them in the diff 😭. Probably there it was a problems with some rebase conflicts (I was trying to rebase all the branches to make sure all the changes don't cause errors for the following PRs). I will have to revisit again the review later 😢 |
Review addressed and suggestions adopted! Thank you @webknjaz |
6a43bd7
to
0d8820d
Compare
6cab284
to
e440b9f
Compare
pyproject.toml
: part 3] Add vendored deps (tomli
and validate-pyproject
)pyproject.toml
: part 2] Add vendored deps (tomli
and validate-pyproject
)
9ed7109
to
5cf0cdc
Compare
e440b9f
to
93a3905
Compare
5cf0cdc
to
c35a43d
Compare
93a3905
to
4f50d08
Compare
Extra dependencies can be used to support project metadata in `pyproject.toml`.
Extra dependencies can be used to support project metadata in `pyproject.toml`.
Extra dependencies can be used to support project metadata in `pyproject.toml`.
This eventually will allow reading project metadata directly from `pyproject.toml`
In order to minimise dependencies, `validate-pyproject` has the ability to "dump" only the code necessary to run the validations to a given directory. This special strategy is used instead of the default `pip install -t`. The idea of using JSONSchema for validation was suggested in #2671, and the rationale for that approach is further discussed in https://github.com/abravalheri/validate-pyproject/blob/main/docs/faq.rst Using a library such as `validate-pyproject` has the advantage of incentive sing reuse and collaboration with other projects. Currently `validate-pyproject` ships a JSONSchema for the proposed use of `pyproject.toml` as means of configuration for setuptools. In the future, if there is interest, setuptools could also ship its own schema and just use the shared infrastructure of `validate-pyproject` (by advertising the schemas via entry-points).
Enforcing local imports is no longer needed.
Co-authored-by: Sviatoslav Sydorenko <[email protected]>
c35a43d
to
e5d2bc8
Compare
4f50d08
to
7f68bb4
Compare
Some extra dependencies can be used to support
pyproject.toml
configuration. This PR just adds them as vendored packages.Summary of changes
tomli
as vendorised dependency - 3cc64eevalidate-pyproject
as a vendored dependency - d826bd2Pull Request Checklist
changelog.d/
.(See documentation for details)