A thin wrapper to distribute https://github.com/xo/usql 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 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 usql_bin-0.0.1a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a8d0b2fb5f3bd361c214ae3e03c42684cb358f23f21bf75655e322830e2851e |
|
MD5 | c482faa3e4a130481369a292dddd0d34 |
|
BLAKE2b-256 | 9cd0d003f9af71070e4d216602652c04752e620099d562643459c5a23235560a |
Hashes for usql_bin-0.0.1a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 435c4a92b92781a803447c9f8c8dc3cca38ceb45f550e17f6d6b3730487e563a |
|
MD5 | a41ef61e951b7d3d61a024356818b4a3 |
|
BLAKE2b-256 | 7715f82f582d7e1fa2edc78de7f55915121df3bdd7bb405e8ac836f0b3fa9540 |
Hashes for usql_bin-0.0.1a1-py3-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d1094cdf84b51801e21f6a6e42398a52b2dc202ba49377963b331043e1109a2 |
|
MD5 | 80e8ad96b48065cc8cfd62369a6cc54f |
|
BLAKE2b-256 | e42d92fa778e165dc25b9e18272992c3ad006744d11bee9066f6c8870b047ae4 |
Hashes for usql_bin-0.0.1a1-py3-none-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01397f5232237b83a5f92e2f08f1313a58569dd4b41a1a3cf1689ed7f2cd12f3 |
|
MD5 | ee1f7e3815eb26a3e7089c9f0ae6af36 |
|
BLAKE2b-256 | db7ee640f38e99aa1533fcdd5f408a5e24a59d75b6b0ee3301f14c40eeef30f0 |