Packaging

Top 23 Packaging Open-Source Projects

  • Poetry

    Python packaging and dependency management made easy

    Project mention: From Kotlin Scripting to Python | dev.to | 2024-03-07

    Poetry

  • Pipenv

    Python Development Workflow for Humans.

    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

    Project mention: ReactJS Good Practices | dev.to | 2023-11-01

    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.

    Project mention: Debian Discusses Vendoring yet Again | news.ycombinator.com | 2023-11-06

    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

  • pip

    The Python package installer

    Project mention: How to Create Virtual Environments in Python | dev.to | 2024-02-09

    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

    Project mention: GoboLinux | news.ycombinator.com | 2024-02-28

    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.

  • python-for-android

    Turn your Python application into an Android APK

    Project mention: Error compiling kivy based app to APK using Buildozer | /r/kivy | 2023-09-10
  • 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.

  • pip-tools

    A set of tools to keep your pinned Python dependencies fresh.

    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.

  • PDM

    A modern Python package and dependency manager supporting the latest PEP standards

    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

  • hatch

    Modern, extensible Python project management

    Project mention: Uv: Python Packaging in Rust | news.ycombinator.com | 2024-02-15

    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.

    [1]: https://hatch.pypa.io/latest/

  • setup.py

    📦 A Human's Ultimate Guide to setup.py.

  • maturin

    Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages

    Project mention: In Rust for Python: A Match from Heaven | dev.to | 2024-01-03

    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.

  • distillery

    Simplify deployments in Elixir with OTP releases!

  • exodus

    Painless relocation of Linux binaries–and all of their dependencies–without containers.

    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

  • aptly

    aptly - Debian repository management tool

    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-05

    The 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 ).

  • buildozer

    Generic Python packager for Android and iOS

    Project mention: Kivy Buildozer not working (noob) | /r/kivy | 2023-05-15

    git clone https://github.com/kivy/buildozer.git

  • omnibus-ruby

    Easily create full-stack installers for your project across a variety of platforms.

  • autopkg

    Automating packaging and software distribution on macOS.

  • cargo-dist

    📦 shippable application packaging

    Project mention: cargo-dist pre-release looking for feedback! | /r/rust | 2023-10-20

    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

  • Capsule

    Dead-Simple Packaging and Deployment for JVM Apps (by puniverse)

  • peru

    a generic package manager, for including other people's code in your projects

  • pyapp

    Runtime installer for Python applications

    Project mention: FLaNK 15 Jan 2024 | dev.to | 2024-01-15
  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-03-25.

Packaging related posts

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
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com