Skip to main content

AI-powered data lineage and observability tool for Python

Project description

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)

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

auratrace-0.1.0.tar.gz (8.0 MB view details)

Uploaded Source

Built Distribution

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

auratrace-0.1.0-py3-none-any.whl (9.8 MB view details)

Uploaded Python 3

File details

Details for the file auratrace-0.1.0.tar.gz.

File metadata

  • Download URL: auratrace-0.1.0.tar.gz
  • Upload date:
  • Size: 8.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for auratrace-0.1.0.tar.gz
Algorithm Hash digest
SHA256 eb2606827411622efede508ee2deccdf19d6be890b7d04faa6164fd0e39f7e76
MD5 e630967004ddb3f7b2ad8e658e5411af
BLAKE2b-256 1a302f7f529ab7ca9767aa132b009cbf9f8eff35cffb103b14450ce16b06d331

See more details on using hashes here.

File details

Details for the file auratrace-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: auratrace-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for auratrace-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e9a064cf525cebd34504ebf69f4a690bd4a4852efcd70b7f8ac9ecae305ab43
MD5 719f793f88ffdfc7232e6fb908547689
BLAKE2b-256 c87f6dd48576b47e8295e042b70bffb30757e1be3fe5f7a1a1a16fbb59ea8bb0

See more details on using hashes here.

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