The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 Python Packaging Projects
-
Poetry
-
Project mention: Pipenv VS instld - a user suggested alternative | libhunt.com/r/pipenv | 2023-12-09
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Whenever you are working on a Python project that has external dependencies installed with pip, it is strongly recommended to first create a virtual environment.
-
-
Project mention: Pyenv – lets you easily switch between multiple versions of Python | news.ycombinator.com | 2024-03-25
> Why is the "requirements.txt" file a stupid flat listing of all transitive dependencies with pinned versions? It makes it harder to change library versions even if there are no true conflicts.
My friend, here is what you seek: https://github.com/jazzband/pip-tools
requirements.txt is flat because it's really the output of `pip freeze`. It's supposed to completely and exactly rebuild the environment. Unfortunately it's far too flexible and people abuse it by putting in only direct dependencies etc.
If you're writing packages, you don't need a requirements.txt at all, by the way. Package dependencies (only direct dependencies) live in pyproject.toml with the rest of the package config. requirements.txt (and pip tools) are only for when you want to freeze the whole environment, like for a server deployment.
-
Project mention: Implementing Quality Checks In Your Git Workflow With Hooks and pre-commit | dev.to | 2023-12-13
# See https://pre-commit.com for more information # See https://pre-commit.com/hooks.html for more hooks repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v3.2.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml - id: check-toml - id: check-added-large-files - repo: local hooks: - id: tox lint name: tox-validation entry: pdm run tox -e test,lint language: system files: ^src\/.+py$|pyproject.toml|^tests\/.+py$ types_or: [python, toml] pass_filenames: false - id: tox docs name: tox-docs language: system entry: pdm run tox -e docs types_or: [python, rst, toml] files: ^src\/.+py$|pyproject.toml|^docs\/ pass_filenames: false - repo: https://github.com/pdm-project/pdm rev: 2.10.4 # a PDM release exposing the hook hooks: - id: pdm-lock-check - repo: https://github.com/jumanjihouse/pre-commit-hooks rev: 3.0.0 hooks: - id: markdownlint
-
Exciting stuff! I view Hatch [1] as becoming the Cargo for Python because it's already close and has an existing (and growing) user base but I can definitely see depending on this for resolution and potentially not even using pip after it becomes more stable.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
-
Project mention: I reduced the size of my Docker image by 40% – Dockerizing shell scripts | news.ycombinator.com | 2024-02-03
COPY --from=ugit-ops /lib/ld-musl-* /lib/
No, what I'm saying is you're blanket copying fully different versions of common library files into the operating system lib folder as shown above, possibly breaking OS lib symlinks in the process for _current_ versions used in Alpine OS if they exist now or in the future, potentially destroying OS lib dependencies, and also overwriting the ones possibly included in the future by Alpine OS itself to get your statically copied versions of the various CLI tools to work.
That is _insanely_ shortsighted. There's a safe way to do that and then there is the way you did it. If you want to learn to do it right, look at how Exodus does it so that they don't destroy OS library dependency files in the process of making a binary able to be moved from one OS to another.
Exodus: https://github.com/intoli/exodus
-
git clone https://github.com/kivy/buildozer.git
-
-
-
There are cases where you want the flexibility of installing a python package via pip without having it available to the open public. This article will focus on using devpi to provide a self-hosted pip compatible python package server. Ubuntu will be used for the OS as it's a fairly common Linux distribution and easily available on Windows Linux Subsystem.
-
-
Each project has documentation to install and get started, for example see the ios build toolchain (which makes .IPA package from your Kivy application): https://github.com/kivy/kivy-ios - once you are set up with a project, use "toolchain pip install kivymd" to add the kivymd library (for Android this step is slightly different, you add kivymd to "requirements")
-
Project mention: 📓 Versionner et builder l'eBook de son Entretien Annuel d'Evaluation sur Git(Hub) | dev.to | 2024-03-26
gitchangelog : Use your commit log to make beautifull and configurable changelog file
-
-
-
-
poetry-version-plugin
Poetry plugin for dynamically extracting the package version from a __version__ variable or a Git tag.
-
-
-
fades
fades is a system that automatically handles the virtualenvs in the cases normally found when writing scripts and simple programs, and even helps to administer big projects.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Python Packaging related posts
- From Kotlin Scripting to Python
- Boring Python: dependency management (2022)
- Python Packaging, One Year Later: A Look Back at 2023 in Python Packaging
- How do you resolve dependency conflicts?
- Is there a way to mangage a project locally, like npm does?
- lockfiles for hatch projects
- sudo pip install should be illegal
-
A note from our sponsor - WorkOS
workos.com | 28 Mar 2024
Index
What are some of the best open-source Packaging projects in Python? This list will help you:
Project | Stars | |
---|---|---|
1 | Poetry | 29,063 |
2 | Pipenv | 24,520 |
3 | pip | 9,219 |
4 | python-for-android | 7,931 |
5 | pip-tools | 7,405 |
6 | PDM | 6,333 |
7 | hatch | 5,173 |
8 | setup.py | 5,065 |
9 | exodus | 2,924 |
10 | buildozer | 1,627 |
11 | autopkg | 1,234 |
12 | peru | 1,097 |
13 | devpi | 813 |
14 | truss | 812 |
15 | kivy-ios | 735 |
16 | gitchangelog | 576 |
17 | poetry-core | 404 |
18 | nvchecker | 393 |
19 | tito | 373 |
20 | poetry-version-plugin | 343 |
21 | recipe-robot | 291 |
22 | appimage-builder | 276 |
23 | fades | 209 |