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.

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

rclone_bin-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-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-1.68.1-py3-none-macosx_11_0_arm64.whl (22.3 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

rclone_bin-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-1.68.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for rclone_bin-1.68.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 79c90bb4457035db3ed2d59058f2d300a7201c40b7678a13cc504a061b8435c7
MD5 a729e9ea280a52c5d951548aaf96a1a2
BLAKE2b-256 fd8f8fc2e140fa7ecb534bf573169ac655cb0949f3d2f69bd2a80e56eec657c3

See more details on using hashes here.

File details

Details for the file rclone_bin-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-1.68.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f0b75cd659eeb5bd4eb949883fd3e6bd9cb7e44d32b778625d8166efa163bfce
MD5 404de2a69b858914af58e4f59d8907f0
BLAKE2b-256 b0f20f9ecfb4d24d3650b73f1183395a78a34a72b382c0674525a0193414de94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rclone_bin-1.68.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 863a3f3f806b92139495548c2e122842cae29de840f276e405e22a9a7343fc86
MD5 7a97094b3e7c778e03bd90020dcf7ffc
BLAKE2b-256 11dc920e1ea827cec2f64d740fbf98da5c3f332123535c73e77f38e5bef8ddd7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rclone_bin-1.68.1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1bd52d95278493ef02e04ddf146e8ff5d8c8844ec459adeee9b64bf024d20167
MD5 aba5af273277c4983435751c375f2dc1
BLAKE2b-256 6e3d47b6a8b4cc949e5daf2943b265f490f2c191abba7718952d57acdc19c629

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