erdscope 0.7.2__tar.gz → 0.9.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {erdscope-0.7.2/erdscope.egg-info → erdscope-0.9.0}/PKG-INFO +10 -6
- {erdscope-0.7.2 → erdscope-0.9.0}/README.md +9 -5
- {erdscope-0.7.2 → erdscope-0.9.0}/erd.py +2442 -16
- {erdscope-0.7.2 → erdscope-0.9.0/erdscope.egg-info}/PKG-INFO +10 -6
- {erdscope-0.7.2 → erdscope-0.9.0}/erdscope.egg-info/SOURCES.txt +6 -1
- {erdscope-0.7.2 → erdscope-0.9.0}/pyproject.toml +1 -1
- erdscope-0.9.0/tests/test_dbml_input.py +493 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_e2e.py +372 -0
- erdscope-0.9.0/tests/test_emit_mermaid.py +447 -0
- erdscope-0.9.0/tests/test_emit_plantuml.py +488 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_erd.py +166 -0
- erdscope-0.9.0/tests/test_mermaid_input.py +343 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_pipeline.py +6 -1
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_provider_contract.py +46 -0
- erdscope-0.9.0/tests/test_sqlalchemy_provider.py +280 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/LICENSE +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/erdscope.egg-info/dependency_links.txt +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/erdscope.egg-info/entry_points.txt +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/erdscope.egg-info/requires.txt +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/erdscope.egg-info/top_level.txt +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/setup.cfg +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_build.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_characterization.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_config_validation.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_db_integration.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_demo.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_diff.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_emit_config.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_emit_dbml.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_emit_digest.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_emit_json.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_excel_notes_groups.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_golden_format1.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_groups.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_merge_ir.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_notes.py +0 -0
- {erdscope-0.7.2 → erdscope-0.9.0}/tests/test_rails_schema.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: erdscope
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.9.0
|
|
4
4
|
Summary: Interactive, self-contained ER-diagram HTML and Excel table definitions from a MySQL, PostgreSQL, or SQLite database and/or application code (Rails / Prisma / Django) — single file, zero required dependencies
|
|
5
5
|
Author: tas6
|
|
6
6
|
License-Expression: MIT
|
|
@@ -42,7 +42,7 @@ Dynamic: license-file
|
|
|
42
42
|
[](https://pypi.org/project/erdscope/)
|
|
43
43
|
[](LICENSE)
|
|
44
44
|
|
|
45
|
-
[Live demo](https://orapli.github.io/erdscope/) · [
|
|
45
|
+
[Live demo](https://orapli.github.io/erdscope/) · [Recipes](https://orapli.github.io/erdscope/recipes.html) · [User manual](https://orapli.github.io/erdscope/manual.html) · [日本語 README](README.ja.md)
|
|
46
46
|
</div>
|
|
47
47
|
|
|
48
48
|
erdscope generates a **self-contained, interactive ER diagram** and, when you want it,
|
|
@@ -69,7 +69,7 @@ account, or project setup required.
|
|
|
69
69
|
| Start from | What erdscope reads | Good for |
|
|
70
70
|
|---|---|---|
|
|
71
71
|
| **A database** | MySQL, PostgreSQL, or SQLite catalogs | Exploring the schema that is actually deployed |
|
|
72
|
-
| **Application code** | Rails, Prisma, or
|
|
72
|
+
| **Application code** | Rails, Prisma, Django, SQLAlchemy, or Laravel projects | Reviewing a project without database access |
|
|
73
73
|
| **Config** | JSON or YAML source declarations, tables, relations, notes, and groups | Reusing settings, designing a schema, or adding documentation |
|
|
74
74
|
|
|
75
75
|
Use just one source, or combine them. Physical database facts, application-level
|
|
@@ -97,7 +97,7 @@ erdscope sqlite:///path/to/app.db -o schema.html
|
|
|
97
97
|
### Review application models without a database
|
|
98
98
|
|
|
99
99
|
```bash
|
|
100
|
-
# Rails, Prisma, or
|
|
100
|
+
# Rails, Prisma, Django, SQLAlchemy, or Laravel project — auto-detected
|
|
101
101
|
erdscope --models ./my-app -o schema.html
|
|
102
102
|
```
|
|
103
103
|
|
|
@@ -191,13 +191,15 @@ explicit CLI argument wins.
|
|
|
191
191
|
| Option | Purpose |
|
|
192
192
|
|---|---|
|
|
193
193
|
| `--config PATH` | Load model sources, defaults, schema definitions or patches, notes, and groups |
|
|
194
|
-
| `--models PATH` | Override config `models` with Rails, Prisma, or
|
|
194
|
+
| `--models PATH` | Override config `models` with Rails, Prisma, Django, SQLAlchemy, or Laravel input; repeatable |
|
|
195
195
|
| `--excel FILE.xlsx` | Also generate a table-definition workbook (includes Notes/Groups sheets when configured) |
|
|
196
196
|
| `--emit-json FILE.json` | Also write a canonical JSON schema snapshot with a content fingerprint (`-` for stdout) |
|
|
197
197
|
| `--emit-config FILE.yml\|.json` | Also write the schema as a config-authoring file, re-importable via `--config` (`-` for stdout, always JSON) |
|
|
198
198
|
| `--diff SNAPSHOT.json` | Compare this run against a saved `--emit-json` snapshot and exit 0/1/2 instead of generating output (CI drift gate) |
|
|
199
199
|
| `--emit-digest FILE.md` | Also write a token-efficient Markdown digest of the schema, with design notes, for LLMs/agents (`-` for stdout; `--digest-verbose` adds nullable/default/sql_type) |
|
|
200
200
|
| `--emit-dbml FILE.dbml` | Also write a minimal DBML export of the schema — tables/columns/indexes/single-column-FK relations/table comments (`-` for stdout; no notes/groups/`TableGroup`) |
|
|
201
|
+
| `--emit-mermaid FILE.mmd` | Also write a Mermaid `erDiagram` export of the schema — tables/columns/PK-FK markers/relationships (`-` for stdout; no notes/groups) |
|
|
202
|
+
| `--emit-plantuml FILE.puml` | Also write a PlantUML entity-relationship export of the schema — tables/columns/PK-FK markers/relationships (`-` for stdout; no notes/groups) |
|
|
201
203
|
| `--only 'user*,order*'` | Generate only matching tables |
|
|
202
204
|
| `--exclude '*_logs'` | Leave matching tables out |
|
|
203
205
|
| `--infer-fk` | Add clearly marked relation guesses from `*_id` columns |
|
|
@@ -208,13 +210,15 @@ For every option and config key, see the **[CLI and config reference](https://or
|
|
|
208
210
|
## Supported inputs
|
|
209
211
|
|
|
210
212
|
erdscope is tested against MySQL 8.4, PostgreSQL 16, CPython's bundled SQLite, Rails
|
|
211
|
-
7.x/8.x projects, Prisma 5/6 schemas,
|
|
213
|
+
7.x/8.x projects, Prisma 5/6 schemas, Django 4.2/5.x models, SQLAlchemy declarative
|
|
214
|
+
models (classic and 2.0 styles), and Laravel Eloquent models. Details and parser
|
|
212
215
|
boundaries are listed in the
|
|
213
216
|
[compatibility guide](https://orapli.github.io/erdscope/manual.html#verified-versions).
|
|
214
217
|
|
|
215
218
|
## Project resources
|
|
216
219
|
|
|
217
220
|
- **[Live demo](https://orapli.github.io/erdscope/)** — explore a generated shop schema.
|
|
221
|
+
- **[Recipes](https://orapli.github.io/erdscope/recipes.html)** — task-oriented guides with copy-paste commands ([日本語](https://orapli.github.io/erdscope/recipes.ja.html)).
|
|
218
222
|
- **[User manual](https://orapli.github.io/erdscope/manual.html)** — complete setup, viewer, config, export, and troubleshooting guide.
|
|
219
223
|
- **[Examples](examples/)** — ready-to-run SQLite and config-only inputs.
|
|
220
224
|
- **[Changelog](CHANGELOG.md)** — features and behavior by release.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
[](https://pypi.org/project/erdscope/)
|
|
9
9
|
[](LICENSE)
|
|
10
10
|
|
|
11
|
-
[Live demo](https://orapli.github.io/erdscope/) · [
|
|
11
|
+
[Live demo](https://orapli.github.io/erdscope/) · [Recipes](https://orapli.github.io/erdscope/recipes.html) · [User manual](https://orapli.github.io/erdscope/manual.html) · [日本語 README](README.ja.md)
|
|
12
12
|
</div>
|
|
13
13
|
|
|
14
14
|
erdscope generates a **self-contained, interactive ER diagram** and, when you want it,
|
|
@@ -35,7 +35,7 @@ account, or project setup required.
|
|
|
35
35
|
| Start from | What erdscope reads | Good for |
|
|
36
36
|
|---|---|---|
|
|
37
37
|
| **A database** | MySQL, PostgreSQL, or SQLite catalogs | Exploring the schema that is actually deployed |
|
|
38
|
-
| **Application code** | Rails, Prisma, or
|
|
38
|
+
| **Application code** | Rails, Prisma, Django, SQLAlchemy, or Laravel projects | Reviewing a project without database access |
|
|
39
39
|
| **Config** | JSON or YAML source declarations, tables, relations, notes, and groups | Reusing settings, designing a schema, or adding documentation |
|
|
40
40
|
|
|
41
41
|
Use just one source, or combine them. Physical database facts, application-level
|
|
@@ -63,7 +63,7 @@ erdscope sqlite:///path/to/app.db -o schema.html
|
|
|
63
63
|
### Review application models without a database
|
|
64
64
|
|
|
65
65
|
```bash
|
|
66
|
-
# Rails, Prisma, or
|
|
66
|
+
# Rails, Prisma, Django, SQLAlchemy, or Laravel project — auto-detected
|
|
67
67
|
erdscope --models ./my-app -o schema.html
|
|
68
68
|
```
|
|
69
69
|
|
|
@@ -157,13 +157,15 @@ explicit CLI argument wins.
|
|
|
157
157
|
| Option | Purpose |
|
|
158
158
|
|---|---|
|
|
159
159
|
| `--config PATH` | Load model sources, defaults, schema definitions or patches, notes, and groups |
|
|
160
|
-
| `--models PATH` | Override config `models` with Rails, Prisma, or
|
|
160
|
+
| `--models PATH` | Override config `models` with Rails, Prisma, Django, SQLAlchemy, or Laravel input; repeatable |
|
|
161
161
|
| `--excel FILE.xlsx` | Also generate a table-definition workbook (includes Notes/Groups sheets when configured) |
|
|
162
162
|
| `--emit-json FILE.json` | Also write a canonical JSON schema snapshot with a content fingerprint (`-` for stdout) |
|
|
163
163
|
| `--emit-config FILE.yml\|.json` | Also write the schema as a config-authoring file, re-importable via `--config` (`-` for stdout, always JSON) |
|
|
164
164
|
| `--diff SNAPSHOT.json` | Compare this run against a saved `--emit-json` snapshot and exit 0/1/2 instead of generating output (CI drift gate) |
|
|
165
165
|
| `--emit-digest FILE.md` | Also write a token-efficient Markdown digest of the schema, with design notes, for LLMs/agents (`-` for stdout; `--digest-verbose` adds nullable/default/sql_type) |
|
|
166
166
|
| `--emit-dbml FILE.dbml` | Also write a minimal DBML export of the schema — tables/columns/indexes/single-column-FK relations/table comments (`-` for stdout; no notes/groups/`TableGroup`) |
|
|
167
|
+
| `--emit-mermaid FILE.mmd` | Also write a Mermaid `erDiagram` export of the schema — tables/columns/PK-FK markers/relationships (`-` for stdout; no notes/groups) |
|
|
168
|
+
| `--emit-plantuml FILE.puml` | Also write a PlantUML entity-relationship export of the schema — tables/columns/PK-FK markers/relationships (`-` for stdout; no notes/groups) |
|
|
167
169
|
| `--only 'user*,order*'` | Generate only matching tables |
|
|
168
170
|
| `--exclude '*_logs'` | Leave matching tables out |
|
|
169
171
|
| `--infer-fk` | Add clearly marked relation guesses from `*_id` columns |
|
|
@@ -174,13 +176,15 @@ For every option and config key, see the **[CLI and config reference](https://or
|
|
|
174
176
|
## Supported inputs
|
|
175
177
|
|
|
176
178
|
erdscope is tested against MySQL 8.4, PostgreSQL 16, CPython's bundled SQLite, Rails
|
|
177
|
-
7.x/8.x projects, Prisma 5/6 schemas,
|
|
179
|
+
7.x/8.x projects, Prisma 5/6 schemas, Django 4.2/5.x models, SQLAlchemy declarative
|
|
180
|
+
models (classic and 2.0 styles), and Laravel Eloquent models. Details and parser
|
|
178
181
|
boundaries are listed in the
|
|
179
182
|
[compatibility guide](https://orapli.github.io/erdscope/manual.html#verified-versions).
|
|
180
183
|
|
|
181
184
|
## Project resources
|
|
182
185
|
|
|
183
186
|
- **[Live demo](https://orapli.github.io/erdscope/)** — explore a generated shop schema.
|
|
187
|
+
- **[Recipes](https://orapli.github.io/erdscope/recipes.html)** — task-oriented guides with copy-paste commands ([日本語](https://orapli.github.io/erdscope/recipes.ja.html)).
|
|
184
188
|
- **[User manual](https://orapli.github.io/erdscope/manual.html)** — complete setup, viewer, config, export, and troubleshooting guide.
|
|
185
189
|
- **[Examples](examples/)** — ready-to-run SQLite and config-only inputs.
|
|
186
190
|
- **[Changelog](CHANGELOG.md)** — features and behavior by release.
|