AI-powered data lineage and observability tool for Python
Project description
AuraTrace ๐
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
- Installation Guide - Complete setup instructions
- Quick Start - Get up and running in 5 minutes
- CLI Reference - Complete command documentation
- API Reference - Python API documentation
- Examples - Real-world usage examples
๐๏ธ 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
- ๐ Documentation - Comprehensive guides and examples
- ๐ฌ Discussions - Ask questions and share ideas
- ๐ Issues - Report bugs and request features
- ๐ง Email - support@auratrace.io
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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb2606827411622efede508ee2deccdf19d6be890b7d04faa6164fd0e39f7e76
|
|
| MD5 |
e630967004ddb3f7b2ad8e658e5411af
|
|
| BLAKE2b-256 |
1a302f7f529ab7ca9767aa132b009cbf9f8eff35cffb103b14450ce16b06d331
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e9a064cf525cebd34504ebf69f4a690bd4a4852efcd70b7f8ac9ecae305ab43
|
|
| MD5 |
719f793f88ffdfc7232e6fb908547689
|
|
| BLAKE2b-256 |
c87f6dd48576b47e8295e042b70bffb30757e1be3fe5f7a1a1a16fbb59ea8bb0
|