# oryxflow > oryxflow is an open-source Python library and Claude Code plugin for faster, cheaper, more reliable AI data analysis: it makes your data-science pipeline reproducible and lineage-tracked, caching results and rerunning exactly what a parameter, data, or code change affects — local-first, no server or account. oryxflow is a small, self-contained Python library for building data-science workflows: declare Task classes with parameters, dependencies (requires) and a run() that save()s output; the engine runs the DAG in dependency order, skips tasks whose output already exists, and reruns exactly what a parameter, data, or code change affects. ## Getting started - [Home](https://docs.oryxflow.dev/index.md) - [Documentation](https://docs.oryxflow.dev/docs/index.md) - [Why oryxflow](https://docs.oryxflow.dev/docs/why-oryxflow/index.md) - [Installation](https://docs.oryxflow.dev/docs/installation/index.md) - [Quickstart](https://docs.oryxflow.dev/docs/quickstart/index.md) ## Guide - [Transition from scripts](https://docs.oryxflow.dev/docs/transition/index.md) - [Migrate a messy notebook project](https://docs.oryxflow.dev/docs/migrate-notebook-to-pipeline/index.md) - [Writing and managing tasks](https://docs.oryxflow.dev/docs/tasks/index.md) - [Workflows](https://docs.oryxflow.dev/docs/workflow/index.md) - [Running workflows](https://docs.oryxflow.dev/docs/run/index.md) - [Task I/O formats](https://docs.oryxflow.dev/docs/targets/index.md) - [Logging](https://docs.oryxflow.dev/docs/logging/index.md) - [Collaborate & share flows](https://docs.oryxflow.dev/docs/collaborate/index.md) - [Managing complex workflows](https://docs.oryxflow.dev/docs/managing-workflows/index.md) - [Experiment tracking (MLflow, W&B)](https://docs.oryxflow.dev/docs/experiment-tracking/index.md) ## Advanced - [Dynamic tasks](https://docs.oryxflow.dev/docs/advtasksdyn/index.md) - [Parameters](https://docs.oryxflow.dev/docs/advparam/index.md) - [Functional API](https://docs.oryxflow.dev/docs/functional_tasks/index.md) ## Build with Claude Code - [Claude Code for data science](https://docs.oryxflow.dev/docs/claude-code-for-data-science/index.md) - [Built for AI coding agents](https://docs.oryxflow.dev/docs/ai-ready/index.md) - [Build with Claude Code](https://docs.oryxflow.dev/docs/claude-plugin/index.md) - [Commands](https://docs.oryxflow.dev/docs/claude-plugin/commands/index.md) - [Trustworthy AI data analysis](https://docs.oryxflow.dev/docs/claude-plugin/trust/index.md) - [Data-science project structure](https://docs.oryxflow.dev/docs/claude-plugin/project-structure/index.md) - [Stop AI data analysis turning into a mess](https://docs.oryxflow.dev/docs/claude-plugin/coding-standards/index.md) - [Why library + plugin](https://docs.oryxflow.dev/docs/claude-plugin/why/index.md) ## Reference - [Glossary](https://docs.oryxflow.dev/docs/glossary/index.md) - [Security & supply chain](https://docs.oryxflow.dev/docs/supply-chain/index.md) - [API Reference](https://docs.oryxflow.dev/docs/reference/index.md) - [Changelog](https://docs.oryxflow.dev/docs/changelog/index.md) ## Blog - [Blog](https://docs.oryxflow.dev/blog/index.md) - [4 Reasons why your machine learning code is bad](https://docs.oryxflow.dev/blog/machine-learning/why-machine-learning-code-is-bad/index.md) - [Best practices for AI-assisted data analysis](https://docs.oryxflow.dev/blog/ai-agents/best-practices-ai-assisted-data-analysis/index.md) - [Airflow alternatives for data science: an honest roundup](https://docs.oryxflow.dev/blog/comparisons/airflow-alternatives-for-data-science/index.md) - [The best AI tools for data analysis (and the trust layer most of them miss)](https://docs.oryxflow.dev/blog/ai-agents/best-ai-tools-for-data-analysis/index.md) - [The best Claude Code plugins and tools for data science](https://docs.oryxflow.dev/blog/ai-agents/best-claude-code-plugins-for-data-science/index.md) - [How to cache intermediate DataFrames in Python (without brittle pickle files)](https://docs.oryxflow.dev/blog/caching/cache-intermediate-dataframes-in-python/index.md) - [Why a caching DAG makes your AI coding agent a better data scientist](https://docs.oryxflow.dev/blog/ai-agents/caching-dag-for-ai-coding-agents/index.md) - [Cheap, durable LLM evals: pydantic-evals + oryxflow](https://docs.oryxflow.dev/blog/guides/cheap-durable-llm-evals/index.md) - [Claude Code skills for data science: what they are and why they matter](https://docs.oryxflow.dev/blog/ai-agents/claude-code-skills-for-data-science/index.md) - [Your eval platform deletes your results in 14 days](https://docs.oryxflow.dev/blog/ai-agents/llm-eval-results-deleted-retention/index.md) - [LLM evals are a parameter sweep — use a parameter sweep tool](https://docs.oryxflow.dev/blog/ai-agents/llm-evals-are-a-parameter-sweep/index.md) - [Migrate from d6tflow to oryxflow](https://docs.oryxflow.dev/blog/guides/migrate-from-d6tflow-to-oryxflow/index.md) - [MLflow alternatives: the trackers worth a look (and the layer underneath them)](https://docs.oryxflow.dev/blog/comparisons/mlflow-alternatives/index.md) - [Do you need MLflow, or do you need reproducible pipeline caching?](https://docs.oryxflow.dev/blog/mlops/mlflow-vs-pipeline-caching/index.md) - [From notebook to a reproducible, cached pipeline in Python](https://docs.oryxflow.dev/blog/reproducibility/notebook-to-reproducible-pipeline/index.md) - [oryxflow vs Airflow: research workflows vs production orchestration](https://docs.oryxflow.dev/blog/comparisons/oryxflow-vs-airflow/index.md) - [oryxflow vs Dagster: a lightweight research loop vs an asset platform](https://docs.oryxflow.dev/blog/comparisons/oryxflow-vs-dagster/index.md) - [oryxflow vs DVC: Python task identity vs file-hash data versioning](https://docs.oryxflow.dev/blog/comparisons/oryxflow-vs-dvc/index.md) - [oryxflow vs Prefect: research-loop caching vs Python-native orchestration](https://docs.oryxflow.dev/blog/comparisons/oryxflow-vs-prefect/index.md) - [oryxflow vs. the field: pipeline frameworks for AI data analysis](https://docs.oryxflow.dev/blog/comparisons/oryxflow-vs-pipeline-frameworks/index.md) - [Parameter sweeps in Python without rerunning upstream steps](https://docs.oryxflow.dev/blog/caching/parameter-sweeps-without-rerunning/index.md) - [Reproducible data science workflows in Python](https://docs.oryxflow.dev/blog/reproducibility/reproducible-data-science-workflows-in-python/index.md) - [Stop rerunning your whole pipeline: caching intermediary DataFrames in Python](https://docs.oryxflow.dev/blog/caching/cache-intermediate-dataframes-python/index.md) - [When not to use oryxflow](https://docs.oryxflow.dev/blog/guides/when-not-to-use-oryxflow/index.md)