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.
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.0.1a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ad18bb1c0cb7068dfba47b1ee9431a32ebe995e23c6a13fc90091e02351ca92 |
|
MD5 | ea1e49a7a1592c767ea8338d4be113f0 |
|
BLAKE2b-256 | 4f86846256c23345d44f1aa2602b6313dacd87979730961acb1880b975d671fe |
Hashes for lazydocker_bin-0.0.1a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cd82af1079801373fb957111c1dbbc0f74bfd7444a734ffc0cd73d2e1d920fb |
|
MD5 | 08bc2f0954d4239b4fd0c5599655050e |
|
BLAKE2b-256 | 48bec0a391c1ee27a86be95070dacca69aec54e5c7c98daeb99e4fad8f16073b |
Hashes for lazydocker_bin-0.0.1a1-py3-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b94e47b7be5e3abb255126d5ce7d1b80d573a6b53f87314b2826d43ae627667 |
|
MD5 | 5587a6b301712fb5dac9c089ebe45758 |
|
BLAKE2b-256 | 267ad74d7e43249fa10fbab34d3eb27a111ad0435edcc6f0c927355b6eba3c5d |
Hashes for lazydocker_bin-0.0.1a1-py3-none-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b17522cff1c93d82ee0c3d9a33f7a2807cdd25d505bfac17d07e58ad37643843 |
|
MD5 | fabbe812b910634409d53bdc4c61b9af |
|
BLAKE2b-256 | b46d745e9f1bf0b1d34fd26d39bff19bd1625cdbbf4a3582b334fab79a745000 |