Skip to main content

Database schema serialization with LLM integration for metadata generation and SQL parsing

Project description

AutoDW

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

autodw-0.1.1.post0-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

Details for the file autodw-0.1.1.post0-py3-none-any.whl.

File metadata

  • Download URL: autodw-0.1.1.post0-py3-none-any.whl
  • Upload date:
  • Size: 22.0 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

Hashes for autodw-0.1.1.post0-py3-none-any.whl
Algorithm Hash digest
SHA256 0d79bff4dfa90edd7bd19321984a7dc928e00b2be53b7e3b195c90d4c3b4376c
MD5 6f27355218104653cb4c506478ab4b36
BLAKE2b-256 3d9df9f039cec718a1b4963708ed1825b001592e1afc1a767b1db32fd083ff44

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