Registry / database / paracelsus

paracelsus

JSON →
library0.15.0pypypiunverified

Visualize SQLAlchemy databases using Mermaid or Graphviz (Dot) diagrams. Supports generating entity-relationship diagrams (ERDs) from SQLAlchemy models. Version 0.15.0, active development.

pip install paracelsus
INSTALL
IMPORT
SIG · PARACELSUS
P
paracelsus
databasepythonv0.15.0
Install
4.8s avg
Import
Disk
58MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.15.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 58.6MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 4.8s · import 0.000s · 57MB
58MB installed
● package 58MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

generate_er_diagram
from paracelsus import generate_er_diagram
from paracelsus import generate_er_diagram

Reflect database schema and generate a Mermaid ER diagram string.

from sqlalchemy import create_engine, MetaData from paracelsus import generate_er_diagram engine = create_engine('sqlite:///:memory:') metadata = MetaData() metadata.reflect(bind=engine) diagram = generate_er_diagram(metadata, format='mermaid') print(diagram)
paracelsus --version
Debug
Known issues
gotchaThe default output format changed in v0.12.0 from 'dot' to 'mermaid'. Ensure you specify format='mermaid' or format='dot' explicitly to avoid unexpected output.
fix
Always specify the format parameter: generate_er_diagram(metadata, format='mermaid') or generate_er_diagram(metadata, format='dot').
affects: >=0.12.0
breakingIn v0.15.0, the function signature changed; the 'metadata' parameter is now required as the first positional argument. Passing it as a keyword argument still works but ensure order.
fix
Call generate_er_diagram(metadata, ...) instead of relying on previous positional order.
affects: 0.15.0
gotchaReflecting a database requires an active engine connection. If using a declarative base, use Base.metadata instead of reflecting.
fix
Use Base.metadata directly: generate_er_diagram(Base.metadata, ...).
affects: all
Upgrade
Version history
0.15.0latest on PyPI · released Jan 4, 2026
Audit
Dependencies
sqlalchemyrequiredParacelsus inspects SQLAlchemy models to generate diagrams.
graphvizoptionalRequired for Dot output; needed for rendering diagrams if not using Mermaid.
Agent activity
17 hits · last 30 days
node
16
Amazon
1
Resources
paracelsus — pip install paracelsus · libregistry