|
| ▲ | simonw a day ago | parent | next [-] |
| The thing where "uv init" now adds this to pyproject.toml is a bit surprising: [project.scripts]
demo-latest = "demo_latest:main"
What's the rationale for that? My expectation is that few projects would need it.(I have a GitHub repo that captures differences between uv versions, here's today's upgrade: https://github.com/simonw/uv-init-demos/commit/9111a2bb85741...) |
| |
| ▲ | zanie a day ago | parent [-] | | It makes `uv run <project-name>` work by default, I expect most projects to need an entry point. | | |
| ▲ | codethief a day ago | parent [-] | | Nah. I just put a regular `main.py` with some if __name__ == "__main__":
...
in my src/ folder. Done. |
|
|
|
| ▲ | _diyar a day ago | parent | prev | next [-] |
| Maybe a naive question, but any goal / progress towards an ”it just works” cuda installation? Currently, the only times i feel like i‘m stumbling over an install with uv is when pytorch / cuda is involved. |
| |
|
| ▲ | helltone a day ago | parent | prev | next [-] |
| How do you think of uv vs pixi? Follow up: has anyone suggested the projects collaborate or eventually converge? |
| |
| ▲ | zanie a day ago | parent [-] | | Pixi is very focused on the Conda ecosystem and implements a sort of bridge across the Conda and PyPI ecosystems. I am very interested in solving the problems that motivated creation of the Conda ecosystem, but I want to do so by driving forward the PyPI ecosystem so those use-cases can be addressed in _many_ tools instead of just one. This is the main reason you don't see us pursuing Conda package support in uv directly (in the style of Pixi). There have been several threads about us collaborating or converging, but there are no concrete plans to do so at this time. We share some Rust crates, e.g., Pixi uses our internals to solve the PyPI-side of their dependencies, and we occasionally fix or change things for each other. |
|
|
| ▲ | Lucasoato a day ago | parent | prev | next [-] |
| Has anything changed in your day by day work since OpenAI acquisition? |
| |
|
| ▲ | hallvard a day ago | parent | prev | next [-] |
| Why (keep) the `uv pip` interface? |
| |
| ▲ | zanie a day ago | parent | next [-] | | We have the interface because we care a lot about meeting people where they are. We keep the interface because we care a lot about long-term support and compatibility. I cannot imagine removing it. We generally want to add features to the top-level interface such that people don't need or want to use the pip-interface because the top-level interface does everything you need, but better. | | |
| ▲ | nvme0n1p1 a day ago | parent | next [-] | | Laudable goals. Have you considered gating imperative commands behind a setting, maybe `tool.uv.pip.unreproducible = true` or somesuch? This would gently guide people towards better workflows, and also be a starting point for documenting the drawbacks of `uv pip` since it's a setting they'd be forced to add and presumably they'll read the docs for it first. uv already does something similar with `tool.uv.pip.break-system-packages`. | | |
| ▲ | notatallshaw a day ago | parent | next [-] | | FWIW, break-system-packages comes directly from pip's interface, it's not a novel addition from uv. If Astral/OpenAI are willing to support uv pip in the long term, why do you think they should use a stick as well as a carrot to get people on uv's top level interface? While uv's standard workflows probably works for 80+% of people, at least if they learn them, I certain do a lot of stuff with uv pip and pip that can't be replicated. Also both uv pip and pip support installing from pylock.toml files, which are fully reproducible. | |
| ▲ | zanie a day ago | parent | prev [-] | | I hadn't considered that, it's an interesting idea. We generally hold a very high bar for nagging users or gating behaviors. It's possible we'll reach a point someday where this is appropriate! I think you're right that we need to teach people better workflows, but that's happening organically as use of the tool grows and people's first exposure to a Python project is `uv init` and `uv add` rather than `pip`. | | |
| ▲ | EuanReid a day ago | parent [-] | | Perhaps something requiring opt-in sooner, so project maintainers can - through config - say "we don't use the pip interface on this project"? |
|
| |
| ▲ | hallvard a day ago | parent | prev [-] | | Fair points; the reason for asking is that it seems counterintuitive from the outside perspective for you to maintain/extend the pip interface as well? And of course that some colleagues of mine insist on using `uv pip` for anything and everything, which feels wrong… Granted it’s a great feature which made the transition to uv smooth in the first place. | | |
| ▲ | zanie a day ago | parent [-] | | So far the maintenance burden has been quite bearable and extending pip provides us with an opportunity to explore and encourage improvements upstream which are still beneficial to a lot of people. |
|
| |
| ▲ | woodruffw a day ago | parent | prev | next [-] | | It’s widely used, and there are still a lot of workflows that we hear about from users where they want/need to manually twiddle environments rather than having the “declarative” layer do it for them. | |
| ▲ | ghshephard a day ago | parent | prev | next [-] | | I'll confess to using `uv` almost every day for the last year+ - and I've never used anything other than `uv pip install` for package management. Is there any compelling reason not to? | |
| ▲ | walthamstow a day ago | parent | prev [-] | | uv pip is a brilliant adoption gateway, you get all of the speed gains for a 3 char change | | |
| ▲ | ethin a day ago | parent | next [-] | | Agreed, I'd prefer it stick around for the long-term because I use it when creating temporary venvs to screw around with things that I'm not certain about committing to in my actual projects for example. I guess I could do that with scripts but it's nicer/easier to use uv pip | |
| ▲ | gkhartman a day ago | parent | prev [-] | | Yeah, I don't think I'd have made the jump otherwise, since convincing others on the team would have been much harder. | | |
|
|
|
| ▲ | fishgoesblub a day ago | parent | prev | next [-] |
| Bit surprised, and disappointed to not see dynamic field support for the uv build backend in this update. Need it for dynamically getting the version from Git. Is there anything blocking it, or is it just not important enough? |
| |
| ▲ | zanie a day ago | parent [-] | | Unfortunately dynamic metadata is not efficient for package resolution, so we don't want to encourage it. Instead, we want to design a better workflow for using source control for versioning, but haven't had the time to do so. | | |
| ▲ | fishgoesblub a day ago | parent | next [-] | | Interesting, a better way of doing versioning would be nice. The tool I use requires a git repo setup with at least 1 commit, annoying for brand new projects. I'll be eagerly waiting to see it eventually. | |
| ▲ | Induane a day ago | parent | prev [-] | | At what point is that the case? When a package is built, it's version is determined at that moment from whatever dynamic source, and is then written into the metadata in a static way (or surely could be if for some weird reason it isn't). |
|
|
|
| ▲ | simonw a day ago | parent | prev | next [-] |
| What's blocking a 1.0 release at this point? |
| |
|
| ▲ | brcmthrowaway a day ago | parent | prev | next [-] |
| Can you stop the --break-system-packages madness? |
| |
| ▲ | woodruffw a day ago | parent | next [-] | | WDYM by madness? I know what the flag is (and what it does), but people have strong opinions in opposite directions about what Python packaging should do around system environments. | |
| ▲ | zanie a day ago | parent | prev [-] | | I think we're doing what we should making isolated environments easy to use. I don't think we should take options away from people that need them. |
|
|
| ▲ | a day ago | parent | prev | next [-] |
| [deleted] |
|
| ▲ | carsmain a day ago | parent | prev | next [-] |
| Do you have any plans to support pip download? |
| |
| ▲ | nomel a day ago | parent | next [-] | | Related, offline/air-gapped support, which is what prevents me from using it. | |
| ▲ | a day ago | parent | prev [-] | | [deleted] |
|
|
| ▲ | pytorch_app4 a day ago | parent | prev | next [-] |
| [flagged] |
|
| ▲ | uvvuajd a day ago | parent | prev [-] |
| [flagged] |