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 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.24.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57bd44f1bda299db449330253eaa1fde7a97596245488c79157a7462a1096c0f |
|
MD5 | f41fe2d34f57e2bbb62c4297bfd7c828 |
|
BLAKE2b-256 | 25a6a89a0e6866ecffa323eebf1b6df86e9a04eb527d908e5ada4fa99cb8a1c6 |
Hashes for just_bin-1.24.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e54239904973b3be33e7bdbaa4bc2f20a018a11b8fcd213528d281a4ef2b3a9d |
|
MD5 | fd04d6283d9c91fefd9e1d2e6ca4fac0 |
|
BLAKE2b-256 | 16dc306222475ecd44fc3378e38e4808f3c34c5cf0cf5b29b8881318e35ed18f |
Hashes for just_bin-1.24.0-py3-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49ee1b8ca8f8ea9a702ee66fd82fd9857f6e69b95aac78acdfb732da739359d1 |
|
MD5 | 5986353220fa348f5ecd958ea4877f84 |
|
BLAKE2b-256 | 54ecdc1fefe58c77c993cd7008eed117d3ed0ef36cc47f5f3f0d03566cce05d4 |
Hashes for just_bin-1.24.0-py3-none-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ee4299923bf9058131d8274ee643650a3cad04af3d1cd1fb1cfe13005d593dd |
|
MD5 | 726436470b87139cdaa63512060508cb |
|
BLAKE2b-256 | 9821d9fda8a36f010362031aac4acc8842713bcabe882cf59c7779a38f4731c9 |