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

Unvendor safe dependencies #4758

Draft
wants to merge 9 commits into
base: main
Choose a base branch
from
Draft

Unvendor safe dependencies #4758

wants to merge 9 commits into from

Conversation

jaraco
Copy link
Member

@jaraco jaraco commented Nov 23, 2024

  • Move dependencies with no build- or run-time dependency on Setuptools to natural dependencies.
  • Rename 'vendor' to 'target'
  • Inline the update function.
  • Only vendor the dependencies defined in core.
  • Re-vendor dependencies.
  • Also declare the dependencies as build requirements.
  • Remove test_no_missing_dependencies, as that guarantee no longer holds.
  • Update reference to wheel, no longer vendored.

Summary of changes

Progress toward #2825.

Pull Request Checklist

@jaraco
Copy link
Member Author

jaraco commented Nov 23, 2024

This change will incidentally fix #4483, as now packaging becomes a proper dependency instead of an implicit/hidden one.

@abravalheri
Copy link
Contributor

Hi Jason, thank you very much for having a look on this.

I not 100% sure about the approach. I like the fact that setuptools can bootstrap itself right now without the help of any external tools other than Python stdlib. One of the bootstrap stories in the ecosystem involves installing flit-core, build, installer... I have the impression that an equally viable alternative story with setuptools + pip (with the difference that you are going to have a fully featured environment at that end of the process). That is something nice to have.

One possible alternative is documenting that setuptools should be installed as setuptools[core] whenever outside of the context of [build-system] requires = [...] + raising more informative import errors in the well known scenarios (like importlib-metadata and packaging).

@jaraco
Copy link
Member Author

jaraco commented Nov 23, 2024

Thanks for the feedback. I'm not yet sure how I'm going to proceed with this, but given that the tests aren't yet passing, I'm converting this to a draft.

@jaraco jaraco marked this pull request as draft November 23, 2024 21:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants