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 just-bin
: pybin version, upstream sourcepip install lazydocker-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.18.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27681fb1ec0f69c42e5ffb229855403d0824e47803bd3ff6aabc5db890d7b43d |
|
MD5 | 8f10fe1d120dddc092c36d1c92e2167e |
|
BLAKE2b-256 | 716bf754d53f24fa4ce57c9f2818e49ab8797104de109cfecf1c9147cec4472d |
Hashes for just_bin-1.18.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 029a1ccd87a85392145e2b2ebd858acb7702b11fe1e0eadd8556e87408c5f84f |
|
MD5 | 7247186e012ebf4a7937877ca5366f7e |
|
BLAKE2b-256 | d2eeb9ee1b18ac02de7ee917a53448c63faf55d9ed19c0933ae21ecb10b50ab9 |
Hashes for just_bin-1.18.1-py3-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b5c1c88d7c76cf9fb13fc4399690497f03026adec382fac20ea1fd5d3e73eb7 |
|
MD5 | 744f31b5050aa687a40c42fefdb22327 |
|
BLAKE2b-256 | 8bf0f1f8d22cc0858169d36c6929152246f1d21a1cb3a263624fdc67083c9053 |
Hashes for just_bin-1.18.1-py3-none-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87d243e34617ae326c1980d0ab96a7be990e6a9f3c7e6e7e4a21de4eb8580df6 |
|
MD5 | 2645f103fe0879f1806a6b00b8decbad |
|
BLAKE2b-256 | 8384e4e73e77721676d2969ecfcbf41586b14aa20969193d9a8a697b165351b8 |