-
Notifications
You must be signed in to change notification settings - Fork 760
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
Make metadata caching of local projects opt-in when it is dynamic? #7282
Comments
The breaking point for me on this was An alternative is that we could consider adding a dedicated setting to the |
Or could So it would be correct by default, with an opt-in mechanism for caching. Most people, who don't use dynamic metadata, would never see the warning. |
UX-wise is it not a bit strange, since there is already |
And by the way, sorry to appear insistent on this. The thing is that I'm a heavy user of dynamic metadata, but not a packaging newbie, and since I regularly fall in the traps, I suspect there is some UX issue that might be important. I may not have said it yet, but I hugely appreciate the fantastic work you are doing! |
Yeah, the answer here may indeed be to have different semantics for |
As the author of #2844 which is pulled into here - I'm just frankly surprised that |
To extend on that previous point a little bit with some anecdotes... the current recommended solution is for me to define |
Is it that you want all editables to be reinstalled every time? Or editables with dynamic metadata? |
But in that case, why not just use |
All editable packages imo. Python doesn't offer a separation for this aspect of the problem to claim it's just metadata. The issue here is with MANIFEST.in that is compiled down at build-time into the list of assets to copy into the project, and that only is matched AFTER the build happens and all the files are generated such that MANIFEST.in can match on them. In my concrete example we have a |
I can do it with cache-keys to be clear but it's globbing a lot of files that 1) I have to tediously maintain and 2) could cause performance problems for things like |
I confirmed that |
I regularly hit caching gotchas with projects using dynamic dependencies.
The last one, I think, was
uv lock
not detecting changes even thoughtool.uv.resinstall-package
was set. I had to useuv lock --refresh-package
, and I could not settool.uv.refresh-package
.These surprises drive my ask for e.g. #7268
But even with that we'll still need to think about setting cache-keys in the first place.
I was wondering if it would make sense to cache less aggressively if any metadata is dynamic (either because the project table is absent, or
project.dynamic
is set)? Or not cache at all insuch casespresence of dynamic metadata, unless cache-keys is set?The text was updated successfully, but these errors were encountered: