
GodMode2
github.com/vas3k/godmode2- Category
- Developer Tools
- Rank
- No. 1714Tools index
Previous survey · No. 1720 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- vas3k
- GitHub
- 283 stars
- Date
About
Vas3k's semi-automatic admin site generator for any SQL database — Django-admin-style CRUD for your tables without writing code.
What it does
GodMode2 runs as a separate web control panel beside an existing application. It reflects selected SQL tables through SQLAlchemy, then presents list, detail, create, update, and delete screens. Python configuration classes select tables and tailor fields, widgets, actions, navigation, logging, and access levels.
Why it's ranked here
Its appeal is practical breadth from relatively little configuration. One service can connect to multiple databases, reflect existing schemas, and expose customizable operations. The verdict stays cautious because the author explicitly calls it immature, advises checking the code before touching sensitive data, and notes that batch actions run records sequentially.
What's good
The standalone design does not require the main application to use Python. PostgreSQL, MySQL, and SQLite are tested targets. Administrators can make models read-only, restrict whole models or individual views, add record and batch actions, customize forms and templates, and link related records through declared relationships.
Tradeoffs
Setup is only semi-automatic. Each database table needs a reflected model, an admin model, and explicit application registration. There is no completed setup wizard. Large batch operations execute one record at a time. The dependency list pins several specific framework versions, including Flask 1.0.2, Jinja2 2.10.1, and Werkzeug 0.15.2.
How to use it well
It suits engineers who need a configurable web panel over existing SQL data and accept maintaining Python configuration. Start with read-only views, narrow access policies, and excluded sensitive fields for logging. Add mutations and custom actions after inspecting their behavior. It does not provide an automated setup wizard or optimized bulk processing.
Technical notes+
app.py builds the configured model list, wraps the Flask WSGI application with ProxyFix, and starts on settings-defined host and port. godmode/app.py registers error handling, request middleware, templates, internal models, and supplied admin models. database/demo.py reflects SQLite tables with SQLAlchemy and declares an ORM relationship. godmode/acl.py defines ordered roles from superuser through general access, plus an open mode. widgets/json.py, widgets/list.py, widgets/text.py, widgets/array.py, and widgets/float.py show the widget extension surface. requirements.txt provides direct Python dependency pins rather than a published package manifest.
Observed
- Primary language
- Python 3
- Application interface
- Standalone Flask web application
- Installation surface
- Docker Compose or local installation from requirements.txt
- Database support
- Tested with PostgreSQL, MySQL, and SQLite
- Core stack
- Flask, SQLAlchemy, WTForms, and Jinja2
- Configuration model
- Python classes register reflected tables, views, widgets, actions, and access policies
Read from README.md, requirements.txt, app.py, settings.py, godmode/app.py, godmode/acl.py, godmode/api.py, models/index.py, widgets/json.py, widgets/list.py, widgets/text.py, database/demo.py, widgets/array.py, widgets/float.py.
What it can do
Generate admin interface for database
SQL database connection → Django-admin-style web interface
Create CRUD operations for database tables
Database table schema → Create, read, update, delete forms and views
Auto-discover database structure
SQL database → Table and column definitions for admin interface
Generate data entry forms
Database table fields → Web forms for data input
Create data listing views
Database table records → Paginated table views with sorting and filtering
Build admin site without coding
Database schema specifications → Complete administrative web application
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.