fastapi-voyager 0.11.4__tar.gz → 0.11.5__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 (50) hide show
  1. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/PKG-INFO +17 -21
  2. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/README.md +16 -20
  3. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/version.py +1 -1
  4. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/index.html +7 -10
  5. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/.github/workflows/publish.yml +0 -0
  6. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/.gitignore +0 -0
  7. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/.python-version +0 -0
  8. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/LICENSE +0 -0
  9. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/pyproject.toml +0 -0
  10. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/release.md +0 -0
  11. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/__init__.py +0 -0
  12. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/cli.py +0 -0
  13. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/filter.py +0 -0
  14. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/module.py +0 -0
  15. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/render.py +0 -0
  16. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/server.py +0 -0
  17. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/type.py +0 -0
  18. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/type_helper.py +0 -0
  19. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/voyager.py +0 -0
  20. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/component/render-graph.js +0 -0
  21. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/component/route-code-display.js +0 -0
  22. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/component/schema-code-display.js +0 -0
  23. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/component/schema-field-filter.js +0 -0
  24. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/graph-ui.js +0 -0
  25. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/graphviz.svg.css +0 -0
  26. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/graphviz.svg.js +0 -0
  27. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/icon/android-chrome-192x192.png +0 -0
  28. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/icon/android-chrome-512x512.png +0 -0
  29. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/icon/apple-touch-icon.png +0 -0
  30. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/icon/favicon-16x16.png +0 -0
  31. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/icon/favicon-32x32.png +0 -0
  32. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/icon/favicon.ico +0 -0
  33. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/icon/site.webmanifest +0 -0
  34. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/quasar.min.css +0 -0
  35. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/quasar.min.js +0 -0
  36. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/src/fastapi_voyager/web/vue-main.js +0 -0
  37. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/tests/__init__.py +0 -0
  38. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/tests/demo.py +0 -0
  39. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/tests/demo_anno.py +0 -0
  40. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/tests/programatic.py +0 -0
  41. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/tests/service/__init__.py +0 -0
  42. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/tests/service/schema.py +0 -0
  43. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/tests/test_analysis.py +0 -0
  44. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/tests/test_filter.py +0 -0
  45. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/tests/test_generic.py +0 -0
  46. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/tests/test_import.py +0 -0
  47. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/tests/test_module.py +0 -0
  48. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/tests/test_type_helper.py +0 -0
  49. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/uv.lock +0 -0
  50. {fastapi_voyager-0.11.4 → fastapi_voyager-0.11.5}/voyager.jpg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi-voyager
3
- Version: 0.11.4
3
+ Version: 0.11.5
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
@@ -45,8 +45,7 @@ interactively !!
45
45
 
