Skip to main content

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

hadolint_bin-2.12.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (5.3 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64 musllinux: musl 1.1+ ARM64

hadolint_bin-2.12.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (2.4 MB view details)

Uploaded Python 3 manylinux: glibc 2.12+ x86-64 musllinux: musl 1.1+ x86-64

hadolint_bin-2.12.0-py3-none-macosx_10_9_x86_64.whl (2.6 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

Details for the file hadolint_bin-2.12.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for hadolint_bin-2.12.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 da5534320a54895f1a7d040b1a16e421117043bcab1a18c4a3ff1088031809ef
MD5 b16c7bf66e6a8197103925ba75a308bc
BLAKE2b-256 894e15685e8a2ddcc9c70d0af1627a0c4068f152f4338bea87429aa34a183276

See more details on using hashes here.

File details

Details for the file hadolint_bin-2.12.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for hadolint_bin-2.12.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 fc5ee29a6d7f27ff5e909e984100afadb9dc86d79af8b7aea50d558ba3e1cbdd
MD5 caedbbc3004a79497c46abcd59049984
BLAKE2b-256 affa5d5f9cbe2effe8eaf25931730d9a763c3f45b48e242e2159a2aa71d63448

See more details on using hashes here.

File details

Details for the file hadolint_bin-2.12.0-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for hadolint_bin-2.12.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6cc9727f55726911386cb4fccd434f838b2712092d7261bc67e133a6abec09e5
MD5 dd0d50dfc04718b8c6e86367d059403a
BLAKE2b-256 0eea4fb6f42a3539105c39ac119d7c96a4e633334d065ca05d2c719c924bab18

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page