Skip to main content

A self-hosted web application for exploring and governing your data catalog (YAML-based).

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.

Python PyPI React License: MIT


✨ 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


Download files

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

Source Distribution

data_dictionary_web-0.1.3.tar.gz (155.6 kB view details)

Uploaded Source

Built Distribution

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

data_dictionary_web-0.1.3-py3-none-any.whl (152.4 kB view details)

Uploaded Python 3

File details

Details for the file data_dictionary_web-0.1.3.tar.gz.

File metadata

  • Download URL: data_dictionary_web-0.1.3.tar.gz
  • Upload date:
  • Size: 155.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for data_dictionary_web-0.1.3.tar.gz
Algorithm Hash digest
SHA256 a5c6a6f481d5c08baee5fbaf079e3d5a5f3e3beed1e6f59b588054e45f7af2f7
MD5 f3954c7d55424a455895b8aa304795f7
BLAKE2b-256 aad290eebaaba49fcf9b6cb658af6dd3c895ae1a5e91afe24cf73f5951720515

See more details on using hashes here.

File details

Details for the file data_dictionary_web-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for data_dictionary_web-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bcde31fb2c93a230ee017d02e65d689c48eec8b743d9441e000f6bdbecf75019
MD5 3a93ee354bc3cc942b37b4250122297b
BLAKE2b-256 77b382053ae08dcc18c8dc6355feacc8b40bb61944825ff729b0fde2429f81c3

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