fastapi-voyager 0.14.1__py3-none-any.whl → 0.15.1__py3-none-any.whl

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 (35) hide show
  1. fastapi_voyager/er_diagram.py +57 -109
  2. fastapi_voyager/render.py +433 -203
  3. fastapi_voyager/render_style.py +105 -0
  4. fastapi_voyager/server.py +1 -0
  5. fastapi_voyager/templates/dot/cluster.j2 +10 -0
  6. fastapi_voyager/templates/dot/cluster_container.j2 +9 -0
  7. fastapi_voyager/templates/dot/digraph.j2 +25 -0
  8. fastapi_voyager/templates/dot/er_diagram.j2 +29 -0
  9. fastapi_voyager/templates/dot/link.j2 +1 -0
  10. fastapi_voyager/templates/dot/route_node.j2 +5 -0
  11. fastapi_voyager/templates/dot/schema_node.j2 +5 -0
  12. fastapi_voyager/templates/dot/tag_node.j2 +5 -0
  13. fastapi_voyager/templates/html/colored_text.j2 +1 -0
  14. fastapi_voyager/templates/html/pydantic_meta.j2 +1 -0
  15. fastapi_voyager/templates/html/schema_field_row.j2 +1 -0
  16. fastapi_voyager/templates/html/schema_header.j2 +2 -0
  17. fastapi_voyager/templates/html/schema_table.j2 +4 -0
  18. fastapi_voyager/version.py +1 -1
  19. fastapi_voyager/web/component/demo.js +5 -5
  20. fastapi_voyager/web/component/render-graph.js +60 -61
  21. fastapi_voyager/web/component/route-code-display.js +35 -37
  22. fastapi_voyager/web/component/schema-code-display.js +50 -53
  23. fastapi_voyager/web/graph-ui.js +90 -101
  24. fastapi_voyager/web/graphviz.svg.css +10 -10
  25. fastapi_voyager/web/graphviz.svg.js +306 -316
  26. fastapi_voyager/web/icon/site.webmanifest +11 -1
  27. fastapi_voyager/web/index.html +225 -109
  28. fastapi_voyager/web/store.js +107 -111
  29. fastapi_voyager/web/vue-main.js +287 -258
  30. {fastapi_voyager-0.14.1.dist-info → fastapi_voyager-0.15.1.dist-info}/METADATA +18 -5
  31. fastapi_voyager-0.15.1.dist-info/RECORD +50 -0
  32. fastapi_voyager-0.14.1.dist-info/RECORD +0 -36
  33. {fastapi_voyager-0.14.1.dist-info → fastapi_voyager-0.15.1.dist-info}/WHEEL +0 -0
  34. {fastapi_voyager-0.14.1.dist-info → fastapi_voyager-0.15.1.dist-info}/entry_points.txt +0 -0
  35. {fastapi_voyager-0.14.1.dist-info → fastapi_voyager-0.15.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi-voyager
3
- Version: 0.14.1
3
+ Version: 0.15.1
4
4
  Summary: Visualize FastAPI application's routing tree and dependencies
5
5
  Project-URL: Homepage, https://github.com/allmonday/fastapi-voyager
6
6
  Project-URL: Source, https://github.com/allmonday/fastapi-voyager
@@ -19,7 +19,8 @@ Classifier: Programming Language :: Python :: 3.13
19
19
  Classifier: Programming Language :: Python :: 3.14
20
20
  Requires-Python: >=3.10
21
21
  Requires-Dist: fastapi>=0.110
22
- Requires-Dist: pydantic-resolve>=2.3.1
22
+ Requires-Dist: jinja2>=3.0.0
23
+ Requires-Dist: pydantic-resolve>=2.4.3
23
24
  Provides-Extra: dev
24
25
  Requires-Dist: pytest; extra == 'dev'
25
26
  Requires-Dist: ruff; extra == 'dev'
@@ -231,13 +232,25 @@ uv pip install ".[dev]"
231
232
  uvicorn tests.programatic:app --reload
232
233
  ```
233
234
 
235
+ ### Setup Git Hooks (Optional)
236
+
237
+ Enable automatic code formatting before commits:
238
+
239
+ ```shell
240
+ ./setup-hooks.sh
241
+ # or manually:
242
+ git config core.hooksPath .githooks
243
+ ```
244
+
245
+ This will run Prettier automatically before each commit. See [`.githooks/README.md`](./.githooks/README.md) for details.
246
+
234
247
  open `localhost:8000/voyager`
235
248
 
236
249
 
237
- frontend:
238
- - `src/web/vue-main.js`: main js
250
+ frontend:
251
+ - `src/fastapi_voyager/web/vue-main.js`: main js
239
252
 
240
- backend:
253
+ backend:
241
254
  - `voyager.py`: main entry
242
255
  - `render.py`: generate dot file
243
256
  - `server.py`: serve mode
@@ -0,0 +1,50 @@
1
+ fastapi_voyager/__init__.py,sha256=kqwzThE1YhmQ_7jPKGlnWvqRGC-hFrRqq_lKhKaleYU,229
2
+ fastapi_voyager/cli.py,sha256=td3yIIigEomhSdDO-Xkh-CgpEwCafwlwnpvxnT9QsBo,10488
3
+ fastapi_voyager/er_diagram.py,sha256=AbaKbcNd3cgCaQBsE0aHzvljTiZza3bmRiGJI3BGhGo,7873
4
+ fastapi_voyager/filter.py,sha256=AN_HIu8-DtKisIq5mFt7CnqRHtxKewedNGyyaI82hSY,11529
5
+ fastapi_voyager/module.py,sha256=h9YR3BpS-CAcJW9WCdVkF4opqwY32w9T67g9GfdLytk,3425
6
+ fastapi_voyager/pydantic_resolve_util.py,sha256=r4Rq7BtBcFOMV7O2Ab9TwLyRNL1yNDiQlGUVybf-sXs,3524
7
+ fastapi_voyager/render.py,sha256=5tTuvvCCUwFCq3WJGT1rfTSW41mSDoVyJwMyQGrmhiQ,17271
8
+ fastapi_voyager/render_style.py,sha256=mPOuChEl71-3agCbPwkMt2sFmax2AEKDI6dK90eFPRc,2552
9
+ fastapi_voyager/server.py,sha256=MUc_ia3_QIbYQ8VenOxv3CEYVTiPDs7e_H40YoalxZs,8970
10
+ fastapi_voyager/type.py,sha256=zluWvh5vpnjXJ9aAmyNJTSmXZPjAHCvgRT5oQRAjHrg,2104
11
+ fastapi_voyager/type_helper.py,sha256=FmfrZAI3Z4uDdh3sH_kH7UGoY6yNVPapneSN86qY_wo,10209
12
+ fastapi_voyager/version.py,sha256=BSYny8QjMZlFFaTEx2paWbmn9s5pXE5CYgdpnEf49W8,49
13
+ fastapi_voyager/voyager.py,sha256=4vonmL-xt54C5San-DRBq4mjoV8Q96eoWRy68MJ1IJw,14169
14
+ fastapi_voyager/templates/dot/cluster.j2,sha256=I2z9KkfCzmAtqXe0gXBnxnOfBXUSpdlATs3uf-O8_B8,307
15
+ fastapi_voyager/templates/dot/cluster_container.j2,sha256=2tH1mOJvPoVKE_aHVMR3t06TfH_dYa9OeH6DBqSHt_A,204
16
+ fastapi_voyager/templates/dot/digraph.j2,sha256=wZuiO-vvZ-AJ1FcMQG4BLevUyxk6yA-yEpUa3Us05mE,435
17
+ fastapi_voyager/templates/dot/er_diagram.j2,sha256=pDr8WmTFwttKlWVSAI1W09c54FbHtMEt5qB-mAV8PF4,557
18
+ fastapi_voyager/templates/dot/link.j2,sha256=9XSbqlJXEcqY8r_gXJLqnVl5N_VxOXUfLGaYs3X3qw0,53
19
+ fastapi_voyager/templates/dot/route_node.j2,sha256=HBI-4HE7tZTCt5ST2aEHp9ntOebFniw5xqxXMRFtDNI,120
20
+ fastapi_voyager/templates/dot/schema_node.j2,sha256=xusd_TgO-eeBBd7d0vFMhCq3HmqRx2mOQNHBYA8ARmY,86
21
+ fastapi_voyager/templates/dot/tag_node.j2,sha256=bzqRXpYYAv_PEE0nDfZgczPJEAl-fGflFGkRQ7ncvzc,96
22
+ fastapi_voyager/templates/html/colored_text.j2,sha256=XgRFWKwY0AI6okEFPyOKGEWYz7gSaRRZ8It3qmmRq84,104
23
+ fastapi_voyager/templates/html/pydantic_meta.j2,sha256=_tsSqjucs_QrAlPIVRy9u6I2-lMVdIXb0AkMM6TEJkE,130
24
+ fastapi_voyager/templates/html/schema_field_row.j2,sha256=KfKexHO_QJV-OIJS0eiY_7fqA8031fWpD2g2wTv4BuE,111
25
+ fastapi_voyager/templates/html/schema_header.j2,sha256=9WpuHLy3Zbv5GHG08qqaj5Xf-gaR-79ErBYuANZp7iA,179
26
+ fastapi_voyager/templates/html/schema_table.j2,sha256=rzphiGk1il7uv4Gr2p_HLPHqyLZk63vLrGAmIduTdSE,117
27
+ fastapi_voyager/web/graph-ui.js,sha256=cmEcM35rQsR6eQA2Sc8zJ_MOA0UfEQ9WvGA1zNInUUc,6285
28
+ fastapi_voyager/web/graphviz.svg.css,sha256=K218ov_mdSe3ga4KwhiBB92ynVvm5zaAk9_D9a3d8hE,1546
29
+ fastapi_voyager/web/graphviz.svg.js,sha256=deI815RgxpZ3_MpELeV-TBYy2MVuUvZtQOHfS3aeXHY,18203
30
+ fastapi_voyager/web/index.html,sha256=NQCbf3FDJVOOoep-nKh-RVsSlAK9E_eCYQ3LfGgJe-c,21987
31
+ fastapi_voyager/web/quasar.min.css,sha256=F5jQe7X2XT54VlvAaa2V3GsBFdVD-vxDZeaPLf6U9CU,203145
32
+ fastapi_voyager/web/quasar.min.js,sha256=h0ftyPMW_CRiyzeVfQqiup0vrVt4_QWojpqmpnpn07E,502974
33
+ fastapi_voyager/web/store.js,sha256=wLI9k7q-NuprpGd_We_laTJ35te5XX5dRIIrPn257Rg,1934
34
+ fastapi_voyager/web/vue-main.js,sha256=lWe_MUwYGE4q3s4eWhjLZlcYZTjxklp_1wGvW-eedj0,18657
35
+ fastapi_voyager/web/component/demo.js,sha256=sAklFGhKGmMy9-ofgOw2oPIidAoIOgHu6yvV51L_MAA,350
36
+ fastapi_voyager/web/component/render-graph.js,sha256=9wnO70n3eyPKTpa744idgs5PSwgvzbfv4InZ68eEOKs,2454
37
+ fastapi_voyager/web/component/route-code-display.js,sha256=a823nBz3EEjutW2pfi73rcF3hodCBmgYNmuZi94sXE4,3615
38
+ fastapi_voyager/web/component/schema-code-display.js,sha256=HHBpm2-EA4V7fpFlXsWjzv9HuBAIUJHmnlmNW6GyxU4,7190
39
+ fastapi_voyager/web/icon/android-chrome-192x192.png,sha256=35sBy6jmUFJCcquStaafHH1qClZIbd-X3PIKSeLkrNo,37285
40
+ fastapi_voyager/web/icon/android-chrome-512x512.png,sha256=eb2eDjCwIruc05029_0L9hcrkVkv8KceLn1DJMYU0zY,210789
41
+ fastapi_voyager/web/icon/apple-touch-icon.png,sha256=gnWK46tPnvSw1-oYZjgI02wpoO4OrIzsVzGHC5oKWO0,33187
42
+ fastapi_voyager/web/icon/favicon-16x16.png,sha256=JC07jEzfIYxBIoQn_FHXvyHuxESdhWNKLtjWURfTSFQ,686
43
+ fastapi_voyager/web/icon/favicon-32x32.png,sha256=C7v1h58cfWOsiLp9yOIZtlx-dLasBcq3NqpHVGRmpt4,1859
44
+ fastapi_voyager/web/icon/favicon.ico,sha256=tZolYIXkkBcFiYl1A8ksaXN2VjGamzcSdes838dLvNc,15406
45
+ fastapi_voyager/web/icon/site.webmanifest,sha256=GRozZ5suTykYcPMap1QhjrAB8PLW0mbT_phhzw_utvQ,316
46
+ fastapi_voyager-0.15.1.dist-info/METADATA,sha256=DsiVefq6CHjYmQmRox7zjSKIehv3H8e7DMU_KZgXdGA,8513
47
+ fastapi_voyager-0.15.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
48
+ fastapi_voyager-0.15.1.dist-info/entry_points.txt,sha256=pEIKoUnIDXEtdMBq8EmXm70m16vELIu1VPz9-TBUFWM,53
49
+ fastapi_voyager-0.15.1.dist-info/licenses/LICENSE,sha256=lNVRR3y_bFVoFKuK2JM8N4sFaj3m-7j29kvL3olFi5Y,1067
50
+ fastapi_voyager-0.15.1.dist-info/RECORD,,
@@ -1,36 +0,0 @@
1
- fastapi_voyager/__init__.py,sha256=kqwzThE1YhmQ_7jPKGlnWvqRGC-hFrRqq_lKhKaleYU,229
2
- fastapi_voyager/cli.py,sha256=td3yIIigEomhSdDO-Xkh-CgpEwCafwlwnpvxnT9QsBo,10488
3
- fastapi_voyager/er_diagram.py,sha256=cMiNKk4ufSM147ldvvfdqfv34Q5mj533VcELsp4Gwwc,10384
4
- fastapi_voyager/filter.py,sha256=AN_HIu8-DtKisIq5mFt7CnqRHtxKewedNGyyaI82hSY,11529
5
- fastapi_voyager/module.py,sha256=h9YR3BpS-CAcJW9WCdVkF4opqwY32w9T67g9GfdLytk,3425
6
- fastapi_voyager/pydantic_resolve_util.py,sha256=r4Rq7BtBcFOMV7O2Ab9TwLyRNL1yNDiQlGUVybf-sXs,3524
7
- fastapi_voyager/render.py,sha256=jST413qpp4JEkgc6OftpWXYnjLkjTM4zUagAmZpQkLo,11791
8
- fastapi_voyager/server.py,sha256=DN4KP37lD_lt4ISg7yoJwzVvw3nKn6qr9C6aH75mR-g,8928
9
- fastapi_voyager/type.py,sha256=zluWvh5vpnjXJ9aAmyNJTSmXZPjAHCvgRT5oQRAjHrg,2104
10
- fastapi_voyager/type_helper.py,sha256=FmfrZAI3Z4uDdh3sH_kH7UGoY6yNVPapneSN86qY_wo,10209
11
- fastapi_voyager/version.py,sha256=MpoZvuQGxW8JYonuGmdFFp029C74ulzgiWGtVznOmBw,49
12
- fastapi_voyager/voyager.py,sha256=4vonmL-xt54C5San-DRBq4mjoV8Q96eoWRy68MJ1IJw,14169
13
- fastapi_voyager/web/graph-ui.js,sha256=DlSRHoTCpWMS6EQsW8naLr8yRn6ofF6wIUL-OsvEjvs,6480
14
- fastapi_voyager/web/graphviz.svg.css,sha256=zDCjjpT0Idufu5YOiZI76PL70-avP3vTyzGPh9M85Do,1563
15
- fastapi_voyager/web/graphviz.svg.js,sha256=wZwz_lBztoXmujEN21P0w-HMpdmbqPwTQQ6Ebxd9rGo,18569
16
- fastapi_voyager/web/index.html,sha256=wRfWeAEJI0ZGUPjIlVNn0S6NfHb59FOgnTB_o0kvtY4,20264
17
- fastapi_voyager/web/quasar.min.css,sha256=F5jQe7X2XT54VlvAaa2V3GsBFdVD-vxDZeaPLf6U9CU,203145
18
- fastapi_voyager/web/quasar.min.js,sha256=h0ftyPMW_CRiyzeVfQqiup0vrVt4_QWojpqmpnpn07E,502974
19
- fastapi_voyager/web/store.js,sha256=vdQ-375K1AQcSdR0qTKkYzNTKOdJLwu6teHdpifN7cE,2217
20
- fastapi_voyager/web/vue-main.js,sha256=Cuf1gfb1kDEBgGciFaoqMfQICQnCzAcs8QyillLq2VU,17521
21
- fastapi_voyager/web/component/demo.js,sha256=bQb16Un4XZ3Mf8qL6gvyrXe_mmA3V3mSIRMQAWg2MNk,352
22
- fastapi_voyager/web/component/render-graph.js,sha256=e8Xgh2Kl-nYU0P1gstEmAepCgFnk2J6UdxW8TlMafGs,2322
23
- fastapi_voyager/web/component/route-code-display.js,sha256=8NJPPjNRUC21gjpY8XYEQs4RBbhX1pCiqEhJp39ku6k,3678
24
- fastapi_voyager/web/component/schema-code-display.js,sha256=E4XiX0ahPxQhvPhZxe_uAbm5FdZYJiml3UAfvIRyrBw,7269
25
- fastapi_voyager/web/icon/android-chrome-192x192.png,sha256=35sBy6jmUFJCcquStaafHH1qClZIbd-X3PIKSeLkrNo,37285
26
- fastapi_voyager/web/icon/android-chrome-512x512.png,sha256=eb2eDjCwIruc05029_0L9hcrkVkv8KceLn1DJMYU0zY,210789
27
- fastapi_voyager/web/icon/apple-touch-icon.png,sha256=gnWK46tPnvSw1-oYZjgI02wpoO4OrIzsVzGHC5oKWO0,33187
28
- fastapi_voyager/web/icon/favicon-16x16.png,sha256=JC07jEzfIYxBIoQn_FHXvyHuxESdhWNKLtjWURfTSFQ,686
29
- fastapi_voyager/web/icon/favicon-32x32.png,sha256=C7v1h58cfWOsiLp9yOIZtlx-dLasBcq3NqpHVGRmpt4,1859
30
- fastapi_voyager/web/icon/favicon.ico,sha256=tZolYIXkkBcFiYl1A8ksaXN2VjGamzcSdes838dLvNc,15406
31
- fastapi_voyager/web/icon/site.webmanifest,sha256=ep4Hzh9zhmiZF2At3Fp1dQrYQuYF_3ZPZxc1KcGBvwQ,263
32
- fastapi_voyager-0.14.1.dist-info/METADATA,sha256=jYSRfxQ8vzsbmklJqGbFNJy4k5JeDNQLYyh8ra23I4A,8184
33
- fastapi_voyager-0.14.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
34
- fastapi_voyager-0.14.1.dist-info/entry_points.txt,sha256=pEIKoUnIDXEtdMBq8EmXm70m16vELIu1VPz9-TBUFWM,53
35
- fastapi_voyager-0.14.1.dist-info/licenses/LICENSE,sha256=lNVRR3y_bFVoFKuK2JM8N4sFaj3m-7j29kvL3olFi5Y,1067
36
- fastapi_voyager-0.14.1.dist-info/RECORD,,