Skip to main content

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

Release files for pilecap 0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pilecap 0.3
File Size Uploaded
pilecap-0.3.tar.gz 9.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pilecap 0.3
File Interpreter ABI Platform
pilecap-0.3-py3-none-any.whl Python 3 none any Details

Total release size: 20.7 kB

Release files / pilecap-0.3.tar.gz

Download URL pilecap-0.3.tar.gz
Size 9.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8fb1aca8f5a435b491f3dff8c0194384e71ac7fbeb80fce30397b78395250b40
BLAKE2b-256 checksum
How to use checksums
b0ca8b434cabbd4b8fd29f5ab75f07b0c4499d2b8aac47a85dc30c524625e789
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / pilecap-0.3-py3-none-any.whl

Download URL pilecap-0.3-py3-none-any.whl
Size 10.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ee0278307a66dfae2e7a2fa5bd97cdcca5b623091a7978a59766117738836a74
BLAKE2b-256 checksum
How to use checksums
8dc4fc8dd1ba92dc7634dc93d58c2749cfe2860511a3299c2c05ed97ef053879
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release history Release notifications | RSS feed

This release

0.3 This release

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page