Skip to main content

A thin wrapper to distribute https://github.com/traefik/traefik via pip.

Project description

pybin

This project was inspired by how Maturin packages rust binaries. The key observation is that in the wheel format, the distribution-1.0.data/scripts/ directory is copied to bin, which means we can leverage this to seamlessly copy binaries into a user's PATH.

Combined with Python's platform-specific wheels, this allows us to use pip as a "cross-platform package manager" for distributing single-binary CLI applications.

This is the list of tools bundled this way, which can be installed with pip install $TOOLNAME-bin.

Wheel Building Process

The core of the logic lies in the buildlib.py module.

  • A mapping from download URL (often github releases) to pypi platform tag is required.
  • For each platform:
    • Download the release & extract the binary.
    • Set file permissions and place into scripts directory within wheel archive.
    • Create the METADATA and WHEEL files within wheel archive.
    • Place wheel into dist/ folder.
  • Once all wheels are constructed, the distribution is uploaded to PyPI.

CICD is configured to automatically recognize new PyPI releases by looking for a diff on the PYPI_VERSION. When this happens, a build-and-release cycle is performed for that release version.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

traefik_bin-3.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (43.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64musllinux: musl 1.1+ ARM64

traefik_bin-3.2.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (46.7 MB view details)

Uploaded Python 3manylinux: glibc 2.12+ x86-64musllinux: musl 1.1+ x86-64

traefik_bin-3.2.1-py3-none-macosx_11_0_arm64.whl (45.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

traefik_bin-3.2.1-py3-none-macosx_10_9_x86_64.whl (48.0 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

Details for the file traefik_bin-3.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for traefik_bin-3.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 59c7b63c9b90cbe2cfe820e942326f7d1e78833445468e599d3c4ebcf117ffbc
MD5 3b15de091ec3fbc390877186db148def
BLAKE2b-256 4903db8bc95db22a8b6ab58abe6953e6526b90535cd3f5c69b87d36b67a9bb77

See more details on using hashes here.

File details

Details for the file traefik_bin-3.2.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for traefik_bin-3.2.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 1747b5c91ac0cf5a99d6351465c920eb74083ee8f8afc337b27169b838b3a6f4
MD5 b26a41b24f9359f62a8408a729520659
BLAKE2b-256 32da488c9c373a223dcc246054dbb6060270d6b24cfcf30d920a0516d25bc06c

See more details on using hashes here.

File details

Details for the file traefik_bin-3.2.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for traefik_bin-3.2.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 517d7c43cca8387e7790f00d752030275da17bf37f7c90c7500c57135a20c110
MD5 7e3a63d47c12e5b60fac7ae8c765eff1
BLAKE2b-256 8ad55573a3b8c3eabdebd5ca927b55231b61660819108d02a16fc9261bde6cf9

See more details on using hashes here.

File details

Details for the file traefik_bin-3.2.1-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for traefik_bin-3.2.1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 51461038f13be3e85de96989f6b2e815bb1e6fa35c9fe5d6e8e3acbf306cbcc9
MD5 e26ff3bc764ff6efcf7339f2797aa98b
BLAKE2b-256 da25a3b60f6688959285f8e66ba49e4eaf146875b3bba547c673edcf4b21baa4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page