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
pip install dive-bin
: pybin version, upstream sourcepip install hadolint-bin
: pybin version, upstream sourcepip install just-bin
: pybin version, upstream sourcepip install lazydocker-bin
: pybin version, upstream sourcepip install rclone-bin
: pybin version, upstream sourcepip install scc-bin
: pybin version, upstream sourcepip install usql-bin
: pybin version, upstream sourcepip install dbmate-bin
: pybin version, upstream sourcepip install traefik-bin
: pybin version, upstream source
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for traefik_bin-3.0.4a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81663ed3548e28c3d9de191a21b704b63c287cb07fd82d0515b32d803f68eaa1 |
|
MD5 | 2ccb487ef7fa2a461840591b61603054 |
|
BLAKE2b-256 | e053049b030a6816b4fa21e06912ad69d2d8bd5d5d4186a6c2bbccdc8ac5b194 |
Hashes for traefik_bin-3.0.4a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b935b5cc2b5a8494ac0a4e9001091aaa828d70a2fe44804597f21530e1d52f3a |
|
MD5 | 1054a293870cd593579484d9fe39c613 |
|
BLAKE2b-256 | 74bc103011521fad1c2e71e6f63e6339e1c7fe788191845f787d298aa24aef9b |
Hashes for traefik_bin-3.0.4a1-py3-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4e6a93ef91a26a2017e062acab55a623654a74623a4245e9f1477f5c1728755 |
|
MD5 | 2c29d4617926da3ae10855414af6d330 |
|
BLAKE2b-256 | d7d71e9514f49b05c063deac466a46f1ce5f0d69ccfe48e1fe739d95f8fcb39a |
Hashes for traefik_bin-3.0.4a1-py3-none-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8757702682d2aaaaa17d67be21a679753aa7cbde44d28f2bed2cc397c48dda2d |
|
MD5 | 785dd7f8c9f998070aadaa2c793f6dbe |
|
BLAKE2b-256 | ba84041da00e39b65e35062739287ad31c88e324a91cab9b0f0c530d083176cd |