A thin wrapper to distribute https://github.com/jesseduffield/lazydocker 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 lazydocker_bin-0.23.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 557196e2780af9b2b9373f14c63ed329f893566ca8f0db448821e6cdff9b89c1 |
|
MD5 | 664c2db7db0e68a4b2951d9fdc13d3f0 |
|
BLAKE2b-256 | f003fd8cd3271ffcdd81ab8dff3c867f0c211076847ff694b85829a0eec6a40e |
Hashes for lazydocker_bin-0.23.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55fd1f4ad9d7b91dfc6ed67ffe77c0611369714de761ff53b7584e8b0cac6d01 |
|
MD5 | 85d1788b76fe4c0f99b6169be6fea3f3 |
|
BLAKE2b-256 | 6caf26520f64992ec605323f3d92e6801ec45cc6ca3a2932fb75b7ef7a0adacb |
Hashes for lazydocker_bin-0.23.1-py3-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | efce88b9ee431bf853fb5cc8fc8b52b1b918b3e9642a6eba1bb83d3f74f8f55d |
|
MD5 | 476088eb1e76dc0a508825efe2803813 |
|
BLAKE2b-256 | 69b208c4c7f2b92950019912f4b562cb8758e9a14ad10464fd0862b8bcf0fc85 |
Hashes for lazydocker_bin-0.23.1-py3-none-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2665e82314a893f673ad394179949642ceb22e1cb7f3f01363948c0cfe52b281 |
|
MD5 | 082f356f80f61ac4f90ec476a494d90a |
|
BLAKE2b-256 | e5c04c5bb1171b048d431ed38462ab92d030ca5c59ab65c7eeba797992cdff92 |