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

Uploaded Python 3 macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for fastfetch_bin_edge-2.28.0a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 b103eb68aa7ebdbbc6699c79eecbdfc229d03b39a77e2c22cc8121435b19cc9a
MD5 c495dd148e2dad15e39394227cd6f941
BLAKE2b-256 0490863c5baa02108b3dcd99c58eb0feeffc2495fb50fc4316e6f94d6021697d

See more details on using hashes here.

File details

Details for the file fastfetch_bin_edge-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_edge-2.28.0a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a752b43eb651b7a8b4cf3556f93455c85d1d69b48c3470d26184418c47d8d004
MD5 6b20ba77efd5093143cdd7920704166a
BLAKE2b-256 735acc99ef9a5aac8f1e7c595e0e7b3389b7fd61ab25cbbd271cb419cd6e3655

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fastfetch_bin_edge-2.28.0a1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a67976944e8d6f29e0588f4d57102a7a6a4c555e49adb74b36be78d0ba9b2b3e
MD5 d5d13c0a6747f44cfe4d7e12743d2c2d
BLAKE2b-256 b231571095dd25f062173e4f551078a76654b0f4414a789949d034ad2e0e11d6

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