Skip to main content

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

dbmate_bin_edge-2.21.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (10.0 MB view details)

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

dbmate_bin_edge-2.21.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (10.9 MB view details)

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

dbmate_bin_edge-2.21.0-py3-none-macosx_11_0_arm64.whl (9.9 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

dbmate_bin_edge-2.21.0-py3-none-macosx_10_9_x86_64.whl (10.6 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

Details for the file dbmate_bin_edge-2.21.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for dbmate_bin_edge-2.21.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 2e1cd27278349207f75fd365e82eea8ff1a8e2134f703622b79cf0b29f7bb31a
MD5 325b4b3f70dc7e7533bd31a964973ab7
BLAKE2b-256 a4f36db6ed66047e51b96b1765667472c2da09e56a9a2a60eeb75f509d551331

See more details on using hashes here.

File details

Details for the file dbmate_bin_edge-2.21.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for dbmate_bin_edge-2.21.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c47ef97a344ab55fa291a3d9be3dc65c2c54bb171a6c3638957483171a6d0625
MD5 279d694d9e234eea8431afe8964c4cce
BLAKE2b-256 07f4160e3cd1751f22b99c12b88e25f518558497e420795865a01d09fa612236

See more details on using hashes here.

File details

Details for the file dbmate_bin_edge-2.21.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dbmate_bin_edge-2.21.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aeb9cf3325117a83ea131323fde1a17120221050224465a9b2dea9ae71fa41e9
MD5 d7b2dea0adbbc479aabc3200f85ba7d2
BLAKE2b-256 971da3c2cee3624e234bb9e7b79f0d8c9af67c3bd7d8b66eaf8eb5eb496dc90f

See more details on using hashes here.

File details

Details for the file dbmate_bin_edge-2.21.0-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for dbmate_bin_edge-2.21.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 641bab55072e9ddb6de2f722dac8084eabef8a9aa93fc16f641c618489c67670
MD5 957c5f0dfe5bc96fa4a92445306c74c2
BLAKE2b-256 872fbc26db5d9a4e0e82de56d977c53d7d3e65e09228f17926e4bc259c015132

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