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.2.tar.gz (154.4 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.2-py3-none-any.whl (151.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: data_dictionary_web-0.1.2.tar.gz
  • Upload date:
  • Size: 154.4 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.2.tar.gz
Algorithm Hash digest
SHA256 5dc9f63119f6dec421eefa212d853984afe741abd13eebf69783a9ffe510b130
MD5 e25efb94931522971b89efe7dc0d211a
BLAKE2b-256 f0155e9113edb2731c052a90937f03b87c222d30682401da6c73f06dbeb0150c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for data_dictionary_web-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6e52d6ec223bb6e0e144369c0a2416f3057e253f6feb0eb3ff44ef4c57e7794d
MD5 c6bbd3da0b498046329e422cd217d25a
BLAKE2b-256 c7d36439d5a0b3aef32a547641076033c52056fab2320e03291aa046c73ac636

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