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

If you're not sure about the file name format, learn more about wheel file names.

rclone_bin-1.69.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (19.9 MB view details)

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

rclone_bin-1.69.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (21.5 MB view details)

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

rclone_bin-1.69.1-py3-none-macosx_11_0_arm64.whl (22.9 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

rclone_bin-1.69.1-py3-none-macosx_10_9_x86_64.whl (24.5 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

Details for the file rclone_bin-1.69.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for rclone_bin-1.69.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 0d995c00d06b23d92ad595d111b92657c7c65754f74c7c7b9f51593e437a379c
MD5 025045e53db37ef609147f7745781100
BLAKE2b-256 8ebca6f3123111310254f9507b8f2048e0d13b8c6fa09f4e76e8d6f89049bb6c

See more details on using hashes here.

File details

Details for the file rclone_bin-1.69.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.69.1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c9a4415fa7a42fa99a79609b8afad2355939bcfa176b51ee2f655fa29f075dee
MD5 5526501621b537abdb21a8b6775580d3
BLAKE2b-256 e6186489d3ad27d8f99d0753770a08e851b6ae456e5bd7ebf147415bc9b15f2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rclone_bin-1.69.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 82f034a38e6f27807e1427feff19f273881d88588fb853c5b397beda47f47865
MD5 8252543059ffdd5170d64cbb8217d08c
BLAKE2b-256 433583c930ed214ebc0292f3114da075f8e913b575d9080a2188e1fddad0911b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rclone_bin-1.69.1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4e9c18f175b6966a571357191ceccb78730e0291646f84b769d288cb16d17ba4
MD5 c344420a48cbd53b86b1439b7f85446e
BLAKE2b-256 493b372ec7a444e9a2dd082aa5ca4bc17c659ae8d50d4549bba2513e0c501d82

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page