Skip to main content

AuraTrace 🔍

PyPI version Python 3.8+ License: Apache 2.0 Code style: black Tests Documentation

AI-powered data lineage and observability tool for Python that transparently traces data pipelines using pandas, Dask, and PyArrow, capturing lineage, profiling data, detecting quality issues, and providing AI-assisted root cause analysis and visualization.

✨ Features

🔍 Automatic Data Lineage

  • Transparent tracing of pandas operations
  • Captures dataframe metadata and relationships
  • Builds comprehensive DAG of data transformations
  • Supports Dask and PyArrow for large-scale processing

📊 Data Profiling & Quality

  • Automatic data profiling and statistics
  • PII detection and privacy compliance
  • Custom quality rules with YAML configuration
  • Real-time quality issue detection and reporting

⚡ Performance Monitoring

  • Execution time tracking for each operation
  • Memory usage monitoring and optimization
  • Bottleneck identification and suggestions
  • Performance regression detection

🤖 AI-Powered Analysis

  • Natural language queries about your data
  • AI-assisted root cause analysis
  • Performance optimization suggestions
  • Automated data quality insights

📈 Visualization & Reporting

  • Interactive lineage graphs
  • Performance dashboards
  • Quality issue reports
  • Pipeline comparison tools

🛠️ Developer-Friendly

  • Simple CLI interface
  • Python API for custom integrations
  • Comprehensive logging and debugging
  • Extensible plugin architecture

🚀 Quick Start

Installation

pip install auratrace

Basic Usage

# Your existing pandas code works unchanged!
import pandas as pd

# AuraTrace automatically traces these operations
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df_filtered = df[df['A'] > 1]
df_grouped = df.groupby('A').sum()

print("Pipeline completed!")

Run with AuraTrace:

auratrace run your_script.py

CLI Commands

# Run a pipeline with tracing
auratrace run pipeline.py

# View pipeline results
auratrace view session.json

# Ask AI questions about your data
auratrace ask session.json "What operations were performed?"

# Check data quality
auratrace check session.json

# Compare pipeline versions
auratrace compare session1.json session2.json

# Initialize project configuration
auratrace init

📖 Documentation

🏗️ Architecture

AuraTrace consists of several core components:

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Tracer        │    │   Profiler      │    │   Lineage       │
│                 │    │                 │    │                 │
│ • Pandas hooks  │    │ • Data stats    │    │ • DAG building  │
│ • Operation     │    │ • PII detection │    │ • Graph export  │
│   capture       │    │ • Schema        │    │ • Visualization │
│ • Performance   │    │   analysis      │    │ • Impact        │
│   monitoring    │    │ • Quality       │    │   analysis      │
└─────────────────┘    │   checks        │    └─────────────────┘
                       └─────────────────┘
                                │
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Quality       │    │   Performance   │    │   AI Assistant  │
│   Engine        │    │   Engine        │    │                 │
│                 │    │                 │    │                 │
│ • Rule engine   │    │ • Metrics       │    │ • OpenAI        │
│ • YAML config   │    │   collection    │    │   integration   │
│ • Issue         │    │ • Bottleneck    │    │ • Natural       │
│   detection     │    │   detection     │    │   language      │
│ • Custom rules  │    │ • Optimization  │    │   queries       │
└─────────────────┘    │   suggestions   │    └─────────────────┘
                       └─────────────────┘

🔧 Installation Options

Basic Installation

pip install auratrace

Full Installation (with AI features)

pip install auratrace[all]

Development Installation

git clone https://github.com/auratrace/auratrace.git
cd auratrace
pip install -e .

🎯 Use Cases

Data Science Teams

  • Pipeline Debugging: Quickly identify where data issues originate
  • Performance Optimization: Find bottlenecks in data processing
  • Quality Assurance: Ensure data meets quality standards
  • Documentation: Automatically generate pipeline documentation

Data Engineering

  • Lineage Tracking: Understand data dependencies and impact
  • Quality Monitoring: Set up automated quality checks
  • Performance Tuning: Optimize large-scale data processing
  • Compliance: Track PII and sensitive data handling

Machine Learning

  • Feature Engineering: Trace feature transformations
  • Model Validation: Ensure data quality for model training
  • Experiment Tracking: Compare different data preprocessing approaches
  • Reproducibility: Maintain complete data lineage

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

git clone https://github.com/auratrace/auratrace.git
cd auratrace
pip install -e ".[dev]"
pytest

