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.

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.

Catalog

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_edge-3.2.0a1-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_edge-3.2.0a1-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_edge-3.2.0a1-py3-none-macosx_11_0_arm64.whl (45.0 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

traefik_bin_edge-3.2.0a1-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_edge-3.2.0a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for traefik_bin_edge-3.2.0a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 545d836f695b185804a2c7468ea0c87a83db08d822963a111a76dba9853c5d24
MD5 72cf91f5a1317f8bcb833987982b2d58
BLAKE2b-256 568f1a64b08c673a0f0bfc22aba86fd04cb5fec287734d40f406deab12031977

See more details on using hashes here.

File details

Details for the file traefik_bin_edge-3.2.0a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for traefik_bin_edge-3.2.0a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c26ff24bc7a016b2a8fdb0fb7621dce92ca22435b7217f6acdb63103cd2e4ef6
MD5 9160e2da0887f033414c8bc6096cc614
BLAKE2b-256 5fddbf0225c8292e35363cf1944136c277bc64978709489beed53649ec36dc41

See more details on using hashes here.

File details

Details for the file traefik_bin_edge-3.2.0a1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for traefik_bin_edge-3.2.0a1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 26983c2b8a8c4413d5656b105253a7536b16194a1161e84ac154fb7184705201
MD5 e211739d175066a9e4f88d589f503af6
BLAKE2b-256 9ff1b8a5ad74792d4c99561e3ac932caf96cc95a0f19a415ed637b76bd89ca8b

See more details on using hashes here.

File details

Details for the file traefik_bin_edge-3.2.0a1-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for traefik_bin_edge-3.2.0a1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2964f7e754895e04e634bce3d18363c632e48ff1856d1c04872a80f382e00679
MD5 a41bdb171f38cee1205e4bd0fdf2a1f5
BLAKE2b-256 7e323722e8b1e47abe72458904376c3e0ec911da98ed14fb8bd4a30388dc06bd

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