erdscope 0.8.0__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.
Files changed (37) hide show
  1. {erdscope-0.8.0/erdscope.egg-info → erdscope-0.9.0}/PKG-INFO +8 -6
  2. {erdscope-0.8.0 → erdscope-0.9.0}/README.md +7 -5
  3. {erdscope-0.8.0 → erdscope-0.9.0}/erd.py +781 -6
  4. {erdscope-0.8.0 → erdscope-0.9.0/erdscope.egg-info}/PKG-INFO +8 -6
  5. {erdscope-0.8.0 → erdscope-0.9.0}/erdscope.egg-info/SOURCES.txt +2 -1
  6. {erdscope-0.8.0 → erdscope-0.9.0}/pyproject.toml +1 -1
  7. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_e2e.py +199 -0
  8. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_erd.py +166 -0
  9. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_pipeline.py +6 -1
  10. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_provider_contract.py +22 -0
  11. erdscope-0.9.0/tests/test_sqlalchemy_provider.py +280 -0
  12. {erdscope-0.8.0 → erdscope-0.9.0}/LICENSE +0 -0
  13. {erdscope-0.8.0 → erdscope-0.9.0}/erdscope.egg-info/dependency_links.txt +0 -0
  14. {erdscope-0.8.0 → erdscope-0.9.0}/erdscope.egg-info/entry_points.txt +0 -0
  15. {erdscope-0.8.0 → erdscope-0.9.0}/erdscope.egg-info/requires.txt +0 -0
  16. {erdscope-0.8.0 → erdscope-0.9.0}/erdscope.egg-info/top_level.txt +0 -0
  17. {erdscope-0.8.0 → erdscope-0.9.0}/setup.cfg +0 -0
  18. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_build.py +0 -0
  19. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_characterization.py +0 -0
  20. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_config_validation.py +0 -0
  21. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_db_integration.py +0 -0
  22. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_dbml_input.py +0 -0
  23. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_demo.py +0 -0
  24. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_diff.py +0 -0
  25. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_emit_config.py +0 -0
  26. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_emit_dbml.py +0 -0
  27. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_emit_digest.py +0 -0
  28. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_emit_json.py +0 -0
  29. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_emit_mermaid.py +0 -0
  30. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_emit_plantuml.py +0 -0
  31. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_excel_notes_groups.py +0 -0
  32. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_golden_format1.py +0 -0
  33. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_groups.py +0 -0
  34. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_merge_ir.py +0 -0
  35. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_mermaid_input.py +0 -0
  36. {erdscope-0.8.0 → erdscope-0.9.0}/tests/test_notes.py +0 -0
  37. {erdscope-0.8.0 → 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.8.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
  [![Python](https://img.shields.io/badge/Python-3.9%2B-3776AB)](https://pypi.org/project/erdscope/)
43
43
  [![License](https://img.shields.io/badge/license-MIT-14B8A6)](LICENSE)
44
44
 
45
- [Live demo](https://orapli.github.io/erdscope/) · [User manual](https://orapli.github.io/erdscope/manual.html) · [日本語マニュアル](https://orapli.github.io/erdscope/manual.ja.html)
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 Django projects | Reviewing a project without database access |
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 Django project — auto-detected
100
+ # Rails, Prisma, Django, SQLAlchemy, or Laravel project — auto-detected
101
101
  erdscope --models ./my-app -o schema.html
102
102
  ```
103
103
 
@@ -191,7 +191,7 @@ 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 Django input; repeatable |
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) |
@@ -210,13 +210,15 @@ For every option and config key, see the **[CLI and config reference](https://or
210
210
  ## Supported inputs
211
211
 
212
212
  erdscope is tested against MySQL 8.4, PostgreSQL 16, CPython's bundled SQLite, Rails
213
- 7.x/8.x projects, Prisma 5/6 schemas, and Django 4.2/5.x models. Details and parser
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
214
215
  boundaries are listed in the
215
216
  [compatibility guide](https://orapli.github.io/erdscope/manual.html#verified-versions).
216
217
 
217
218
  ## Project resources
218
219
 
219
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)).
220
222
  - **[User manual](https://orapli.github.io/erdscope/manual.html)** — complete setup, viewer, config, export, and troubleshooting guide.
221
223
  - **[Examples](examples/)** — ready-to-run SQLite and config-only inputs.
222
224
  - **[Changelog](CHANGELOG.md)** — features and behavior by release.
@@ -8,7 +8,7 @@
8
8
  [![Python](https://img.shields.io/badge/Python-3.9%2B-3776AB)](https://pypi.org/project/erdscope/)
9
9
  [![License](https://img.shields.io/badge/license-MIT-14B8A6)](LICENSE)
10
10
 
11
- [Live demo](https://orapli.github.io/erdscope/) · [User manual](https://orapli.github.io/erdscope/manual.html) · [日本語マニュアル](https://orapli.github.io/erdscope/manual.ja.html)
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 Django projects | Reviewing a project without database access |
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 Django project — auto-detected
66
+ # Rails, Prisma, Django, SQLAlchemy, or Laravel project — auto-detected
67
67
  erdscope --models ./my-app -o schema.html
68
68
  ```
69
69
 
@@ -157,7 +157,7 @@ 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 Django input; repeatable |
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) |
@@ -176,13 +176,15 @@ For every option and config key, see the **[CLI and config reference](https://or
176
176
  ## Supported inputs
177
177
 
178
178
  erdscope is tested against MySQL 8.4, PostgreSQL 16, CPython's bundled SQLite, Rails
179
- 7.x/8.x projects, Prisma 5/6 schemas, and Django 4.2/5.x models. Details and parser
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
180
181
  boundaries are listed in the
181
182
  [compatibility guide](https://orapli.github.io/erdscope/manual.html#verified-versions).
182
183
 
183
184
  ## Project resources
184
185
 
185
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)).
186
188
  - **[User manual](https://orapli.github.io/erdscope/manual.html)** — complete setup, viewer, config, export, and troubleshooting guide.
187
189
  - **[Examples](examples/)** — ready-to-run SQLite and config-only inputs.
188
190
  - **[Changelog](CHANGELOG.md)** — features and behavior by release.