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.

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

just_bin_edge-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_edge-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_edge-1.36.0-py3-none-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

just_bin_edge-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_edge-1.36.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for just_bin_edge-1.36.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 a67137d9afc685df2e3ef7b124a6717ab6d3e8beeaedbfcc74636d763263a556
MD5 9d86c806b4226be5439c07fcf7e835a8
BLAKE2b-256 0c8cb454ae14a2bc5e1708fe3f1c1d983a11861f81d1dbd64897a63e3a0b7f16

See more details on using hashes here.

File details

Details for the file just_bin_edge-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_edge-1.36.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 739bd9d950791331793fde7a92080e0c74005ffebd7996b636f12cf85056132f
MD5 55f903f2dc976ab50a27b791c3a19953
BLAKE2b-256 00a09e59df14784bd7ac781ff1a4fd6b541cf5e412f87f13c0473b179de84d09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for just_bin_edge-1.36.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 142983ec82df3becedefb407d7fef81ddf36e1a8ac460165f0671fcb923cf000
MD5 cb64e5fd04b093d6809c270c1d2f4c6d
BLAKE2b-256 17c3d8c265a7d82e4d3fe9ee5b311533d86acff5af5cfc55ce37119242377b30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for just_bin_edge-1.36.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8302a3255cd43ed2bbe02164474090764ee280eb31e515bb69f7b7c1de999a3d
MD5 fa939ef2a8e6d2fedf79228ea1a1078e
BLAKE2b-256 f7fd880009f5fd725dc2b6a3e464fd45a2dc06966d39ac236b4c0c9e27ac8e80

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