Skip to main content

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

rclone_bin_edge-1.68.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (19.2 MB view details)

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

rclone_bin_edge-1.68.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (20.7 MB view details)

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

rclone_bin_edge-1.68.1-py3-none-macosx_11_0_arm64.whl (22.3 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

rclone_bin_edge-1.68.1-py3-none-macosx_10_9_x86_64.whl (23.7 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

Details for the file rclone_bin_edge-1.68.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for rclone_bin_edge-1.68.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 18eb393f49ba79a4aed6bfcfb908f20c4c8e0d362c2bca7d6b0fc79fb11917ee
MD5 69db93dbfa5c327bb30ea1db3ba19f6f
BLAKE2b-256 dbcb1ad03bae867dacf116719323c4846bab6100c79cfdb93066debc1fd0709f

See more details on using hashes here.

File details

Details for the file rclone_bin_edge-1.68.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for rclone_bin_edge-1.68.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f091892cdc0ce526ea016bc6a829a4a7f87a2ef61c65bc48a3b40d7803979d82
MD5 02071792982b7657c89ead47dfe36fc1
BLAKE2b-256 c84f8276e46253cda05e9df558cdfe490d586568359e9bfbcf8aa674885bb01e

See more details on using hashes here.

File details

Details for the file rclone_bin_edge-1.68.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rclone_bin_edge-1.68.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 83cc78d2cda134613e19e9e1cda4dea153cf5f5e3346cd35c8cce4a402d4004c
MD5 249a0a556fd873a83b5e11ed4d2fec09
BLAKE2b-256 c6aa137f3209d4f849c336dcb626284719d38f0d2de91b34b899d92a9644631f

See more details on using hashes here.

File details

Details for the file rclone_bin_edge-1.68.1-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for rclone_bin_edge-1.68.1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d0bbb98bb19d6e50af96e1016a767a1ac1979aeb8b621970e8085c7c775c6a6d
MD5 669952101432623346c63384277c07a7
BLAKE2b-256 270cfce87e65b0c18f799a552d356844d122f49acb8aa7b0f0cea230ae684bd8

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