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-0.0.1a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (2.1 MB view details)

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

scc_bin-0.0.1a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (2.2 MB view details)

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

scc_bin-0.0.1a1-py3-none-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

scc_bin-0.0.1a1-py3-none-macosx_10_9_x86_64.whl (2.3 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

Details for the file scc_bin-0.0.1a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for scc_bin-0.0.1a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 e14b158ef065bdcc7367b6134a1fe4d9626523a080c2f191924d30eb8d7d3424
MD5 718a82cb2a42922ed29e0856ae0ccbb5
BLAKE2b-256 449838f8197ba1791fa7ed70b6fb64d3ade84a7f086e31cb7253d2d0d85480db

See more details on using hashes here.

File details

Details for the file scc_bin-0.0.1a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for scc_bin-0.0.1a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ccad7d025501a51ebd1a9fe6e00901d898040f8c9e4f012c356853aa53680cdf
MD5 f5215b945ac9e260871bda94b39dca38
BLAKE2b-256 7e619a95e3a2fd4025b0459596f5a8aa35e03a31fa92f55b8683542825bb8767

See more details on using hashes here.

File details

Details for the file scc_bin-0.0.1a1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scc_bin-0.0.1a1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 16255dec7e943343a044044ea3638beb41a7022eaee32b57fffad01cc01b67ae
MD5 1504d5bccba836a747eb9ab5b2128b1f
BLAKE2b-256 f6e99bab350a9f9145bbc40bd896bf4c94ac5b53ef1e2e2c44fa3bc1d51f3856

See more details on using hashes here.

File details

Details for the file scc_bin-0.0.1a1-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for scc_bin-0.0.1a1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 153a84d6186390a5f08767888fc7fde0c1873a7c9d0a5b7f64b45353748d343d
MD5 3c312b9873849189caca30360dbc0104
BLAKE2b-256 e08b8ecc571ceccdd648723abf39b06f4b4f9c5a02022450309a70657555be85

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