-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Add plugin support (and/or an python api)? #9392
Comments
Someday! But not in the short term. We have core experiences to focus on, so a plugin system is not on the roadmap yet. |
I am more interested in an Python API for calling uv, |
Hi, do you have any update? |
@zanieb Thanks for being upfront in this regard. I would like to bring up that the product I work on (https://gradle.com/develocity/) is a build observability platform and we recently added support for the Python ecosystem in beta status. Our current support instruments the Python interpreter itself, meaning that I'm bringing this up not directly on behalf of the company, but simply as an individual developer with a lot of interest in |
How is your instrumentation invoked? |
Using a site-specific configuration hook (docs). |
That should still work with uv when we invoke the Python interpreter, right? What are you imagining a uv plugin doing here? |
It would capture the invocations of Python when run through |
I see. What kind of insights are you trying to get into uv's behavior? |
If I show you an example it will probably give you a rough idea of the kind of observability we would like to give, luckily we support a few open source projects. I'll use an example from our instance backing the Apache Software Foundation (this dashboard in particular is for Kafka developers):
(I think it's important to point out that this is not limited to CI, but can offer observability and a tool for collaboration for teams and organizations) (sorry for sounding like I'm trying to sell something, I definitely am not, but I hope it gives you a rough idea of the kind of information we'd like to enable users to collect) These are just a couple of examples, but in general we try to tailor the information we offer to the specific tool. I can think of ways in which we can instrument processes in a way that does not require integrating into those (walking up the process parents to see whether uv is running and getting info from the OS is one that comes to mind), but that doesn't allow for some deeper integration into tool-specific information that users might be interested in. I'm not asking for anything, but I hope this gives some push towards the idea of having a plugin architecture (which I do realize is large undertaking, and one that you need to evaluate and design for carefully, should you ever decide it's a project you want to work on). Anyway, very excited to see |
Thanks for the details! That's really helpful. |
In uv, we use tracing for instrumentation and "observability". I've been using tracing plugins for similar views into uv (https://github.com/konstin/tracing-durations-export), a tracing export in some form could have the information you need. |
Thanks! I'll see if there's a way we can leverage this. 🙇🏻 |
uh, hi, what going on? |
Could uv supports plugins written both in Python and Rust like poetry?
The text was updated successfully, but these errors were encountered: