Database schema serialization with LLM integration
Project description
AutoDW: Data Warehouse Intelligent Agent 🚀
Automated schema processing bridge connecting data warehouses with LLMs
AutoDW is an LLM-based intelligent agent that enhances data warehouse development efficiency through automated database schema processing, metadata optimization, and ETL generation.
✨ Core Features
Schema Parsing Engine
| Capability | Description |
|---|---|
| Multi-format Export | Exports to JSON/Spider-JSON/MSchema formats |
| Intelligent Sampling | Random value extraction + frequency-based optimization |
| Precision Filtering | Table/column-level data filtering support |
| Currently Supported | SQLite • More DB types coming soon |
Metadata Serializer
# Complete metadata serialization in 3 steps
1. Initialize database connection
2. Select serialization format (mschema/json)
3. Retrieve structured metadata
🚧 Development Roadmap
✅ Implemented Features
- Database schema interaction engine
- DB Schema ↔ JSON bidirectional conversion
- DB Schema → MSchema serialization
🚀 Coming Soon
- SQL → JSON intelligent converter
- LLM-powered query optimization engine
- Automated ETL script generator
- Schema diff visualization tool
- Cloud service support: BigQuery • Snowflake • Redshift
- REST API remote access interface
⚙️ Quick Installation
pip install autodw
🎯 Usage Examples
Schema Parsing
from autodw.connectors.sqlite import SQLiteConnector
db = SQLiteConnector("your_db.sqlite")
with db:
schema = db.get_database_schema(
format="json",
sample_type="random",
max_samples=3
)
print(schema) # Get structured schema data
Metadata Serialization
from autodw.serializers import DatabaseSchemaSerializer
db = SQLiteConnector("your_db.sqlite")
with db:
serializer = DatabaseSchemaSerializer(
connector=db,
serializer_type="mschema",
exclude_tables=["temp_*"]
)
print(serializer.generate()) # Output MSchema format
📚 Advanced Documentation
Visit docs/ directory for:
- Detailed API reference
- Schema parsing configuration guide
- LLM integration best practices
Technical Support: Questions? Submit a GitHub Issue
Project Lead: d7inshi@outlook.com
Project Status: v0.1.1 (Actively Developed)
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 Distributions
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 autodw-0.1.1.post3-py3-none-any.whl.
File metadata
- Download URL: autodw-0.1.1.post3-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c38c7598f993d5325ace3b95cd6e958c0ba677d466909dee0af4a02af155481b
|
|
| MD5 |
5d919a6b0cc027f947b4819f72553918
|
|
| BLAKE2b-256 |
38cf6e9fedec38b0a5ff90bc0d048391c1a2341dd53c95d27d91f9b89c2ac45f
|