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.0a1-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.0a1-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.0a1-py3-none-macosx_11_0_arm64.whl (13.4 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

copilot_bin-1.34.0a1-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.0a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for copilot_bin-1.34.0a1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 f5e74d71b7ca2dc7e9449a6f24b926626497b6782074fc57c06efc1924624bc2
MD5 1fb6a07fb2d1c967fe2e5483ae476a2b
BLAKE2b-256 f8e6e4106208624d2b14bc021909807b4d9c6f15bb681ad1a10569ce71b97b02

See more details on using hashes here.

File details

Details for the file copilot_bin-1.34.0a1-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.0a1-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 747d055db2a6b13ec9ae700b84361bec49add621db4679700ae727a31b1bd712
MD5 a5d2f1c1a72793d44345d9a7a4175233
BLAKE2b-256 c9107fcfd7623524289fd79208b582d38357589196444c7485c9108370bb1285

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for copilot_bin-1.34.0a1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3a9e7794933d72f125c6c7f8bc6b44caf18eb882760486ff02f948a2cbf284d8
MD5 3b5491194968ae02949fadd8b173fec8
BLAKE2b-256 e85005e2efb7cd1613c90468d2e53ea0093688cba8017d83641af17a09554108

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for copilot_bin-1.34.0a1-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0765602aaa6b9f57ca040962f36a6a98379bf73406b83ef7264d2795063d8668
MD5 636b817905ae8f6f9a179d5a5fab2a16
BLAKE2b-256 0f6898152f9d851bb44c424e656804dbcfd5f8fa9dc5bc9221b97d1612ad5758

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