A thin wrapper to distribute https://github.com/casey/just 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 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 just_bin-1.26.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f75b8f0a8522fb7d5ec58376f9d56e5f5ad1b6844e39248b8afbfffbff4dd0b |
|
MD5 | a1c3a6e6ded4314401447c6da31e2182 |
|
BLAKE2b-256 | 97babb6089d5365d1cc93f83ec1904802a0c4e29c9dcec4737bf03b25c3e479b |
Hashes for just_bin-1.26.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8782afdedcc2b676448db58746bd509ae391cf0f7361ff32f93be76c33e9e637 |
|
MD5 | 7aa7a4b12f5cfc7f176936ac4f6f9bbe |
|
BLAKE2b-256 | d538d536414ed40a1d47089fa365ee20f101e413cf887d09f306bef084eb7ea9 |
Hashes for just_bin-1.26.0-py3-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9af05ac2bc0250395c3b27b75112a4bcdef375375e74b17ca733bd996677153d |
|
MD5 | bb86b7df318df74936504ccf4b290a6a |
|
BLAKE2b-256 | 076549adc2344fafb1b60ecb8e3510fae236689741c7fdc287868df322e7b2f0 |
Hashes for just_bin-1.26.0-py3-none-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93c42adbbaa756d05946e5c62a9f75aadaca64ee18b65979a64745f45790daf8 |
|
MD5 | d0f22dd2aed38788f58e86c8bbff992e |
|
BLAKE2b-256 | 457aee783dcbc708656af834070d0c774b5b4d65025fde79a035cb6004072477 |