📚 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.
Metadata
Release files for data-dictionary-web 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| data_dictionary_web-0.1.3.tar.gz | 155.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| data_dictionary_web-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 308.0 kB
Release files / data_dictionary_web-0.1.3.tar.gz
| Download URL | data_dictionary_web-0.1.3.tar.gz |
|---|---|
| Size | 155.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a5c6a6f481d5c08baee5fbaf079e3d5a5f3e3beed1e6f59b588054e45f7af2f7
|
|
BLAKE2b-256 checksum How to use checksums |
aad290eebaaba49fcf9b6cb658af6dd3c895ae1a5e91afe24cf73f5951720515
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / data_dictionary_web-0.1.3-py3-none-any.whl
| Download URL | data_dictionary_web-0.1.3-py3-none-any.whl |
|---|---|
| Size | 152.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bcde31fb2c93a230ee017d02e65d689c48eec8b743d9441e000f6bdbecf75019
|
|
BLAKE2b-256 checksum How to use checksums |
77b382053ae08dcc18c8dc6355feacc8b40bb61944825ff729b0fde2429f81c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|