SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Packaging Open-Source Projects
-
Poetry
-
Project mention: Pipenv VS instld - a user suggested alternative | libhunt.com/r/pipenv | 2023-12-09
-
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.
-
tsdx - Zero-config CLI for TypeScript package development
-
fpm
Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.
If you ever revisit that decision, check out FPM. It can shave off a few of the rough edges related to packaging: https://github.com/jordansissel/fpm
-
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.
-
AppImageKit
Package desktop applications as AppImages that run on common Linux-based operating systems, such as RHEL, CentOS, openSUSE, SLED, Ubuntu, Fedora, debian and derivatives. Join #AppImage on irc.libera.chat
What you're looking for sounds like AppImages (https://appimage.org/) . I have only used them while downloading games from itch.io, etc. (since i prefer package managers) but they seem to work out of the box on popular distros.
-
-
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.
-
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.
-
-
maturin
Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages
This story unfolds as a captivating journey where the agile Flounder, representing the Python programming language, navigates the vast seas of coding under the wise guidance of Sebastian, symbolizing Rust. Central to their adventure are three powerful tridents: cargo, PyO3, and maturin.
-
-
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
-
Project mention: What is an appropriate way to install debian packages in a completely air-gapped environment? | /r/devops | 2023-12-06
-
linuxdeployqt
Makes Linux applications self-contained by copying in the libraries and plugins that the application uses, and optionally generates an AppImage. Can be used for Qt and other applications
Project mention: Two reasons because Arch-based AppImages are not a good idea | /r/archlinux | 2023-05-05The second reason is the "modularity" of Arch, why Debian packages all the dependences in many different packages? Because a developer can isolate a bug or exclude that package using the right patch. Arch tends to package everything together. That's why an AppImage of Chromium for me is about 140 MB from a Ubuntu base and 280-300 from an Arch-base... but at least this is an issue of both arch-deployer and arch2appimage... I think that by using linuxdeployqt would be better in this case (SPOILER, it requires the host system with an old GLIBC version, also Debian Bookwork is too new for it xD ).
-
git clone https://github.com/kivy/buildozer.git
-
-
-
You can learn more about the features and install the pre-release here: https://github.com/axodotdev/cargo-dist/releases/tag/v0.4.0-prerelease.2
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Packaging related posts
- From Kotlin Scripting to Python
- GoboLinux
- Uv: Python Packaging in Rust
- Boring Python: dependency management (2022)
- Python Packaging, One Year Later: A Look Back at 2023 in Python Packaging
- Bitwarden Heist – How to Break into Password Vaults Without Using Passwords
- How do you resolve dependency conflicts?
-
A note from our sponsor - SaaSHub
www.saashub.com | 28 Mar 2024
Index
What are some of the best open-source Packaging projects? This list will help you:
Project | Stars | |
---|---|---|
1 | Poetry | 29,170 |
2 | Pipenv | 24,536 |
3 | tsdx | 11,135 |
4 | fpm | 11,010 |
5 | pip | 9,219 |
6 | AppImageKit | 8,387 |
7 | python-for-android | 7,964 |
8 | pip-tools | 7,421 |
9 | PDM | 6,370 |
10 | hatch | 5,173 |
11 | setup.py | 5,065 |
12 | maturin | 3,156 |
13 | distillery | 2,956 |
14 | exodus | 2,924 |
15 | aptly | 2,497 |
16 | linuxdeployqt | 2,088 |
17 | buildozer | 1,627 |
18 | omnibus-ruby | 1,279 |
19 | autopkg | 1,234 |
20 | cargo-dist | 1,204 |
21 | Capsule | 1,147 |
22 | peru | 1,097 |
23 | pyapp | 1,027 |