yaflux — yaflux documentation

Skip to main content
`Ctrl`+`K`

# yaflux

A declarative framework for managing complex analytical workflows in Python.

## Overview

`yaflux` provides a structured approach to managing complex data analysis pipelines where tracking transformations, ensuring reproducibility, and maintaining clear provenance are essential. It offers a pure Python solution for declaring dependencies between analysis steps and managing results immutably.

## Key Features

- Declarative Workflow Definition: Analysis steps are defined through decorators that explicitly state their inputs and outputs

- Immutable Results Management: Results are tracked and protected from inadvertent mutation

- Dependency Tracking: Automatic tracking of dependencies between analysis steps

- Progress Monitoring: Built-in tracking of completed analysis steps

- Serialization: Simple persistence of complete analysis states

- Portable Results: Analysis results can be shared and loaded without original class definitions

## Contents

- Installation
- Quick Start
  - Defining an Analysis
  - Executing an Analysis
  - Saving and Loading Analysis States
  - Visualizing Analysis Steps
- Design Philosophy
  - Core Principles
  - Implementation Decisions
  - Design Tradeoffs
  - Future Considerations
- Abstract Syntax Tree (AST)
  - Validations
- Advanced Usage
  - Analysis Inheritance

## API

- API Reference
  - Base Class
  - Step Decorator
  - Portable Results
  - Metadata
  - Results