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.29.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.29.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.29.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.29.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for fastfetch_bin-2.29.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 313bee0d06e6d04194009a6496cece11b44019e97333f041f8a4d376d90ea184
MD5 dd19c854ca0087918a71a97c9b5e9970
BLAKE2b-256 90a14b494c55059dd0ecf110f3258e10e0e3a2f9c91a0706d349a2497641cae6

See more details on using hashes here.

File details

Details for the file fastfetch_bin-2.29.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.29.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 0e1542ddf83fb76b3a3c8c57d85465c4186de2ad4479fe071bcbe40a45519a68
MD5 ee12f4a7b4fe9f0015b427cbb9987610
BLAKE2b-256 e4ffe02ecbd21c8ca297e3a6d522869c83c45befe6e968512264389cb3396c5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastfetch_bin-2.29.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f78394ff93c21be334d27958750c83a69a29e1b7fc8539ed0e803da6fd3b3e32
MD5 419a5c64de619015c225a942aa8c924d
BLAKE2b-256 0132b3d8eb378c0e799d1f93ecd48aa094496a800666eb78364e3e84f7cff05b

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