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

traefik_bin-3.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (42.4 MB view details)

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

traefik_bin-3.2.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (46.0 MB view details)

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

traefik_bin-3.2.0-py3-none-macosx_11_0_arm64.whl (45.0 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

traefik_bin-3.2.0-py3-none-macosx_10_9_x86_64.whl (47.3 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for traefik_bin-3.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 4aa7695a9441fbee76865e475379af6c90c07c51e8eefaba5af192492db2ab7b
MD5 1a928fd41b09a8b34ee3a23422a11dde
BLAKE2b-256 72d818dd9700d517e85331926ddc288b62d711247c79cc817aefee9a29080e7a

See more details on using hashes here.

File details

Details for the file traefik_bin-3.2.0-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.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 16f7c155290b544f525f825ae915b9f8ffe882a53328ee5cb43796b21bbb70d4
MD5 3f849235e58a413a34d8f088b5fb6b32
BLAKE2b-256 3d0e4b589fa0d6dd961ee28645ef76c908e9e95b0f5cd32987cafd9dc09f1dc0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traefik_bin-3.2.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 002ee5f32451f5232103a702713c90dadebfa80c6a4ee322db84696a3e2172e1
MD5 2f53298601661dee382fd4bd03f8be03
BLAKE2b-256 da5f6aab927a52f6e4dd4770905322352ffb4f3e293017c9ae6a76f447188ce4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traefik_bin-3.2.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a4af221be6b5ad603e02b2305c8108b856a3ee608d1b5ca228997e979049d080
MD5 418c1e3c3de9c6743724f2cc20fc802d
BLAKE2b-256 4166245e67c09c781a99f1f6e80438bf2c38c1ee5b38fb41f055e6b68eaa54e3

See more details on using hashes here.

Supported by

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