How amandev17/pyflashdb works
pyflashdb is a database-agnostic Python CRUD, schema, and export API for MySQL, PostgreSQL, SQLite, and MongoDB. The main workflow is: a caller configures FlashDB (directly or from a URL), invokes a unified operation, and FlashDB dispatches it to the selected adapter, which executes against that database. Shared filtering, schema definitions, SQL dialects, pooling, triggers, and exports support that workflow. The graph also shows the deprecated flash API. Some links rely on README or SOURCE INDEX references; unsampled implementation details are not inferred.
Main entry points: pyflashdb/core.py FlashDB API · sql.py Shared SQL runtime · flash/core.py Legacy Flash API · mongo_adapter.py MongoDB adapter
Components 24
Public API
- FlashDB API
pyflashdb/core.py - URL configuration
pyflashdb/urls.py - Data export
pyflashdb/export.py - Plugins
pyflashdb/plugins.py
Shared Behavior
- Filter semantics
pyflashdb/filters.py - Schema definitions
pyflashdb/schema.py - Operation triggers
pyflashdb/triggers.py - SQL dialects
pyflashdb/dialects.py - Connection pool
pyflashdb/pool.py
Database Backends
- Adapter interface
pyflashdb/adapters/base.py - Shared SQL runtime
pyflashdb/adapters/sql.py - MySQL adapter
pyflashdb/adapters/mysql_adapter.py - PostgreSQL adapter
pyflashdb/adapters/postgres_adapter.py - SQLite adapter
pyflashdb/adapters/sqlite_adapter.py - MongoDB adapter
pyflashdb/adapters/mongo_adapter.py
Legacy API
- Legacy Flash API
flash/core.py - Legacy filters
flash/filters.py - Legacy triggers
flash/triggers.py - Legacy exceptions
flash/exceptions.py - Legacy MongoDB
flash/adapters/mongo_adapter.py - Legacy MySQL
flash/adapters/mysql_adapter.py - Legacy PostgreSQL
flash/adapters/postgres_adapter.py
Other components
- Python caller
- Configured database
Connections 29
- Python caller → FlashDB API: uses API
README.md - FlashDB API → URL configuration: parses URLs
pyflashdb/core.py - FlashDB API → MySQL adapter: dispatches to
pyflashdb/core.py - FlashDB API → PostgreSQL adapter: dispatches to
pyflashdb/core.py - FlashDB API → SQLite adapter: dispatches to
pyflashdb/core.py - FlashDB API → MongoDB adapter: dispatches to
pyflashdb/core.py - FlashDB API → Operation triggers: fires hooks
pyflashdb/core.py - FlashDB API → Data export: exports data
pyflashdb/core.py - FlashDB API → Configured database: operates on
README.md - MySQL adapter → Shared SQL runtime: uses runtime
pyflashdb/adapters/mysql_adapter.py - PostgreSQL adapter → Shared SQL runtime: uses runtime
pyflashdb/adapters/postgres_adapter.py - SQLite adapter → Shared SQL runtime: uses runtime
pyflashdb/adapters/sqlite_adapter.py - Shared SQL runtime → Adapter interface: implements
pyflashdb/adapters/sql.py - MongoDB adapter → Adapter interface: implements
pyflashdb/adapters/mongo_adapter.py - Shared SQL runtime → Filter semantics: compiles filters
pyflashdb/adapters/sql.py - Shared SQL runtime → SQL dialects: uses dialect
pyflashdb/adapters/sql.py - Shared SQL runtime → Connection pool: uses pool
pyflashdb/adapters/sql.py - MongoDB adapter → Filter semantics: translates filters
pyflashdb/adapters/mongo_adapter.py - MongoDB adapter → Schema definitions: validates schema
pyflashdb/adapters/mongo_adapter.py - SQL dialects → Schema definitions: renders DDL
pyflashdb/dialects.py - Python caller → Legacy Flash API: uses legacy API
README.md - Legacy Flash API → Legacy MongoDB: dispatches to
flash/core.py - Legacy Flash API → Legacy MySQL: dispatches to
flash/core.py - Legacy Flash API → Legacy PostgreSQL: dispatches to
flash/core.py - Legacy Flash API → Legacy filters: uses filters
flash/core.py - Legacy Flash API → Legacy triggers: fires hooks
flash/core.py - Legacy MongoDB → Legacy exceptions: raises errors
flash/adapters/mongo_adapter.py - Legacy MySQL → Legacy filters: translates filters
flash/adapters/mysql_adapter.py - Legacy PostgreSQL → Legacy filters: translates filters
flash/adapters/postgres_adapter.py