A thin wrapper to distribute https://github.com/hadolint/hadolint 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 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 hadolint_bin-2.12.0a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75ffdb123f10fab27e6a56175a29843fa7d64a484e5c1f722c53c056cac4fe95 |
|
MD5 | c802353e854b4a0635d275efa3ec9912 |
|
BLAKE2b-256 | c700bcad9c7dbcb7ef900d8598a083e1e3789b9a21805018bedc02152912b2a0 |
Hashes for hadolint_bin-2.12.0a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c66051bc9c4baacd4b4fae6d8744419c7c54cc21e9853b9d59894fc92e3b75f |
|
MD5 | 80878fe661e15637518ea8a3c40e12ca |
|
BLAKE2b-256 | fa4d45a207017fe5b52487402094d1c9bed74ddb265b86d50091820a1b992fe8 |
Hashes for hadolint_bin-2.12.0a1-py3-none-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9500ec57f6dc01e6dd041d23acbd2a5c026e358195f663f0cd87f0f32f0f14c6 |
|
MD5 | 24d756a111e7189b3b303e0a7b6b5b31 |
|
BLAKE2b-256 | 4a78fe47f71f659bf91084deb7167fd489aac4179cbba1707044f8ee3a447bea |