-
Notifications
You must be signed in to change notification settings - Fork 615
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
Move from a shared tools.toml
to separated tool receipts
#4560
Conversation
376afb9
to
233ba59
Compare
I'll build more work on top of this demonstrating the purpose of the tool metadata entries, since there are some open questions about that. |
Is it a goal or an explicit non-goal to support installing multiple versions of a given package? |
46e4225
to
cf0a6a6
Compare
Good question. I think if you want to do that then you need to provide a "suffix" to distinguish the entry points and we'd use that suffix in the tool name path. I'm kind of on the fence about that functionality to start. |
In the initial design documents, I seem to recall something like |
I think in cargo-dist they call this a "receipt", it's like a manifest that records what we installed. I might find terminology like that a little more intuitive than |
We talked about that but people weren't really into it. If you're using
Down to call it that. As I mentioned before, I want to have a user-edited tool declaration eventually but am moving to this for now as it's clearer that it's not supposed to be user edited. |
For reference, {
"injected_packages": {},
"main_package": {
"app_paths": [
{
"__Path__": "/Users/zb/.local/pipx/venvs/black/bin/black",
"__type__": "Path"
},
{
"__Path__": "/Users/zb/.local/pipx/venvs/black/bin/blackd",
"__type__": "Path"
}
],
"app_paths_of_dependencies": {},
"apps": [
"black",
"blackd"
],
"apps_of_dependencies": [],
"include_apps": true,
"include_dependencies": false,
"man_pages": [],
"man_pages_of_dependencies": [],
"man_paths": [],
"man_paths_of_dependencies": {},
"package": "black",
"package_or_url": "black",
"package_version": "24.4.2",
"pip_args": [],
"suffix": ""
},
"pipx_metadata_version": "0.4",
"python_version": "Python 3.12.3",
"source_interpreter": {
"__Path__": "/opt/homebrew/opt/python@3.12/libexec/bin/python",
"__type__": "Path"
},
"venv_args": []
}% |
cf0a6a6
to
85cece6
Compare
tools.toml
to separate tool.toml
entriestools.toml
to separated tool receipts
3f72315
to
19531b5
Compare
19531b5
to
20034ae
Compare
I guess it makes sense to write JSON directly? I don't have strong feelings about the format but am leaning towards just leaving it. |
20034ae
to
67fa408
Compare
67fa408
to
78b72e4
Compare
78b72e4
to
49e1e09
Compare
Refactors the installed tool metadata per commentary in #4492
We now store a
uv-receipt.toml
per tool install instead of a singletools.toml