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.

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

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

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

fastfetch_bin-2.28.0a1-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.0a1-py3-none-macosx_10_9_x86_64.whl (4.2 kB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for fastfetch_bin-2.28.0a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 cc5d217a530e2e555b00f0657555b3b38aa0ac3c2f68af41652f6a3c642532dd
MD5 5e01da9c176003524fa497a41082bbbd
BLAKE2b-256 b64ac8b8e44c3a904bd8d5cb4c4477a23a59979f8c8aea934354ed939a35b54c

See more details on using hashes here.

File details

Details for the file fastfetch_bin-2.28.0a1-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.0a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c033bb23382d74698c713570151807451cf87669802989e7834a863b20037b74
MD5 53cc021e3e032b2ddf89b079ddd55665
BLAKE2b-256 d8238bddbeda33a3e5da34c1a21dfdf2738ef1bec839d7b3110cb7d3a086e873

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastfetch_bin-2.28.0a1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 03b6d667b1de8a1f9790291ad56ba61eec711cfb5358e15c3d1d28fed306a1c5
MD5 54e75ad06345d6aa8599a16f937a5de2
BLAKE2b-256 7f8f70984947504cba7d63c98f8ccabc6288b4163f49cb4b6f843e56837b211d

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