Make conandeps installable with uv
Add a hatchling build backend, a `conandeps` console script and a uv.lock so `uv tool install .` (or from a git URL) yields a `conandeps` command in an isolated venv. Add PEP 723 inline metadata to conandeps.py so the single file also works standalone via `uv run conandeps.py`. Pin requires-python to <3.12: Conan 1.x imports the removed `imp` module (the Containerfile comment wrongly blamed distutils). Add uv to the dev image so both install paths are verified inside the container. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYNdaGDrpaqDyT8QtrTQbM
This commit is contained in:
parent
a11e9fb34e
commit
45d800bacd
5 changed files with 784 additions and 3 deletions
22
README.md
22
README.md
|
|
@ -15,6 +15,28 @@ Given a `conanfile.py`, `conandeps` reports:
|
|||
dependency declared) – shown both as a list and on the edges of the
|
||||
dependency tree.
|
||||
|
||||
### Installing with uv
|
||||
|
||||
```
|
||||
uv tool install git+https://<your-forge>/conan-utils # or: uv tool install . from a checkout
|
||||
conandeps path/to/conanfile.py -r knor
|
||||
```
|
||||
|
||||
This puts a `conandeps` command on your PATH in its own virtualenv with
|
||||
Conan 1.66 — it does not touch or depend on the Conan you use for builds
|
||||
(but it does read the same `~/.conan` config, profiles and remotes).
|
||||
|
||||
The script also carries PEP 723 inline metadata, so the single file works on
|
||||
its own without a checkout:
|
||||
|
||||
```
|
||||
uv run conandeps.py path/to/conanfile.py -r knor
|
||||
```
|
||||
|
||||
Python 3.8–3.11 is required; Conan 1.x does not run on 3.12+.
|
||||
|
||||
### Usage
|
||||
|
||||
```
|
||||
./conandeps.py path/to/conanfile.py -r knor # text report
|
||||
./conandeps.py path/to/conanfile.py -r knor -pr myprofile # explicit profile
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue