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.

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

scc_bin-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-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-3.4.0-py3-none-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

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

File metadata

File hashes

Hashes for scc_bin-3.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 071a21ec0fa54ef0a899b1cde238061a15121771bf4e0af97d4d1c8bd6c5bfa0
MD5 01b10f25abd8b558af1cbd1c791f884d
BLAKE2b-256 a38b97c1c0a6422ddad67d8a6537d31aa3d4b263fd3fa92e70bcf1e0eb7c2833

See more details on using hashes here.

File details

Details for the file scc_bin-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-3.4.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b7bfcffb925968082dd065972dacb8c778ed355ca2c9e147ba770170ee5fc011
MD5 90fbe472e16b12a2465c920101becf8f
BLAKE2b-256 5802cf6add1d27b93db1604e68f3de109d2e72bbae9864e75cc5a5779034df4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for scc_bin-3.4.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4be55f97af9e363b8bb325bcc51fd7cf041f5df31ea61f1798a02d06ac298425
MD5 30b17a14647612f383ff9682d98682bf
BLAKE2b-256 7cff291363625782320710b0bac44974b0ecdd4cd59697b8642f6f329cccb4c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for scc_bin-3.4.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dd7729bef2590c364ae1ee9970ac63c327761dae45b000c7ef7a29e85a3461f5
MD5 fc2a5b1471a5ba5eeef419063855395f
BLAKE2b-256 6ff5a87727e006f8f0eede26064d59985ec46deb1802d36b6c218067914a9725

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