46
46
  [visit online demo](https://www.newsyeah.fun/voyager/) of project: [composition oriented development pattern](https://github.com/allmonday/composition-oriented-development-pattern)
47
47
 
48
- <p align="center"><img src="./voyager.jpg" alt="" /></p>
49
- <p align="center"><a target="_blank" rel="" href="https://www.youtube.com/watch?v=PGlbQq1M-n8"><img src="http://img.youtube.com/vi/PGlbQq1M-n8/0.jpg" alt="" style="max-width: 100%;"></a></p>
48
+ <img width="1600" height="986" alt="image" src="https://github.com/user-attachments/assets/8829cda0-f42d-4c84-be2f-b019bb5fe7e1" />
50
49
 
51
50
  ## Installation
52
51
 
@@ -97,32 +96,25 @@ voyager -m tests.demo
97
96
  --module_color=tests.demo:tomato
98
97
  ```
99
98
 
100
- ### generate the graph
101
- after initialization, pick tag, rotue to render graph
102
-
103
- <img width="1628" height="765" alt="image" src="https://github.com/user-attachments/assets/b4712f82-e754-453b-aa69-24c932b8f48f" />
104
-
105
99
  ### highlight
106
100
  click a node to highlight it's upperstream and downstream nodes. figure out the related models of one page, or homw many pages are related with one model.
107
101
 
108
- <img width="1485" height="616" alt="image" style="border: 1px solid #aaa" src="https://github.com/user-attachments/assets/70c4095f-86c7-45da-a6f0-fd41ac645813" />
102
+ <img width="1100" height="700" alt="image" src="https://github.com/user-attachments/assets/3e0369ea-5fa4-469a-82c1-ed57d407e53d" />
109
103
 
110
- ### filter related nodes
111
- `shift` click a node to check related node, pick a field to narrow the result, picked node is marked as red.
104
+ ### focus on nodes
105
+ toggle focus to hide nodes not related with current picked one.
112
106
 
113
- <img width="1423" height="552" alt="image" src="https://github.com/user-attachments/assets/468a058d-afa1-4601-a7c5-c6aad6a8a557" />
107
+ before:
108
+ <img width="1066" height="941" alt="image" src="https://github.com/user-attachments/assets/39f30817-899a-4289-93f4-a1646d3441c1" />
109
+ after:
110
+ <img width="1061" height="937" alt="image" src="https://github.com/user-attachments/assets/79709b02-7571-43fc-abc9-17a287a97515" />
114
111
 
115
112
  ### view source code
116
- `alt` click a node to show source code or open file in vscode.
117
-
118
- <img width="1049" height="694" alt="image" src="https://github.com/user-attachments/assets/7839ac83-8d60-44ad-b1c9-9652a76339b1" />
119
-
120
- <img width="1042" height="675" alt="image" src="https://github.com/user-attachments/assets/38ae705f-5982-4a02-9c3f-038b1d00bcf6" />
121
-
122
- `alt` click a route to show source code or open file in vscode
123
-
124
- <img width="882" height="445" alt="image" src="https://github.com/user-attachments/assets/158560ef-63ca-4991-9b7d-587be4fa04e4" />
113
+ double click a node to show source code or open file in vscode.
114
+ <img width="1297" height="940" alt="image" src="https://github.com/user-attachments/assets/c8bb2e7d-b727-42a6-8c9e-64dce297d2d8" />
125
115
 
116
+ double click a route to show source code or open file in vscode
117
+ <img width="1132" height="824" alt="image" src="https://github.com/user-attachments/assets/b706e879-e4fc-48dd-ace1-99bf97e3ed6a" />
126
118
 
127
119
 
128
120
 
@@ -274,6 +266,10 @@ or you can open router_viz.dot with vscode extension `graphviz interactive previ
274
266
  - 0.11.4
275
267
  - [x] add loading for field detail panel
276
268
  - 0.11.5
269
+ - [x] optimize open in swagger link
270
+ - [x] change jquery cdn
271
+ - 0.11.6
272
+ - [ ] flag of loading full graph in first render or not
277
273
  - [ ] logging information
278
274
  - [ ] sort field name
279
275
  - [ ] set max limit for fields
@@ -16,8 +16,7 @@ interactively !!
16
16
 
17
17
  [visit online demo](https://www.newsyeah.fun/voyager/) of project: [composition oriented development pattern](https://github.com/allmonday/composition-oriented-development-pattern)
18
18
 
19
- <p align="center"><img src="./voyager.jpg" alt="" /></p>
20
- <p align="center"><a target="_blank" rel="" href="https://www.youtube.com/watch?v=PGlbQq1M-n8"><img src="http://img.youtube.com/vi/PGlbQq1M-n8/0.jpg" alt="" style="max-width: 100%;"></a></p>
19
+ <img width="1600" height="986" alt="image" src="https://github.com/user-attachments/assets/8829cda0-f42d-4c84-be2f-b019bb5fe7e1" />
21
20
 
22
21
  ## Installation
23
22
 
@@ -68,32 +67,25 @@ voyager -m tests.demo
68
67
  --module_color=tests.demo:tomato
69
68
  ```
70
69
 
71
- ### generate the graph
72
- after initialization, pick tag, rotue to render graph
73
-
74
- <img width="1628" height="765" alt="image" src="https://github.com/user-attachments/assets/b4712f82-e754-453b-aa69-24c932b8f48f" />
75
-
76
70
  ### highlight
77
71
  click a node to highlight it's upperstream and downstream nodes. figure out the related models of one page, or homw many pages are related with one model.
78
72
 
79
- <img width="1485" height="616" alt="image" style="border: 1px solid #aaa" src="https://github.com/user-attachments/assets/70c4095f-86c7-45da-a6f0-fd41ac645813" />
73
+ <img width="1100" height="700" alt="image" src="https://github.com/user-attachments/assets/3e0369ea-5fa4-469a-82c1-ed57d407e53d" />
80
74
 
81
- ### filter related nodes
82
- `shift` click a node to check related node, pick a field to narrow the result, picked node is marked as red.
75
+ ### focus on nodes
76
+ toggle focus to hide nodes not related with current picked one.
83
77
 
84
- <img width="1423" height="552" alt="image" src="https://github.com/user-attachments/assets/468a058d-afa1-4601-a7c5-c6aad6a8a557" />
78
+ before:
79
+ <img width="1066" height="941" alt="image" src="https://github.com/user-attachments/assets/39f30817-899a-4289-93f4-a1646d3441c1" />
80
+ after:
81
+ <img width="1061" height="937" alt="image" src="https://github.com/user-attachments/assets/79709b02-7571-43fc-abc9-17a287a97515" />
85
82
 
86
83
  ### view source code
87
- `alt` click a node to show source code or open file in vscode.
88
-
89
- <img width="1049" height="694" alt="image" src="https://github.com/user-attachments/assets/7839ac83-8d60-44ad-b1c9-9652a76339b1" />
90
-
91
- <img width="1042" height="675" alt="image" src="https://github.com/user-attachments/assets/38ae705f-5982-4a02-9c3f-038b1d00bcf6" />
92
-
93
- `alt` click a route to show source code or open file in vscode
94
-
95
- <img width="882" height="445" alt="image" src="https://github.com/user-attachments/assets/158560ef-63ca-4991-9b7d-587be4fa04e4" />
84
+ double click a node to show source code or open file in vscode.
85
+ <img width="1297" height="940" alt="image" src="https://github.com/user-attachments/assets/c8bb2e7d-b727-42a6-8c9e-64dce297d2d8" />
96
86
 
87
+ double click a route to show source code or open file in vscode
88
+ <img width="1132" height="824" alt="image" src="https://github.com/user-attachments/assets/b706e879-e4fc-48dd-ace1-99bf97e3ed6a" />
97
89
 
98
90
 
99
91
 
@@ -245,6 +237,10 @@ or you can open router_viz.dot with vscode extension `graphviz interactive previ
245
237
  - 0.11.4
246
238
  - [x] add loading for field detail panel
247
239
  - 0.11.5
240
+ - [x] optimize open in swagger link
241
+ - [x] change jquery cdn
242
+ - 0.11.6
243
+ - [ ] flag of loading full graph in first render or not
248
244
  - [ ] logging information
249
245
  - [ ] sort field name
250
246
  - [ ] set max limit for fields
@@ -1,2 +1,2 @@
1
1
  __all__ = ["__version__"]
2
- __version__ = "0.11.4"
2
+ __version__ = "0.11.5"
@@ -218,9 +218,9 @@
218
218
  class="q-mr-sm"
219
219
  :name="state.tag == tag.name ? 'folder' : 'folder_open'"
220
220
  ></q-icon>
221
- <span>{{ tag.name }} <q-chip style="position:relative; top: -1px;" class="q-ml-sm" dense>{{ tag.routes.length }}</q-chip></span>
222
- <a target="_blank" class="q-ml-sm" v-if="state.swaggerUrl" :href="state.swaggerUrl + '#/' + tag.name">
223
- <q-icon size="small" name="link"></q-icon>
221
+ <span>{{ tag.name }} <q-chip style="position:relative; top: -1px;" class="q-ml-md" dense>{{ tag.routes.length }}</q-chip></span>
222
+ <a v-if="state._tag == tag.name" target="_blank" class="q-ml-sm" v-if="state.swaggerUrl" :href="state.swaggerUrl + '#/' + tag.name">
223
+ <q-icon color="primary" size="" name="link" title="open in swagger"></q-icon>
224
224
  </a>
225
225
  </div>
226
226
  </template>
@@ -241,8 +241,8 @@
241
241
  name="data_object"
242
242
  ></q-icon>
243
243
  {{ route.name }}
244
- <a target="_blank" class="q-ml-sm" v-if="state.swaggerUrl" :href="state.swaggerUrl + '#/' + tag.name + '/' + route.unique_id">
245
- <q-icon size="small" name="link"></q-icon>
244
+ <a v-if="state.routeId == route.id" target="_blank" class="q-ml-md" v-if="state.swaggerUrl" :href="state.swaggerUrl + '#/' + tag.name + '/' + route.unique_id">
245
+ <q-icon color="primary" size="" name="link" title="open in swagger"></q-icon>
246
246
  </a>
247
247
  </span>
248
248
  </q-item-section>
@@ -411,10 +411,7 @@
411
411
  </q-dialog>
412
412
  </div>
413
413
 
414
- <script
415
- type="text/javascript"
416
- src="https://code.jquery.com/jquery-2.1.3.min.js"
417
- ></script>
414
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js" integrity="sha512-egJ/Y+22P9NQ9aIyVCh0VCOsfydyn8eNmqBy+y2CnJG+fpRIxXMS6jbWP8tVKp0jp+NO5n8WtMUAnNnGoJKi4w==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
418
415
  <script
419
416
  src="https://cdnjs.cloudflare.com/ajax/libs/d3/7.9.0/d3.min.js"
420
417
  integrity="sha512-vc58qvvBdrDR4etbxMdlTt4GBQk1qjvyORR2nrsPsFPyrs+/u5c3+1Ct6upOgdZoIl7eq6k3a1UPDSNAQi/32A=="
@@ -422,7 +419,7 @@
422
419
  referrerpolicy="no-referrer"
423
420
  ></script>
424
421
  <script src="https://unpkg.com/@hpcc-js/wasm@2.20.0/dist/graphviz.umd.js"></script>
425
- <script src="https://unpkg.com/d3-graphviz@5.6.0/build/d3-graphviz.js"></script>
422
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/d3-graphviz/5.6.0/d3-graphviz.min.js" integrity="sha512-Le8HpIpS2Tc7SDHLM6AOgAKq6ZR4uDwLhjPSR20DtXE5dFb9xECHRwgpc1nxxnU0Dv+j6FNMoSddky5gyvI3lQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
426
423
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js"></script>
427
424
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-color/2.1.2/jquery.color.min.js"></script>
428
425