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.3.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (43.4 MB view details)

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

traefik_bin-3.3.4-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (47.1 MB view details)

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

traefik_bin-3.3.4-py3-none-macosx_11_0_arm64.whl (46.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

traefik_bin-3.3.4-py3-none-macosx_10_9_x86_64.whl (48.4 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for traefik_bin-3.3.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 72977dcfb66737eca0d09a950672f2d2a9bb93fff718352cfe4ad20aaaa05f37
MD5 98786a0980be9c818aa41e826617f11d
BLAKE2b-256 e8a5ddda9a4c36e2f534b3f9cc66f012f333e716793dbc58b465b282c3f2caa6

See more details on using hashes here.

File details

Details for the file traefik_bin-3.3.4-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.3.4-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d79468de0913d071ea0249e118002784005ff8c4f15c304dfe0e44885ed39aba
MD5 ae6242cdb63f0a9ee6ef57c6f2c86fb1
BLAKE2b-256 fc5774395700dd64acaf4d8ed735f94109a2c6606c8531a3df1df65525cc995c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traefik_bin-3.3.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2ce96533bd520a9106c8785b6c667c192078038c86f4646736e098223e97db3b
MD5 1159d1bbe912c0871a1e09b1b10ff76c
BLAKE2b-256 846b2444f580999f91e6a24aabb1c6d341982aa091753f385c5137cf572d26e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traefik_bin-3.3.4-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e89b8de4550845ba7daa60932f91d00ac0415acd1e3f5afe120743c5af3facab
MD5 8f41ebe7c6bab315a083e31e311d56ac
BLAKE2b-256 1f55c38b84716532820d0ace12f70c8dc0af19c1f53a3ed5e7903481e9751164

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