A thin wrapper to distribute https://github.com/benbjohnson/litestream 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 sourcepip install dbmate-bin
: pybin version, upstream sourcepip install traefik-bin
: pybin version, upstream sourcepip install litestream-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 litestream_bin-0.3.13a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15b8e5bed765e241dae21d717f7bd86d365e0e22423a6319272b6f0e371f15df |
|
MD5 | fe54108d286ce0eaeced21e914a15af1 |
|
BLAKE2b-256 | bdb99602faed1e438843ce5ba643ffae69bf4cb0dcfb71b8a6877083c119ff4f |
Hashes for litestream_bin-0.3.13a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a905520562627ebfaa0ae0f09baaea53fe34e4e5d3401be1dd8c39ddca4d3cfa |
|
MD5 | ca726ee643e56adf9a53ea69a19d3389 |
|
BLAKE2b-256 | 67fa00cb8b66cc79cb797d125f4ab476d2a77f7cf93f381da0ce91cac1f9c4e1 |
Hashes for litestream_bin-0.3.13a1-py3-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db1c6890bd00374ed40ee0c56dc51714b5571c70231a49898f839a6780e32864 |
|
MD5 | b5c919872b6d484684f97d184a088b62 |
|
BLAKE2b-256 | d56f68089ede8409338938a2d64ca519f0dd65b7bbc1f3d396d112ab3443d2a1 |
Hashes for litestream_bin-0.3.13a1-py3-none-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcdd2839006793aede84241263a3c498565640d3005b46db4772d08d16fd2993 |
|
MD5 | fdba15c246d39e807d16e056c9edbd2b |
|
BLAKE2b-256 | 5012e830c7886b3ad9b7bfe5a74222ffebd078695d1050f6510fbeff4255df9d |