Skip to content

Commit 6f13009

Browse files
committed
initial commit
1 parent ccc46ea commit 6f13009

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
A summary of package management tools in the Python ecosystem
2+
3+
| | poetry | pipenv | pip | virtualenv | setup.py | twine | pyenv | pipsi |
4+
|------------------------------------------------------------------------|--------|--------|-----|------------|----------|-------|-------|-------|
5+
| installs abstract dependencies | ✔️ | ✔️ | ✔️ | ✖️ | ✔️ | ✖️ | ✖️ | ✖️ |
6+
| installs concrete dependencies | ✔️ | ✔️ | ✔️ | ✖️ | ✖️ | ✖️ | ✖️ | ✖️ |
7+
| isolates Python environments | ✔️ | ✔️ | ✖️ | ✔️ | ✖️ | ✖️ | ✖️ | ✔️ |
8+
| captures packaging metadata (name, version, author, etc) | ✔️ | ✖️ | ✖️ | ✖️ | ✔️ | ✖️ | ✖️ | ✖️ |
9+
| file format based on a PEP | ✔️ | ✖️ | ✖️ | ✖️ | ✔️ | ✖️ | ✖️ | ✖️ |
10+
| automatically creates virtual environments | ✔️ | ✔️ | ✖️ | ✖️ | ✖️ | ✖️ | ✖️ | ✖️ |
11+
| generates concrete dependencies from abstract dependencies (requirements.txt or lock file) | ✔️ | ✔️ | ✔️ | ✖️ | ✖️ | ✖️ | ✖️ | ✖️ |
12+
| can generate lock file with hashes | ✔️ | ✔️ | ✖️ | ✖️ | ✖️ | ✖️ | ✖️ | ✖️ |
13+
| builds packages suitable for distribution on PyPI | ✔️ | ✖️ | ✖️ | ✖️ | ✔️ | ✖️ | ✖️ | ✖️ |
14+
| publishes packages to PyPI | ✔️ | ✖️ | ✖️ | ✖️ | ✖️ | ✔️ | ✖️ | ✖️ |
15+
| can enter shell for virtual environment | ✖️ | ✔️ | ✖️ | ✔️ | ✖️ | ✖️ | ✖️ | ✖️ |
16+
| installs specific Python versions to system | ✖️ | ✔️ | ✖️ | ✖️ | ✖️ | ✖️ | ✔️ | ✖️ |
17+
| globally installs and sandboxes Python packages that have command-line entry points | ✖️ | ✖️ | ✖️ | ✖️ | ✖️ | ✖️ | ✖️ | ✔️ |
18+
19+
Disclaimer: I did not author or maintain any of these tools and strive to keep this list as impartial as possible.
20+
21+
This information is accurate to the best of my knowledge. If anything is incorrect or missing please submit a pull request or create an issue.

0 commit comments

Comments
 (0)