Ways to Contribute

  • 🐛 Report bugs - Use GitHub Issues
  • 💡 Suggest features - Start a Discussion
  • 📝 Improve docs - Submit PRs to enhance documentation
  • 🔧 Fix bugs - Pick up issues labeled "good first issue"
  • 🚀 Add features - Implement new functionality

📊 Project Status

  • ✅ Core tracing engine - Complete
  • ✅ Data profiling - Complete
  • ✅ Quality engine - Complete
  • ✅ Performance monitoring - Complete
  • ✅ CLI interface - Complete
  • ✅ AI assistant - Complete
  • ✅ Documentation - Complete
  • ✅ Tests - Complete
  • 🔄 Visualization - In progress
  • 🔄 Dask integration - In progress

📈 Roadmap

v1.0 (Current)

  • ✅ Core tracing and profiling
  • ✅ Quality checks and AI analysis
  • ✅ CLI and basic visualization

v1.1 (Next)

  • 🔄 Enhanced visualization
  • 🔄 Dask and PyArrow support
  • 🔄 Plugin architecture

v1.2 (Future)

  • 🔄 Real-time monitoring
  • 🔄 Web dashboard
  • 🔄 Enterprise features

🆘 Support

Getting Help

Community

  • 🌐 Website - Project homepage
  • 📖 Blog - Latest updates and tutorials
  • 🐦 Twitter - Follow for updates
  • 💼 LinkedIn - Professional updates

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

🙏 Acknowledgments

  • Pandas - For the excellent data manipulation library
  • OpenAI - For AI capabilities
  • NetworkX - For graph operations
  • Rich - For beautiful terminal output
  • Typer - For CLI framework

⭐ Star History

Star History Chart


Made with ❤️ by the AuraTrace team

Empowering data scientists and engineers with transparent, AI-powered observability.

🤖 AI Assistant & LLM Providers (Optional)

AuraTrace's AI features are powered by pluggable LLM providers. You do not need to install any AI model or dependency unless you use AI features.

Supported Providers

  • OpenAI (e.g., GPT-3.5, GPT-4)
  • Hugging Face (API or local models)
  • Custom API (any HTTP endpoint)
  • Local Model (user-supplied, e.g., transformers)
  • User-supplied Python function

Optional Dependencies

  • openai (for OpenAI models)
  • transformers (for Hugging Face/local models)
  • requests (for custom API)

Install only what you need:

pip install auratrace[openai]        # For OpenAI
pip install auratrace[huggingface]   # For Hugging Face
pip install auratrace[all]           # For all AI features

Configuring the AI Assistant

You can set the provider, model, and API key via environment variables or in code:

# Example: Use Hugging Face with a specific model
export AURATRACE_LLM_PROVIDER=huggingface
export AURATRACE_LLM_MODEL=mistralai/Mistral-7B-Instruct-v0.2

# Example: Use OpenAI
export AURATRACE_LLM_PROVIDER=openai
export AURATRACE_LLM_API_KEY=sk-...
export AURATRACE_LLM_MODEL=gpt-4

Or in Python:

from auratrace.ai import AIAssistant
ai = AIAssistant(provider="huggingface", model="mistralai/Mistral-7B-Instruct-v0.2")

First Use: Model Download/Setup

  • If you run an AI command without the required model/dependency, AuraTrace will prompt you to install or configure it.
  • You can change the default model/provider at any time.
  • If you have your own LLM, you can use it by passing a custom function or API endpoint.

Example: User-supplied LLM

def my_llm(prompt):
    # Your custom logic
    return "My LLM response"
ai = AIAssistant(provider="user", custom_generate_fn=my_llm)

Metadata

Release files for auratrace 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for auratrace 0.1.0
File Size Uploaded
auratrace-0.1.0.tar.gz 8.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for auratrace 0.1.0
File Interpreter ABI Platform
auratrace-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.8 MB

Release files / auratrace-0.1.0.tar.gz

Download URL auratrace-0.1.0.tar.gz
Size 8.0 MB
Tags Source
SHA-256 checksum
How to use checksums
eb2606827411622efede508ee2deccdf19d6be890b7d04faa6164fd0e39f7e76
BLAKE2b-256 checksum
How to use checksums
1a302f7f529ab7ca9767aa132b009cbf9f8eff35cffb103b14450ce16b06d331
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / auratrace-0.1.0-py3-none-any.whl

Download URL auratrace-0.1.0-py3-none-any.whl
Size 9.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1e9a064cf525cebd34504ebf69f4a690bd4a4852efcd70b7f8ac9ecae305ab43
BLAKE2b-256 checksum
How to use checksums
c87f6dd48576b47e8295e042b70bffb30757e1be3fe5f7a1a1a16fbb59ea8bb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page