A self-hosted web application for exploring and governing your data catalog (YAML-based).
Reason this release was yanked:
Unfortunately, the frontend build was not included
Project description
📚 Data Dictionary Web UI
A modern, full-stack web application for exploring, managing, and governing your data catalog — powered by Flask, React, and YAML-based metadata.
✨ Features
| Feature | Description |
|---|---|
| 🔍 Smart Search | Full-text search across schemas, tables, and columns with live filtering |
| 🔐 RBAC | Role-based access control — Admin, Contributor, and Viewer roles |
| 👥 User Groups | Group users together and assign permissions at the group level |
| 🗂️ Schema Browser | Browse databases, tables, and column metadata in a tree view |
| 📊 Dashboard & Analytics | At-a-glance stats on your data catalog and activity trends |
| 📁 File Management | Upload and manage YAML schema files directly from the UI |
| 📤 Exports | Export schema metadata to multiple formats (CSV, JSON, etc.) |
| ⏱️ Session Timeout | Automatic 10-minute inactivity logout with a 60-second warning |
| 🔒 Restart Invalidation | Server restart terminates all active sessions — no stale logins |
| 🌙 Dark/Light Mode | Persistent theme preference across sessions |
| 📱 Responsive UI | Works on desktop, tablet, and mobile |
🚀 Quick Setup
Prerequisites
- Python 3.9+
- Node.js 18+ (for frontend development only)
1. Install
Install directly via pip:
pip install data-dictionary-web
2. Configure (Optional)
By default, the app looks for YAML files in ./models and stores the database in ./data_dictionary.db. You can configure this via environment variables or CLI flags.
Create a .env file for secure configuration:
SECRET_KEY=your-random-secret-key
JWT_SECRET_KEY=your-random-jwt-secret
YAML_DIRECTORY=./dbt_models
DATABASE=./data_dictionary.db
3. Run
Start the server using the bundled CLI:
ddweb
Or with custom options:
ddweb --port 8080 --yaml-dir ./dbt_models
Open http://localhost:5002 (or your custom port) and log in with:
- Username:
admin - Password:
admin123
⚠️ Change the default admin password immediately after first login.
📖 Documentation
See DOCUMENTATION.md for the full guide covering:
- Architecture & project structure
- Environment configuration
- Frontend development setup
- All features in detail
- REST API reference
- Deployment (Gunicorn, Nginx, Docker)
- Security model & best practices
- Troubleshooting
📄 License
This project is licensed under the MIT License — see the LICENSE file for details.
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 data_dictionary_web-0.1.0.tar.gz.
File metadata
- Download URL: data_dictionary_web-0.1.0.tar.gz
- Upload date:
- Size: 39.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9755306c1175c49c4ed0f6b8fbf6404fc1e19cfb9ad733832260cd9294583f2a
|
|
| MD5 |
161bee147ff9048b0c2faf24884d6b2e
|
|
| BLAKE2b-256 |
6c91ad7a45d2ffa5b64f72ad4f947c8cb0cb04aced32377eeda3562252a22661
|
Provenance
The following attestation bundles were made for data_dictionary_web-0.1.0.tar.gz:
Publisher:
publish.yml on GraFreak0/data_dictionary_web
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
data_dictionary_web-0.1.0.tar.gz -
Subject digest:
9755306c1175c49c4ed0f6b8fbf6404fc1e19cfb9ad733832260cd9294583f2a - Sigstore transparency entry: 1132336423
- Sigstore integration time:
-
Permalink:
GraFreak0/data_dictionary_web@9763118a1767dbcc326c22e1c64361c42aa185a9 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/GraFreak0
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9763118a1767dbcc326c22e1c64361c42aa185a9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file data_dictionary_web-0.1.0-py3-none-any.whl.
File metadata
- Download URL: data_dictionary_web-0.1.0-py3-none-any.whl
- Upload date:
- Size: 35.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0dab1a46db3bfda33414cc609c55f8a80f1839897d01f93e5586a1e0706ac1f
|
|
| MD5 |
db8eae949c7b5fb0653a9e11473bef51
|
|
| BLAKE2b-256 |
cc722ae8011e0068ab964a1ea52f50a77c72860e542ab9f24acf3a445ebb2b8e
|
Provenance
The following attestation bundles were made for data_dictionary_web-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on GraFreak0/data_dictionary_web
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
data_dictionary_web-0.1.0-py3-none-any.whl -
Subject digest:
b0dab1a46db3bfda33414cc609c55f8a80f1839897d01f93e5586a1e0706ac1f - Sigstore transparency entry: 1132336495
- Sigstore integration time:
-
Permalink:
GraFreak0/data_dictionary_web@9763118a1767dbcc326c22e1c64361c42aa185a9 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/GraFreak0
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9763118a1767dbcc326c22e1c64361c42aa185a9 -
Trigger Event:
push
-
Statement type: