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.3-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.3-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.3-py3-none-macosx_11_0_arm64.whl (45.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

traefik_bin-3.2.3-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.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for traefik_bin-3.2.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 a20e3a91b3a52855d765fa40533c15b102d23443e4c1188c043a6cc8b4d3a77e
MD5 b4c14b63fb0acb777a2dc605572e8dac
BLAKE2b-256 6f3d4bfbb9b7ea152162d295e4cba1d9f3d50e0d600da3e1da4fe42d2e3e329b

See more details on using hashes here.

File details

Details for the file traefik_bin-3.2.3-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.3-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 346d0486730e853d375ec0008dd1b5924c9f5bfac88ba2ed0c3af43c388af1c8
MD5 dd3f4ab71cfc081e83d5db4df8da6ea2
BLAKE2b-256 9be4e326bcd9a30b2302462ac8685c01153b431612d135d6fcfcec498e892c0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traefik_bin-3.2.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aee6996cf07f16fcce78478236e081ab535870e3b4ac74850253b52c7a332ec3
MD5 78d9c123bec4bc260311fc5e5fa6eaea
BLAKE2b-256 6ab8468214003e647a8e42d30c7d3e6fb69303733536cbcf03471d05a38f1810

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traefik_bin-3.2.3-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 978d216c6cdbd479a0c52609100de61bcb701808ec5200ca0ea151c3f5f478b2
MD5 cf3846e0370733bb74819fe30429c4d9
BLAKE2b-256 cba0a6662856e0a56629e24b77334a154be616df567128877f87ff06561966f9

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