Skip to main content

rafe: Reproducible Artifacts for Environments

rafe is a tool for inspecting python environments and building packages (irrespective of language) in a reproducible manner.


GitHub Workflow Status GitHub Workflow Status GitHub Workflow Status
GitHub release (latest by date) PyPI

Building

To press a fresh rafe wheel from source, simply run:

python setup.py bdist_wheel

And the wheel should be available in the dist/ folder.

Installing

To install rafe, simply pip install the wheel

pip install <wheel>

Usage

Before starting to use rafe, it needs to generate a configuration. Do this by running:

rafe config --init

Now, you can use rafe however you'd like. Note that you can call it in two ways:

  • python -m rafe
  • rafe

Both are valid.

Workflow for Griffe API checks

Assuming you have already run rafe config --init you will have the folder .rafe/work/ - place your git repo folder there, such that numpy would be at .rafe/work/numpy/

With this in place you should next run

python rafe check-api-breaks --package numpy --old v1.12.1 --new v1.17.5`

In older griffe versions, if you are given a git branch error, you'll need to clean up the griffe created branches before rerunning. E.g. git branch -D griffe_v1.12.1 from the appropriate folder It has been verified that this is no longer an issue with griffe v0.30.1 (last to support py3.7)

Once you have run the above you should be able to run the verify pass (for objects removed) using the command below:

python rafe verify-breaks --package numpy --path ./numpy_objects_removed.json`

This will attempt to eval a hasattr() for each of the missing items, and where it fails it may attempt to import the missing attribute and try again. The resulting numpy_actual_misses.json should be much closer to the truth.

Release files for rafe 0.1.6

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

Built distribution (wheel)

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

Release files / rafe-0.1.6-py3-none-any.whl

Download URL rafe-0.1.6-py3-none-any.whl
Size 27.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
354abf3b00986537cdcea57b38d4e098a835158247ef83df86f9da3db35ca6d5
BLAKE2b-256 checksum
How to use checksums
f3cb4a810abceadfa33986bd85e033c93c02679588728e7497f60f684887b5b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.4

Release history Release notifications | RSS feed

This release

0.1.6 This release

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

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