smartrappy
Smart reproducible analytical pipeline inspection.
Introduction
What is smartrappy for?
smartrappy is designed to help you understand the dependencies in a project, especially in a context where there may be a lot of legacy code that resembles tangled spaghetti.
What does this package do?
smartrappy analyses a Python project and infers the directed acyclic graph (DAG) of the code and data dependencies, including the last time any data were refreshed and whether the data exist at all on disk. It is not perfect, and will miss a lot in complex projects: but for simple projects using, say, pd.read_csv(), it does a good job of inferring the steps. It can also infer writing to and from most databases. The inferred DAG is then visualised, and there are several options for doing that—the default being to produce a visualisation in the terminal.
Quickstart
To use smartrappy as a command-line tool, install it with uv tool install smartrappy and run it with
uvx smartrappy /path/to/your/project
Or to use it within a Python script:
from smartrappy import analyse_project
from smartrappy.reporters import ConsoleReporter
model = analyse_project("/path/to/your/project")
reporter = ConsoleReporter()
reporter.generate_report(model)
Installation
To install smartrappy, you can use pip install smartrappy or uv add smartrappy if you are using Astral's uv. You can also use it as a standalone command-line tool with uv and the uvx command:
uvx smartrappy path/to/your/project
Documentation
You can find the full documentation for smartrappy at https://aeturrell.github.io/smartrappy/.
Metadata
Release files for smartrappy 0.0.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| smartrappy-0.0.9.tar.gz | 29.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| smartrappy-0.0.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.1 kB
Release files / smartrappy-0.0.9.tar.gz
| Download URL | smartrappy-0.0.9.tar.gz |
|---|---|
| Size | 29.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0ed518ad3dc63c4462d2c373b5896a028d1a4bc49d881d25617ec75c2e25afc9
|
|
BLAKE2b-256 checksum How to use checksums |
b3fcf226792b76089fa92b9ce50f5915642ca2d261a8b02bb3f71431810589a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 4, 2026.
Transparency logRelease files / smartrappy-0.0.9-py3-none-any.whl
| Download URL | smartrappy-0.0.9-py3-none-any.whl |
|---|---|
| Size | 23.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dba23dfba9af410eb377c8412460ff20aa071e549aa26419ad569b3435dfc6df
|
|
BLAKE2b-256 checksum How to use checksums |
3a25c9c58b65a027ebd4196cd3047caa5c6f0287ea4fbc0162378aa18264c46a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 4, 2026.
Transparency log