Skip to main content

A thin wrapper to distribute https://github.com/aws/copilot-cli 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

copilot_bin-1.34.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (11.6 MB view details)

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

copilot_bin-1.34.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (12.7 MB view details)

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

copilot_bin-1.34.0-py3-none-macosx_11_0_arm64.whl (13.4 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

copilot_bin-1.34.0-py3-none-macosx_10_9_x86_64.whl (13.5 MB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

Details for the file copilot_bin-1.34.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for copilot_bin-1.34.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 777c486be8fc801872657ddaab22c4d972bc346945338ec50f597bb5db2f76ce
MD5 c74f66054fe6cc00744102984c455195
BLAKE2b-256 14a4bffe30f48692dea61c1f7f874351985005decd9a5d57fb9b8d016deb1dc7

See more details on using hashes here.

File details

Details for the file copilot_bin-1.34.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for copilot_bin-1.34.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 1e4f6c18ec64bf19abbe2bbe0d11cf5624063ddc7a7ea754831cfed4253ff07d
MD5 7134eb20de7f7b831aef49997636a7cd
BLAKE2b-256 ef69bff9eebdc78e09d535955c8f37e4f3d2686a547a7f135ba8071da3b991fe

See more details on using hashes here.

File details

Details for the file copilot_bin-1.34.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for copilot_bin-1.34.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bead5e3d5ab15365b9787f3bdec74b99fda5c06b3b68108fa1aecef23de40f50
MD5 f8dcff08e7d908d7e5f814489ce3e36c
BLAKE2b-256 0f9188b2c1b2c1ea13890728fec811a86744493cd353cacb5ee061f1bbbb00c2

See more details on using hashes here.

File details

Details for the file copilot_bin-1.34.0-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for copilot_bin-1.34.0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 272a3c0e2ebb9013254083ac4e7abe3410b6eb4f034b7eaf17ea86fed5d7ad1e
MD5 8e226220ae004d8b39e47c6547a0734a
BLAKE2b-256 1ddcf998f1ce020354b567c81ba0c6a60e2879ed6645d12ba3edb611576de74c

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