Skip to main content

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.

This is the list of tools bundled this way, which can be installed with pip install $TOOLNAME-bin.

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


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

lazydocker_bin-0.23.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (4.0 MB view details)

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

lazydocker_bin-0.23.3-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (4.5 MB view details)

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

lazydocker_bin-0.23.3-py3-none-macosx_11_0_arm64.whl (4.4 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

lazydocker_bin-0.23.3-py3-none-macosx_10_9_x86_64.whl (4.7 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

Details for the file lazydocker_bin-0.23.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for lazydocker_bin-0.23.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 be5d2d7e154b1b9e9237fc3987bce28bd2c0e754bc54a5b242fe993eb8db20b0
MD5 5f47b1ae1154fbf51ed5cc14a849c72d
BLAKE2b-256 b8fe145d5ab7fb37dccd8fc6f704e5efeffc1ee933b292290ad6266c02068036

See more details on using hashes here.

File details

Details for the file lazydocker_bin-0.23.3-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for lazydocker_bin-0.23.3-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d0703f46ba9a9ade399c2c0f501ef41cdc7cda1d311eb22b8ce5c0a976966bbe
MD5 18ce90685a833f42c676bbea807f0295
BLAKE2b-256 29282ca05a4bba88fdcb55473e262ca7d7bea616c37735896b1aafbd3d35f418

See more details on using hashes here.

File details

Details for the file lazydocker_bin-0.23.3-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lazydocker_bin-0.23.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 524ec90564eff0d008850289e52bbb88ecf7232bc31929ec9789e631837de4fa
MD5 c5cb350fa829d523a901a32bd4277f2d
BLAKE2b-256 5eed64f95b741af57f06f7625b3e66ccbfd38459f1cc5ab7ca8038f38a32ea70

See more details on using hashes here.

File details

Details for the file lazydocker_bin-0.23.3-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lazydocker_bin-0.23.3-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a4579c7a0ef17d98271f31eaf12f52d0a2cf8ab1571f1b9952189f54cf297f71
MD5 49275fefd14d1ddc137c4dea745ae434
BLAKE2b-256 d84bdf421b3bafec01f21ce77cb0859bc7b140b0e9577b6fe43249eb84f0b6fb

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