Smart reproducible analytical pipeline visualisation.
Project description
smartrappy
Smart reproducible analytical pipeline inspection.
Introduction
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.
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.
Quickstart
To use smartrappy as a command-line tool:
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/.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file smartrappy-0.0.8.tar.gz.
File metadata
- Download URL: smartrappy-0.0.8.tar.gz
- Upload date:
- Size: 29.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2a9d7e9c5258458b4851ac36b68c5f3aff7bfa5cc3b09bdacad1e2752b8dd3a
|
|
| MD5 |
9b194fc1dc1b9dbbf6ef1b5333f4439e
|
|
| BLAKE2b-256 |
ae49af27667e2f4a20e8be1f8b2a1c9a80781845f9b8c7bb17fcd527015cbb6c
|
Provenance
The following attestation bundles were made for smartrappy-0.0.8.tar.gz:
Publisher:
release.yml on aeturrell/smartrappy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
smartrappy-0.0.8.tar.gz -
Subject digest:
f2a9d7e9c5258458b4851ac36b68c5f3aff7bfa5cc3b09bdacad1e2752b8dd3a - Sigstore transparency entry: 666422885
- Sigstore integration time:
-
Permalink:
aeturrell/smartrappy@1629ad30ea728084118c329db4408e21d6803685 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/aeturrell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1629ad30ea728084118c329db4408e21d6803685 -
Trigger Event:
push
-
Statement type:
File details
Details for the file smartrappy-0.0.8-py3-none-any.whl.
File metadata
- Download URL: smartrappy-0.0.8-py3-none-any.whl
- Upload date:
- Size: 23.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3864066c88f83ee831b9659e789ecd8a6c42f3c4bbb38ccbc925afbe8c979f1b
|
|
| MD5 |
b4b19e0ce3fe0c527a59164b769fedd2
|
|
| BLAKE2b-256 |
0761644c88e77faa101e2d66a7d0304c049b91a146cb90ff167831ef14a261d8
|
Provenance
The following attestation bundles were made for smartrappy-0.0.8-py3-none-any.whl:
Publisher:
release.yml on aeturrell/smartrappy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
smartrappy-0.0.8-py3-none-any.whl -
Subject digest:
3864066c88f83ee831b9659e789ecd8a6c42f3c4bbb38ccbc925afbe8c979f1b - Sigstore transparency entry: 666423069
- Sigstore integration time:
-
Permalink:
aeturrell/smartrappy@1629ad30ea728084118c329db4408e21d6803685 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/aeturrell
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1629ad30ea728084118c329db4408e21d6803685 -
Trigger Event:
push
-
Statement type: