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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

File hashes

Hashes for traefik_bin-3.3.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 016c078643d0c9d499bfcbc74a131967f5e8350b09b2497b98871e121f8f3ceb
MD5 fd990d964d1982324414863825857750
BLAKE2b-256 d87f16f0e530538fddec87ba3630d62f2445cc9196e0e922ae86a1d15b59232f

See more details on using hashes here.

File details

Details for the file traefik_bin-3.3.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.3.3-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 afacd7f6e2f67b89837a09aa4a17bb06cffe372111b5ac1c209ece67b00869bb
MD5 fbd45d81c3f84ff42f220d5c3739e3d2
BLAKE2b-256 3a47ba39e86c236a2a546cbeec66f56914920be030e46f13e73e7e0fa0ce5ccc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traefik_bin-3.3.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0115cb9ee2a2a35e044e0be00426e74f69f4afb5a19870aa9370ab7276755321
MD5 973fb5d4f77996430a174ad8008ad073
BLAKE2b-256 051632fa79e2216ca554f0d69646e24acbc1436933c8fe57d4ba6f385dc8c0dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traefik_bin-3.3.3-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3882e401144d6ff9e0dcf6f2dab25d944c07f37d2b05951ed20d6d99dea89c46
MD5 9a3907c7520a7e04bcdd5eb0617de2d9
BLAKE2b-256 1d9dda79f4b6cad40b61d75739563c9fcae65b799a1b638bd5c425d94339cb8f

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