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-3.2.0-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-3.2.0-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-3.2.0-py3-none-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

scc_bin-3.2.0-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-3.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for scc_bin-3.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ca05a3a169bc04ee493fe118466b00953c3d6e3efa85e186f9b45d27bd3e0958
MD5 0898a4375d4bf0257bdf6d84639c25ce
BLAKE2b-256 2b7ae9413e8799ff019dd353a4c2888af6723fead40002e6bbab1c950787680f

See more details on using hashes here.

File details

Details for the file scc_bin-3.2.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-3.2.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a274d071067a3050b1a440e716ff340de0e818f3e3fb9018b53d12ffb46fd5c8
MD5 7e7fd4498132d4010acbb0fdf50fb13a
BLAKE2b-256 88ef6f740deda0837f94af9fab8635a775b9fd3d35987fe09d44751feec56c0d

See more details on using hashes here.

File details

Details for the file scc_bin-3.2.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for scc_bin-3.2.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2cdbd554957ae9e98aee83da7868c7f24ad8d0d0eab9b7c2d6794203df390fee
MD5 130a7dfc3d34626813d86b6f30c3c35e
BLAKE2b-256 5b5ce80df79c6ec030362d50ba92ec248c68e50070cd5533dca0da3d5f73f92c

See more details on using hashes here.

File details

Details for the file scc_bin-3.2.0-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for scc_bin-3.2.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a3852d22e656539d3279ca9e48e2c3eb7dd6ace1dbee64345919592a15406037
MD5 99f0e41d846bd775c68f58c0b2c8c4b6
BLAKE2b-256 90a70470fbf39b0a2011c5dac343acee49f72dd0d4f4ad857bf513b4b537c7a5

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