factcircuit
FactCircuit는 불변 출처와 단계별 검증, 제한된 검색, 재현 가능한 평가를 제공하는 감사 가능한 주장·증거 검증 루프입니다
erdify: SQLModel, SQLAlchemy 등 소스 분석으로 ER 다이어그램 생성
erdify generates PlantUML, Mermaid, JSON and HTML ER diagrams from SQLModel, SQLAlchemy, Django, Pydantic, dataclass and SQL DDL sources — by parsing them, with no imports and no database.
데이터PythonGitHub @devsuit-berlin온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
A zero-dependency ERD generator for your Python models — pure AST, no database required.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
🚀 Generate beautiful PlantUML Entity Relationship Diagrams from your SQLModel, SQLAlchemy, Django, Pydantic and dataclass models automatically!
erdify parses your model files using AST (Abstract Syntax Tree) and generates comprehensive ERD diagrams in PlantUML format. It supports SQLModel, SQLAlchemy 2.0, Django ORM, Pydantic and standard-library dataclasses — and raw SQL DDL files (.sql) via the optional erdify[sql] extra. No database connection required!README 전문 보기 ↗🚀 Generate beautiful PlantUML Entity Relationship Diagrams from your SQLModel, SQLAlchemy, Django, Pydantic and dataclass models automatically!
erdify parses your model files using AST (Abstract Syntax Tree) and generates comprehensive ERD diagrams in PlantUML format. It supports SQLModel, SQLAlchemy 2.0, Django ORM, Pydantic and standard-library dataclasses — and raw SQL DDL files (.sql) via the optional erdify[sql] extra. No database connection required!
.sql files (via erdify[sql])erdify[sql])--format emits PlantUML, Mermaid (renders natively on GitHub), JSON, or a self-contained HTML preview--inject writes the diagram into a Markdown file between markers[tool.erdify] in pyproject.toml--check fails CI/pre-commit when the committed diagram is staleSee the full feature matrix for everything erdify recognizes.
| erdify | paracelsus | eralchemy | sqlalchemy-schemadisplay | erdantic | graph_models | DBML/dbdiagram | |
|---|---|---|---|---|---|---|---|
| Needs a live DB connection | No | No | Optional | Optional | No | No | Only for db2dbml |
| Imports/executes your code | No | Yes | Yes | Yes | Yes | Yes (full Django setup) | n/a |
| Frameworks read | 5 + SQL DDL | SQLAlchemy | SQLAlchemy | SQLAlchemy | Pydantic, attrs, msgspec, dataclasses | Django | SQL dumps |
| Runtime dependencies | None | SQLAlchemy, pydot, typer | SQLAlchemy + Graphviz | SQLAlchemy, pydot, Graphviz | pydantic, pygraphviz, … | Django + Graphviz | Node.js |
| CI drift gate | --check | --check | No | No | No | No | No |
erdify reads your source with the stdlib ast module, so it runs in a docs
pipeline, a pre-commit hook or a CI job against a repository it cannot even
install — and one command covers five frameworks plus raw SQL, where every
other tool here covers one. That is a trade-off, not a free win: anything your
code builds at runtime is invisible to it, and none of these tools renders
images for you.
👉 Full comparison, including when to use something else
# Run without installing (or `pip install erdify`)
uvx erdify ./src/database -o erd.puml
# Output to stdout, with a custom title
erdify ./src/models --title "My Database Schema"
See the documentation for installation options, the full CLI, the Python API and more.
The same User / Order schema in SQLModel, SQLAlchemy 2.0, Django, Pydantic
and dataclasses — only the syntax differs. Each one produces the identical
diagram:
erdify docs/examples/sqlmodel --inject README.md keeps the diagram below in
this file. It is Mermaid, so GitHub renders it directly — and a pre-commit hook
runs the same command with --check, so it cannot go stale:
erDiagram
User {
int id PK
str name
str email
}
Order {
int id PK
int user_id FK
float total
}
Order }o--|| User : "user_id"
👉 See the full side-by-side comparison and the detection/parsing table in the
Frameworks Overview (with a worked
example and Django specifics).
The runnable sources live in docs/examples/.
--format, --inject into Markdown, output naming--exclude, --exclude-paths, --include, --sources, --infer-keys.sql files with erdify[sql]Primary/foreign keys, nullable fields, defaults, indexes, enums, relationships, inheritance, link tables, custom table names and per-framework specifics — see the full feature matrix in the docs.
Questions, ideas, or want to show off an ERD erdify generated? Join the Discussions. For open-ended topics and feature direction, Discussions are the place; concrete bugs and proposals go to Issues.
Contributions are welcome! Have a bug or a concrete feature request? Please open an issue, and see CONTRIBUTING.md for guidelines. Shipped changes are tracked in the changelog.
For security concerns, please see SECURITY.md.
This project is licensed under the MIT License - see the LICENSE file for details.
erdify stands on the shoulders of great open-source projects:
Supported model frameworks
Rendering & output
--format mermaid / html outputTooling & infrastructure
Community
Created & maintained with ❤️ by devsuit GmbH