Skip to content
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

Consider omitting (*) explanation from uv pip tree? #4666

Open
charliermarsh opened this issue Jun 30, 2024 · 7 comments
Open

Consider omitting (*) explanation from uv pip tree? #4666

charliermarsh opened this issue Jun 30, 2024 · 7 comments
Labels
cli Related to the command line interface needs-decision Undecided if this should be done

Comments

@charliermarsh
Copy link
Member

Is this totally necessary? Seems like a lot to include it on every invocation (Cargo does not).

@charliermarsh charliermarsh added the cli Related to the command line interface label Jun 30, 2024
@ibraheemdev
Copy link
Member

I personally don't see the need to include it as long as we have easy-to-find documentation. cc @zanieb.

@zanieb
Copy link
Member

zanieb commented Jun 30, 2024

I had no clue what it meant — I was confused that all these packages were being marked. Idk.

@potiuk
Copy link

potiuk commented Jul 1, 2024

I think it makes sense to add some indication in the tree output when there are some transitive dependencies in the package and we do not show them. Nut it makes no sense to do when there are no hidden transitive dependencies.

If you do it this way (for example by adding (*) or ... (which would by more pythonic IMHO), then suddenly there will be a lot less of those in the output - and only where it would actually indicate that the tree node is not complete.

Example (from Airflow):

It makes sense that requests down there has some indication that it's not a complete set of dependencies - and that you should look it up above to find out what those transitive dependencies are.

├── requests v2.31.0
│   ├── charset-normalizer v3.3.2
│   ├── idna v3.7
│   ├── urllib3 v1.26.19
│   └── certifi v2024.6.2
├── pyjwt v2.8.0
├── typing-extensions v4.12.2
├── urllib3 v1.26.19 (*)
└── deprecated v1.2.14
    └── wrapt v1.16.0
pyhive v0.7.0
├── future v1.0.0
└── python-dateutil v2.9.0.post0
    └── six v1.16.0
adlfs v2024.4.1
├── azure-core v1.30.2
│   ├── requests v2.31.0 (*)

But here it makes completely no sense to add (*) for the second markupsafe occurence - because the tree is actually complete:

flask-bcrypt v1.0.1
├── flask v2.2.5
│   ├── werkzeug v2.2.3
│   │   └── markupsafe v2.1.5
│   ├── jinja2 v3.1.4
│   │   └── markupsafe v2.1.5 (*)
│   ├── itsdangerous v2.2.0
│   ├── click v8.1.7
│   └── importlib-metadata v6.11.0
│       └── zipp v3.19.2

@charliermarsh
Copy link
Member Author

@potiuk - I believe that's fixed on main (omitting * for packages with no dependencies).

@zanieb
Copy link
Member

zanieb commented Jul 1, 2024

Also note the commentary here is about the footnote explaining of the meaning of * not including it at all.

@potiuk
Copy link

potiuk commented Jul 1, 2024

@potiuk - I believe that's fixed on main (omitting * for packages with no dependencies).

Ups. you are moving too fast ... I only saw that while catchng up with all the comments :)

@potiuk
Copy link

potiuk commented Jul 1, 2024

Also note the commentary here is about the footnote explaining of the meaning of * not including it at all.

Understood. Yeah. That makes perfect sense.

@zanieb zanieb added the needs-decision Undecided if this should be done label Jul 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cli Related to the command line interface needs-decision Undecided if this should be done
Projects
None yet
Development

No branches or pull requests

4 participants