Skip to main content

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

just_bin-1.36.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (1.8 MB view details)

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

just_bin-1.36.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (1.9 MB view details)

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

just_bin-1.36.0-py3-none-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

just_bin-1.36.0-py3-none-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

Details for the file just_bin-1.36.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for just_bin-1.36.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 f94a265a5fa271ceeeb8d3144ce1a40dda411b71a151fd96b9872f14a6366f6e
MD5 194c8ef326522aaffb119f2583d5d639
BLAKE2b-256 23fe07713a22dccb0048fa11075ba6889379336519671278938351bd4327fd7b

See more details on using hashes here.

File details

Details for the file just_bin-1.36.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for just_bin-1.36.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f8563fcda45ef367215e752f020d7b834d370ff35d1db6fccc19461a9e7e7937
MD5 d6be20411dab1098fce4b47307e44bb6
BLAKE2b-256 2a253f5933bc962c74e4c540fb04857a1c30beaa78ca8cee9159c0c1c94747e8

See more details on using hashes here.

File details

Details for the file just_bin-1.36.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for just_bin-1.36.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 71f69a1b2b0ba508f10e640395b2eddc9a1357e0aaea49bab5d9f7dfa1985632
MD5 8c580ede1d6e5db50e38ab7299591569
BLAKE2b-256 dc4501af041a4aa99bbc70d062005eff8117a2d468b4272f1469bf33c0b47bd1

See more details on using hashes here.

File details

Details for the file just_bin-1.36.0-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for just_bin-1.36.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 69e327fbc25e7b708c2ae33a87332cbc3ba799d44290774b8a8747d3ae441fd0
MD5 2054ec8dd6c98d63e3778bb019801bd2
BLAKE2b-256 0effd23e2207be909c45947e2c0f4aa4a928552d133d82bbaff5ba0d38236158

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