-
Notifications
You must be signed in to change notification settings - Fork 605
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
FR: Encode flit-core
build backend in uv
#6423
Comments
I’d be happy to implement this myself as a build time job that dynamically downloads and encodes the remote build backend when there’s a new version found. But feel free to close this as an absolutely terrible idea 😄 |
flit-core
build backend in uv
flit-core
build backend in uvflit-core
build backend in uv
There’s a |
I think we'd implement our own build backend before embedding a Python one into uv itself. Related: |
It's a cool idea though. The offline use-case for #3957 is interesting. |
I have previously floated the idea of
uv
defining/providing its own backend (see #3957) since the standard library does not provide this critical capability. I think thathatchling
is a great build backend to use in the meantime and I am happy to see that it has been adopted as the default backend (#5527) when initializing projects.I want to float the idea of base85 (or other more efficient) encoding a default backend in
uv
to bootstrap offline systems with a way to build when utilizing commands such asuv init
oruv sync
. Inspiration for this can be seen in theget-pip.py
bootstrapping script.Not only do I think that encoding/decoding a blessed backend will aid offline users, but I also think that it could improve performance by eliminating downloads for the transient build environment for users who elect to use the provided default.
While
hatchling
is a nice backend, it has numerous dependencies (packaging
,pathspec
,pluggy
,tomli
,trove-classifiers
) that would need to be co-encoded, complicating maintenance and bloating the binary. I thinkflit-core
is a great modern and minimalist alternative since it has no dependencies itself. It supports editable installations and a number of other common tasks.The text was updated successfully, but these errors were encountered: