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

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

traefik_bin_edge-3.1.6a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (43.5 MB view details)

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

traefik_bin_edge-3.1.6a1-py3-none-macosx_11_0_arm64.whl (42.5 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

traefik_bin_edge-3.1.6a1-py3-none-macosx_10_9_x86_64.whl (44.7 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

Details for the file traefik_bin_edge-3.1.6a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for traefik_bin_edge-3.1.6a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 f87236392feeb86f800127822f01cf08ecb7461b4f8bd7de7054070bf95d1409
MD5 a94238c2f70ba5ca0e3b0b9af2cb88a0
BLAKE2b-256 b5cf1a23021dae569276e3d2d153d1a6026af854a7fbf4c9748640a578d223a1

See more details on using hashes here.

File details

Details for the file traefik_bin_edge-3.1.6a1-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.1.6a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 cf81c21c165b18b5f5cfcc45a17b1eb8bf45cbd4f756fa73f270f9ed98f6fe8c
MD5 ec04aa8500159b273802818353482cd7
BLAKE2b-256 d40823da98bf9e6a8f2c8c3d4d66f4549bb99de77d84eece4d270b5a167d18af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traefik_bin_edge-3.1.6a1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96809849357be134096a01e1bd39db432fc3d6e17d576e3e149ed5f295080f20
MD5 7c7d9493fe043f7d0fcb94a3f74d5b7c
BLAKE2b-256 3ad38a1c1c436b52fb53c0ed111db4430cfba67c297f855e702a5dfc11a60ad1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for traefik_bin_edge-3.1.6a1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 59707f2f7fdd095f90e873cf92391dbafa6563ab03140e9979c64525ba55d61b
MD5 60502bd29ee48e5f71c90eb4fcd153f0
BLAKE2b-256 914ba97864fe37d2233c9bc296d84e62c55b74903e7256fcf4cb404fd41c2bf4

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