Skip to main content

Smart reproducible analytical pipeline visualisation.

Project description

smartrappy

Smart reproducible analytical pipeline inspection.

SVG logo of smartrappy

PyPI Status Python Version License Read the documentation at https://aeturrell.github.io/smartrappy/ Tests Codecov pre-commit Ruff Downloads Source

Linux macOS Windows

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

smartrappy-0.0.8.tar.gz (29.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smartrappy-0.0.8-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

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

Hashes for smartrappy-0.0.8.tar.gz
Algorithm Hash digest
SHA256 f2a9d7e9c5258458b4851ac36b68c5f3aff7bfa5cc3b09bdacad1e2752b8dd3a
MD5 9b194fc1dc1b9dbbf6ef1b5333f4439e
BLAKE2b-256 ae49af27667e2f4a20e8be1f8b2a1c9a80781845f9b8c7bb17fcd527015cbb6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for smartrappy-0.0.8.tar.gz:

Publisher: release.yml on aeturrell/smartrappy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for smartrappy-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 3864066c88f83ee831b9659e789ecd8a6c42f3c4bbb38ccbc925afbe8c979f1b
MD5 b4b19e0ce3fe0c527a59164b769fedd2
BLAKE2b-256 0761644c88e77faa101e2d66a7d0304c049b91a146cb90ff167831ef14a261d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for smartrappy-0.0.8-py3-none-any.whl:

Publisher: release.yml on aeturrell/smartrappy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page