skillfed

paracelsus

Visualize SQLAlchemy Databases using Mermaid or Dot Diagrams.

paracelsus v0.15.0 203.9K downloads/30d#9,617 on PyPI
Permissive license MIT License Copyright (c) 2023, Robert Hafner Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to… (full text in the JSON record) AGING released

What it is and what it does

Paracelsus is a command-line tool that reads your SQLAlchemy ORM models and automatically generates Entity Relationship Diagrams. It works by importing your model modules and inspecting the SQLAlchemy base class registry, then outputting diagrams in either Mermaid or Dot format. Mermaid diagrams render natively in many documentation systems and version control platforms, while Dot format can be further processed with GraphViz tools to create SVG or PNG images.

The tool is designed primarily for documentation and CI/CD workflows. You can generate diagrams on demand, inject them directly into markdown files with automatic updates, or use the `--check` flag to verify that documentation stays in sync with your schema. It supports filtering tables by inclusion or exclusion patterns, customizing column sort order, and handling SQLAlchemy type parameters that might break diagram rendering.

Use it for:

  • Auto-generate database schema diagrams in project README files and keep them synchronized with model changes via CI/CD.
  • Create visual documentation of complex database relationships for team onboarding and design review.
  • Embed Mermaid diagrams directly in markdown documentation that renders in GitHub, GitLab, or similar platforms.
  • Validate that database documentation is current by running `--check` in precommit hooks or CI pipelines.
  • Export Dot format diagrams for further editing in GraphViz or conversion to PNG/SVG for presentations.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Paracelsus generates Entity Relationship Diagrams from SQLAlchemy models, outputting them as Mermaid or Dot format for visualization and documentation.

Yes, if you use SQLAlchemy and need to document or visualize your database schema. The tool is straightforward, has low dependencies, and solves a real documentation problem. The aging maintenance status is a minor concern but not a blocker—the core feature is stable and unlikely to break with new SQLAlchemy releases. Install it if you want automated, version-controlled schema diagrams; skip it if your schema is trivial or you prefer manual diagram tools.

Install

paracelsus on PyPI

pip

pip install paracelsus

uv

uv add paracelsus

poetry

poetry add paracelsus

Installing paracelsus

Before you install

Low install friction with a pure Python wheel and five straightforward dependencies. Maintenance status is aging—last release was 222 days ago—so expect slower response to issues, though the package appears stable for its core use case.

License in practice

MIT License permits free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects.

Quickstart

pip install paracelsus

paracelsus graph myapp.models.base:Base --import-module "myapp.models:*"

# or inject into markdown:
paracelsus inject README.md myapp.models.base:Base --import-module "myapp.models:*"

Requires Python 3.10 or later. SQLAlchemy models must be imported before diagram generation; the package reads the model registry, similar to Alembic's migration workflow.

Verify before relying

  • Whether GraphViz (dot command) must be installed separately to generate SVG/PNG output, or if it is optional for Mermaid-only workflows.
  • Performance characteristics when handling large schemas with many tables and relationships.

Package facts

License MIT License Copyright (c) 2023, Robert Hafner Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 5 — pydot, packaging, sqlalchemy, typer, toml
Maintenance aging — 222 days since the last release
First released
Downloads 203,893/month — #9,617 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: paracelsus-0.15.0-py3-none-any.whl

Tags

sqlalchemy erd generatordatabase diagram from modelsmermaid diagram from sqlalchemyentity relationship diagram toolvisualize database schemasqlalchemy to diagramdatabase documentation generator
documentation-generationsqlalchemyschema-visualization

More Front-Ends packages

SQLAlchemy

SQLAlchemy is a Python SQL toolkit and Object…

permissive · top 100 on PyPI

psycopg2-binary

psycopg2-binary is a PostgreSQL database…

copyleft · top 1,000 on PyPI

alembic

Alembic generates and manages database schema…

permissive · top 1,000 on PyPI

weaviate-client

A Python client library for connecting to and…

permissive · top 1,000 on PyPI

databricks-sql-connector

A Python client library that connects to…

permissive · top 1,000 on PyPI

psycopg

Psycopg 3 is a PostgreSQL database adapter for…

copyleft · top 1,000 on PyPI

django-diagram

Generates Entity Relationship Diagrams in…

unclear · top 15,000 on PyPI

eralchemy

Generates Entity Relation (ER) diagrams from…

permissive · top 5,000 on PyPI

sqlalchemy-schemadisplay

Generates entity-relationship and UML diagrams…

permissive · top 15,000 on PyPI

mkdocs-mermaid2-plugin

A MkDocs plugin that renders Mermaid diagram…

permissive · top 5,000 on PyPI

sphinxcontrib-mermaid

Embeds Mermaid diagrams (flowcharts, sequence…

permissive · top 5,000 on PyPI

mermaid-py

mermaid-py provides a Python interface to the…

permissive · top 15,000 on PyPI

sqlacodegen

Reads an existing database schema and generates…

permissive · top 5,000 on PyPI

mkdocs-panzoom-plugin

Adds interactive pan and zoom functionality to…

permissive · top 5,000 on PyPI

sqlalchemy-repr

Adds automatic, human-readable repr() output to…

unclear · top 15,000 on PyPI

mermaid-builder

Programmatically generates MermaidJS diagram…

permissive · top 15,000 on PyPI