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.17.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a83e01d793bc0bb41551927901c1508ad761f3c17a39b434df1d57739d5600f |
|
MD5 | 495b854333b850111cfc97f11f2faf98 |
|
BLAKE2b-256 | 984bc1782661ae2fca052941b9065c0d2ceb5da93f12a55933060e6cda2a4233 |
Hashes for usql_bin-0.17.5-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9293f839c598ba87ee963e5331902c1a84aa9cd70935174542c9e009850fd04 |
|
MD5 | 0285a8f339fed410f859054438eaf8a8 |
|
BLAKE2b-256 | 530f40681a4217291029f0b439e5a490c15d10e97a3d59276c30a1bbe6efa222 |
Hashes for usql_bin-0.17.5-py3-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f945a9268280a03039f68acd3bffff2608be1346f4aa8f081719666c6e166d8a |
|
MD5 | aa09c8cf8f3cad2401f753c9c4219d15 |
|
BLAKE2b-256 | 096c3f105cd8b23f1757e5ec2e1044bc366f02bebe28283c2f43422211c989bb |
Hashes for usql_bin-0.17.5-py3-none-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40f9b82d0f7136987b6060eba0910c3c911af2b25629dacc9149aec351a70560 |
|
MD5 | e4402621e3fbad336d3e9f8a7d87a040 |
|
BLAKE2b-256 | b3e4154dad27a6d188b1962fb7c536fef06b498b8ea416f390149d5a6da1c082 |