https://github.com/aeturrell/smartrappy

Smart reproducible analytical pipeline inspection

https://github.com/aeturrell/smartrappy

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Smart reproducible analytical pipeline inspection

Basic Info
Statistics
  • Stars: 17
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created over 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing License

README.md

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:

bash smartrappy /path/to/your/project

Or to use it within a Python script:

```python from smartrappy import analyse_project from smartrappy.reporters import ConsoleReporter

model = analyseproject("/path/to/your/project") reporter = ConsoleReporter() reporter.generatereport(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:

bash uvx smartrappy path/to/your/project

Documentation

You can find the full documentation for smartrappy at https://aeturrell.github.io/smartrappy/.

Owner

  • Login: aeturrell
  • Kind: user

GitHub Events

Total
  • Create event: 9
  • Issues event: 5
  • Release event: 4
  • Watch event: 16
  • Issue comment event: 3
  • Public event: 1
  • Push event: 30
  • Pull request event: 14
Last Year
  • Create event: 9
  • Issues event: 5
  • Release event: 4
  • Watch event: 16
  • Issue comment event: 3
  • Public event: 1
  • Push event: 30
  • Pull request event: 14

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 12 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 4
  • Total maintainers: 1
pypi.org: smartrappy

Smart reproducible analytical pipeline visualisation.

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 12 Last month
Rankings
Dependent packages count: 9.3%
Average: 30.7%
Dependent repos count: 52.2%
Maintainers (1)
Last synced: 11 months ago

Dependencies

.github/workflows/labeler.yml actions
  • actions/checkout v4 composite
  • crazy-max/ghaction-github-labeler v5 composite
.github/workflows/release.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5.4.0 composite
  • astral-sh/setup-uv v5 composite
  • pypa/gh-action-pypi-publish v1.12.4 composite
  • quarto-dev/quarto-actions/setup v2 composite
  • release-drafter/release-drafter v6.1.0 composite
  • salsify/action-detect-and-tag-new-version v2.0.3 composite
.github/workflows/tests.yml actions
  • actions/cache v4.2.0 composite
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/setup-python v5.4.0 composite
  • actions/upload-artifact v4 composite
  • astral-sh/setup-uv v5 composite
  • codecov/codecov-action v5.3.1 composite
pyproject.toml pypi
  • graphviz >=0.20.3
  • matplotlib >=3.10.0
  • pandas >=2.2.3
uv.lock pypi
  • 161 dependencies