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
pip install dive-bin
: pybin version, upstream sourcepip install hadolint-bin
: pybin version, upstream sourcepip install just-bin
: pybin version, upstream sourcepip install lazydocker-bin
: pybin version, upstream sourcepip install rclone-bin
: pybin version, upstream sourcepip install scc-bin
: pybin version, upstream sourcepip install usql-bin
: pybin version, upstream sourcepip install dbmate-bin
: pybin version, upstream source
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for dbmate_bin-2.17.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac2648d2d750630e322bbbf985dbc8366e6bd69747fc9dae8f6ee83add2160ba |
|
MD5 | 295a242b1ecde5d5ca8d049456e31885 |
|
BLAKE2b-256 | 9afc756f2487062f5216d89efaf4c140de452257e321428282115ef9af6bdd28 |
Hashes for dbmate_bin-2.17.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68270fbcf408585818aa3485bca0259cfbad50a5cd0d5564ca28fe0943fdcf64 |
|
MD5 | f7b8ed541de7aa704d207c1fc3f4359f |
|
BLAKE2b-256 | 74d854cecdd3914bd9eb4b2a2050a90385e300bf5cf084235b9deb70cab8a4c9 |
Hashes for dbmate_bin-2.17.0-py3-none-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e4ec9f7fd33fdc3e84e4b522bb38078ffbdf433d68ec2680d5e5531ae917b4a |
|
MD5 | f9cfa335d907012e9aa6c8fdf4ee3973 |
|
BLAKE2b-256 | be908411a6f0325f330ff9d4f87ac0b11eb6acd76d210c5157090600700fb3a1 |
Hashes for dbmate_bin-2.17.0-py3-none-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69ac5ab190e6c891907f615003dfd76ec8174f0cc39b9060280fc673203a9de7 |
|
MD5 | 53f89490ed7d645d36d2dde478b06d2d |
|
BLAKE2b-256 | 86c82907c75eba9d037b5826e4a6216947b430f3aac0bb014b0c81dc0b278ed1 |