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.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (19.7 MB view details)

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

rclone_bin-1.69.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (21.3 MB view details)

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

rclone_bin-1.69.0-py3-none-macosx_11_0_arm64.whl (22.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

rclone_bin-1.69.0-py3-none-macosx_10_9_x86_64.whl (24.3 MB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for rclone_bin-1.69.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 1fefbf028b6b4404c57180eb0ce103d844425f8b7f2d6faab9632974fbd9446e
MD5 20234171dab3c9f9c4522c40ee0214c2
BLAKE2b-256 56ef80c3fea095e3c29dce6f0688690e64fee455c37f258c6b7aab2060e7e532

See more details on using hashes here.

File details

Details for the file rclone_bin-1.69.0-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.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 2b4c847d1cf69abdf6954a8d45f447a7d691baca09c7d1ca47fbd18b23cade8a
MD5 8af87e2cb7b45f2dbecaa33bb663d788
BLAKE2b-256 6b128f54990a66f6d9c9cff6ae81d7dfd3f7fd307b022545d2cb0fbb6dea062a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rclone_bin-1.69.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b3c79ffa32e5d04f9175e7d2ffae89026890f8ac16a55eae734783703eb51bbd
MD5 60a656e758bfbd14e5809d9154730d5a
BLAKE2b-256 7d4d21bb85967439db01e84a90c669b40e7730eff4b669fcbbecd88c0d8e262f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rclone_bin-1.69.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7ed09606a2516bbafef3a3fcc74b2427a4d11fb9a83bfb8665b7de04c9450697
MD5 38b492f6838700a27101bc48760e5ace
BLAKE2b-256 451193ccf5cfdeab25f00491b74338ad66b6e23b2e20982839ceb7801977ed7e

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