Skip to main content

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

scc_bin_edge-3.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (2.3 MB view details)

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

scc_bin_edge-3.4.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (2.5 MB view details)

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

scc_bin_edge-3.4.0-py3-none-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

scc_bin_edge-3.4.0-py3-none-macosx_10_9_x86_64.whl (2.5 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

Details for the file scc_bin_edge-3.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for scc_bin_edge-3.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 63749d98a0f2d63ff1aac9310a573963ff8d27d99d4e5c731613d0fa73b4d613
MD5 d9153115b6c8ffd375bdb3784e358710
BLAKE2b-256 c3b05f63787a071238b805c0a91e77cab45060c134a2e4bafba989e8e6dd569d

See more details on using hashes here.

File details

Details for the file scc_bin_edge-3.4.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for scc_bin_edge-3.4.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f352cc07d29cb00b062f123d767ad9117649265ffa676244d227d974bf5c6e6b
MD5 39c5a47a3fca29cda4e0f7263ab4688c
BLAKE2b-256 4a339fb063068bb9fe09a254e12827bcd6b9dbdbf7a082d36b105519b7ce95c5

See more details on using hashes here.

File details

Details for the file scc_bin_edge-3.4.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scc_bin_edge-3.4.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c2ecdf9868e4c50e20c00bb4b55b26264ee70d61230a575f64f3c609f1d6bfd7
MD5 b2b557ab60b06837144f03c044a6fc39
BLAKE2b-256 0b0c13904b3856aae78588f168b5b98b0785c8071160385926bfcebb789ec0bd

See more details on using hashes here.

File details

Details for the file scc_bin_edge-3.4.0-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for scc_bin_edge-3.4.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 bf621fefb4ba91de38d0cef51090e80b45bd0c04e09f8a099db7ab16da9ffc70
MD5 873f4c34c29ea362cc468a8572a3e352
BLAKE2b-256 a8a5bcb0f751da673d2dfdce6a719d34de2d28e4183e6221edde8b49a2d90332

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