Skip to main content

A stable foundation for reproducible builds

Project description

Pile Cap

A stable foundation for reproducible builds

Value proposition

This project aims to be both a map and a vehicle to reproducible builds. It adopts the progressive disclosure pattern to accommodate both novices and veterans. For the novice porcelain commands can be used to set up a simple workflow. For the veteran plumbing commands can be combined with other tools such as pip and pip-tools to create more complicated workflows.

It also throws in support for sharing constraints between projects to make it easier installing them into the same environment.

Alternatives

The functionality of this package is mostly implemented by many other packages but none implements all of it

  • pip has virtually no support for locking python versions.
  • pip-tools
    • cannot read build-system.requires,
    • has no option to include all extras, and
    • leaves it to the user to correctly use constraints files correctly with pip.
  • pipenv makes no attempt at supporting multiple, concurrent environments.
  • poetry does not allow advanced use cases such as sharing constraints between projects. (admittedly I have not looked closely).
  • bazel / pants probably provide better reproducibility but require a significant departure from the workflows that are familiar from many open source projects.

Installation

The install command works without any dependencies making it possible to bootstrap pilecap like

pip install --no-deps 'pilecap==x.y'
pilecap install pilecap

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pilecap-0.3.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

pilecap-0.3-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file pilecap-0.3.tar.gz.

File metadata

  • Download URL: pilecap-0.3.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pilecap-0.3.tar.gz
Algorithm Hash digest
SHA256 8fb1aca8f5a435b491f3dff8c0194384e71ac7fbeb80fce30397b78395250b40
MD5 bfd102e48c01def020dd78dd8ccd94b6
BLAKE2b-256 b0ca8b434cabbd4b8fd29f5ab75f07b0c4499d2b8aac47a85dc30c524625e789

See more details on using hashes here.

File details

Details for the file pilecap-0.3-py3-none-any.whl.

File metadata

  • Download URL: pilecap-0.3-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pilecap-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ee0278307a66dfae2e7a2fa5bd97cdcca5b623091a7978a59766117738836a74
MD5 c53ba7b695722deb1de25840be85ef17
BLAKE2b-256 8dc4fc8dd1ba92dc7634dc93d58c2749cfe2860511a3299c2c05ed97ef053879

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