Skip to content

[Question] Are platform-agnostic lockfiles on the roadmap? #3321

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

Closed
Turakar opened this issue Apr 30, 2024 · 5 comments
Closed

[Question] Are platform-agnostic lockfiles on the roadmap? #3321

Turakar opened this issue Apr 30, 2024 · 5 comments
Labels
question Asking for clarification or support

Comments

@Turakar
Copy link

Turakar commented Apr 30, 2024

The uv README discusses the fact that uv generates platform-specific lockfiles, while other tools like PDM and poetry generate platform-agnostic lockfiles. While uv is able to generate cross-platform lockfiles, the question remains: Does uv plan to at some point be able to create platform-agnostic lockfiles?

At the moment, one would need to manage multiple lockfiles for a cross-platform project. This might be tedious and lead to inconsistencies. However, a unified lockfile might require conditionals, so I think that there is a tradeoff here.

I am interested in your opinions on that topic. Please link instances where this issue has been discussed previously.

@BurntSushi
Copy link
Member

Yes, we are planning to do this. The blog post announcing uv sketches our high level vision. I don't think we've discussed platform-agnostic lock files publicly in any open issues yet because it's still in the very early design phase. But we're looking to tools like Cargo and Poetry for inspiration.

@BurntSushi BurntSushi added the question Asking for clarification or support label Apr 30, 2024
@adminy
Copy link

adminy commented May 2, 2024

would you support poetry lock files? Its a well defined format and if its already present, why not just use it?

@BurntSushi
Copy link
Member

We don't have any plans to support Poetry lock files. As I understand it, Poetry needs to do a second resolution in order to install from the lock file (using the lock file as its "universe"). We're trying to avoid that, and I do believe it will require additional metadata to be in the lock file to accomplish that goal.

But more practically speaking, I don't think Poetry's lock file is well defined? I'm not aware of a spec for it. And we've generally avoided trying to read the config files of other tools. (A lock file isn't the same as a config file, but if the definition of Poetry's lock file is "whatever Poetry implements," then it likely has a similar set of problems as reading other tools' config files. See #1404 for more discussion on that point.)

@adminy
Copy link

adminy commented May 2, 2024

So the only feature that I care about from poetry is the ability to define different packages inside project.toml file. and install just the ones needed per use case. To some extent that is now possible with pip as a builtin now. If uv supports that I'm happy to just switch away from poetry, lock files aside.

@chrisrodrigue
Copy link

I had the same question which was answered here: #3347

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Asking for clarification or support
Projects
None yet
Development

No branches or pull requests

4 participants