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

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

traefik_bin-3.0.4-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (42.4 MB view details)

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

traefik_bin-3.0.4-py3-none-macosx_11_0_arm64.whl (41.4 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

traefik_bin-3.0.4-py3-none-macosx_10_9_x86_64.whl (43.5 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for traefik_bin-3.0.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 a747e38e0e39169fbeeaa12ce055441a4077d11b5e25a91604d4d4d6a5e57187
MD5 0d09be678475e32df4822954517cefea
BLAKE2b-256 2567dd430dd5669af935b9eec49fe43ef8307845fa66014517deba31d759b3c4

See more details on using hashes here.

File details

Details for the file traefik_bin-3.0.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.0.4-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 681705e7691e53dd72ac8fabf7fe06bc190d014580a136a34343804477f23694
MD5 02782c65a8cba06773a098688a2e4edf
BLAKE2b-256 b92bdf921f227436e2b17fdf97b3b1fee5121f8df52c4e0687e7f740677780b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traefik_bin-3.0.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 17eb855a5b3525fc84aac331e600941b207e705d24b6518ebdd963ae14a20b70
MD5 830cdaf99206156c8fe102c5614802bb
BLAKE2b-256 db9bebe059ec8cd02aa2533ad50e3a22f95bd9470d2cc47b598415a6a0841c49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traefik_bin-3.0.4-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 54f023af5cdaf14d4f5ec8c900f8317c43aaed26ec0b324018f6737fbc5d8ca5
MD5 61df88818f8d92f08cf4f031764e0cdb
BLAKE2b-256 c55621b781a3d5a3652c0dc3a2d09fab8884de450d8ce72b179ce2e3f40005be

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