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

If you're not sure about the file name format, learn more about wheel file names.

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

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

fastfetch_bin-2.34.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (4.0 kB view details)

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

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

Uploaded Python 3macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for fastfetch_bin-2.34.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 3ba7901bb8272a45da7afc9d0cd04c782f64d840933362a0af274d1eef587390
MD5 7f4c207383d736a5f39410a9bc6adf6a
BLAKE2b-256 73923a35fc93334f1b006b486f3f9051ebb3d2eda4d0523bf4b3410eafb351cd

See more details on using hashes here.

File details

Details for the file fastfetch_bin-2.34.1-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.34.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 fb0dda7cc98f56511f3d8715ec24b9a8df512a6f07e6df4d2a18bdd93882f42a
MD5 cb106110a43879ec20a5c091c96392c2
BLAKE2b-256 5b4967bf1a877acb218f20799bc1b5b12f64d387985b1653c8c59662fff1791a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastfetch_bin-2.34.1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 80380c6ba7591fb9af5f6d37e11ec9c881815ed17b9149b32063cc963b8bbc32
MD5 08ea6aa468f6b2b5e769ef2584bf4f6e
BLAKE2b-256 5e2d9e671e79e236215731d9863825b05b4e0175ab8b093820a0549b8dad2352

See more details on using hashes here.

Supported by

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