Metadata-Version: 2.4
Name: metadata-intelligence
Version: 0.1.1
Summary: CLI tool that reads a database schema and generates documentation using an LLM.
License-Expression: MIT
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: openai>=1.92.0
Requires-Dist: tiktoken>=0.7.0
Requires-Dist: networkx>=3.3
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: pydantic>=2.7.0
Requires-Dist: mmdc==0.4.1
Requires-Dist: cairosvg>=2.9.0
Requires-Dist: pillow>=9.2.0
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: python-docx>=1.1
Provides-Extra: postgres
Requires-Dist: psycopg2-binary>=2.9.9; extra == "postgres"
Provides-Extra: mysql
Requires-Dist: mysql-connector-python>=8.0; extra == "mysql"
Provides-Extra: sqlserver
Requires-Dist: pyodbc>=5.0; extra == "sqlserver"
Provides-Extra: snowflake
Requires-Dist: snowflake-connector-python>=3.0; extra == "snowflake"
Provides-Extra: databricks
Requires-Dist: databricks-sql-connector>=4.0; extra == "databricks"
Provides-Extra: databricks-oauth
Requires-Dist: databricks-sdk>=0.18.0; extra == "databricks-oauth"
Provides-Extra: mongodb
Requires-Dist: pymongo>=4.9; extra == "mongodb"
Provides-Extra: all
Requires-Dist: psycopg2-binary>=2.9.9; extra == "all"
Requires-Dist: mysql-connector-python>=8.0; extra == "all"
Requires-Dist: pyodbc>=5.0; extra == "all"
Requires-Dist: snowflake-connector-python>=3.0; extra == "all"
Requires-Dist: databricks-sql-connector>=4.0; extra == "all"
Requires-Dist: databricks-sdk>=0.18.0; extra == "all"
Requires-Dist: pymongo>=4.9; extra == "all"
Provides-Extra: dev
Requires-Dist: pytest>=8.2.0; extra == "dev"
Requires-Dist: ruff>=0.4.0; extra == "dev"
Requires-Dist: mypy>=1.10.0; extra == "dev"
Dynamic: license-file

# metadata-intelligence

CLI tool that connects to a database (PostgreSQL, MySQL, SQL Server, Snowflake,
Databricks, or MongoDB), reads the schema, and uses an LLM to generate
documentation automatically. No frontend. No manual input beyond a one-time
setup wizard.

## Install

```bash
pip install metadata-intelligence[postgres]   # or [mysql] [sqlserver] [snowflake] [databricks] [mongodb] [all]
```

## Run

```bash
metadata-intelligence
```

A wizard asks for your database type, connection details, LLM provider/key,
and output folder on every run — nothing is read from or written to a `.env`
file; answers live only in memory for that process.

## Output

Generates `data_dictionary.md`, `column_docs.json`, an interactive ER diagram
(`er_diagram.html`/`.png`/`.mmd`), `pii_report.md`, an Excel workbook
(`schema_documentation.xlsx`), and `Suggestion_Report.docx` for suggested
keys/relationships.

## Known system dependencies

- SQL Server requires an ODBC driver installed on the OS (not pip-installable).
- PNG export via `cairosvg` requires `libcairo2` on Linux
  (`apt install libcairo2`); Windows installs typically bundle this already.

## License

MIT — see [LICENSE](LICENSE).
