Skip to main content

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

litestream_bin-0.3.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (8.8 MB view details)

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

litestream_bin-0.3.13-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (9.6 MB view details)

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

litestream_bin-0.3.13-py3-none-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

litestream_bin-0.3.13-py3-none-macosx_10_9_x86_64.whl (10.1 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

Details for the file litestream_bin-0.3.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for litestream_bin-0.3.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 a2af3f54df0588c4513f5d2f1ddc54ca6419da5244c28c1dae47a5423f257269
MD5 779072bf8a8a20109c34e9885afa1643
BLAKE2b-256 8a8446420b949111bb2e8b7cb6401667e9e81fa2519319ceec8df20e13713041

See more details on using hashes here.

File details

Details for the file litestream_bin-0.3.13-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for litestream_bin-0.3.13-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9ed599bf5f54512d0d287b8fff7cd786b84b0582b2c02fad542cec2efe00fbc8
MD5 16ceef143e7c6af864b457e39c2a4c04
BLAKE2b-256 635f6c4b78c066151c4c44ddac5afbd103a9b96a4920a3c62dfc97bf7250c9bf

See more details on using hashes here.

File details

Details for the file litestream_bin-0.3.13-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for litestream_bin-0.3.13-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e1f36b4e8ee53ae73c0f59581d097a568b9a3fa9f9d6874a9000769454904c4
MD5 4990c9107178823249ba3709608171e9
BLAKE2b-256 09e8df7c072dd16f3de6236f0363bdd373f6ef59c3600c80fa20d64620e397eb

See more details on using hashes here.

File details

Details for the file litestream_bin-0.3.13-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for litestream_bin-0.3.13-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cc8db199f3da14eb39cc5ab9e7f11bbcf2b5894cbe5383a065110e6aa9a89769
MD5 6787226ce7831bc44309a64f3b50b1e3
BLAKE2b-256 dd61bdc89f481066333db44ddaeea2d5216ce5b00c6ba4ee5a1c7d0d321cd141

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