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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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