Skip to main content

A thin wrapper to distribute https://github.com/fastfetch-cli/fastfetch 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

fastfetch_bin-2.28.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (4.0 kB view details)

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

fastfetch_bin-2.28.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (3.8 MB view details)

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

fastfetch_bin-2.28.0-py3-none-macosx_10_9_x86_64.whl (4.0 kB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

Details for the file fastfetch_bin-2.28.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for fastfetch_bin-2.28.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 546cc015c40afabe512a0f0f1eda94fa7ba29c3b33a3cfd33f46bb0b6460796f
MD5 2e76c442df3c105f87ccf3e80f00e2ec
BLAKE2b-256 afc9494bd3c253b077da3e63597e1b9d61602a3b6eddb3baf7e1ca858cd9f14f

See more details on using hashes here.

File details

Details for the file fastfetch_bin-2.28.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for fastfetch_bin-2.28.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d6b02667462fd589af77b9153dc5bec1725789f9c18ad5a6323ed0fec452a079
MD5 a9a2d394cbc50b27ef0c932805ed4111
BLAKE2b-256 8e6e4c2e36122ae879c5dfe13792412e64c65d30c1eb30632aaaa97b181c79fa

See more details on using hashes here.

File details

Details for the file fastfetch_bin-2.28.0-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fastfetch_bin-2.28.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 50f99652aa0492ecdf4dfd0822b29b10062f25e5fe72f0bc80f275c912b619e9
MD5 0977ec355cac4d4e2f44384df9eed0b3
BLAKE2b-256 2995742eff54b90c9cd04e96b7cb41c0622a5402ba1797c1adb423f33fc1188b

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