fastapi-voyager 0.9.4__tar.gz → 0.9.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 (48) hide show
  1. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/PKG-INFO +10 -8
  2. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/README.md +9 -7
  3. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/version.py +1 -1
  4. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/index.html +34 -32
  5. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/.gitignore +0 -0
  6. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/.python-version +0 -0
  7. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/LICENSE +0 -0
  8. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/pyproject.toml +0 -0
  9. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/__init__.py +0 -0
  10. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/cli.py +0 -0
  11. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/filter.py +0 -0
  12. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/module.py +0 -0
  13. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/render.py +0 -0
  14. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/server.py +0 -0
  15. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/type.py +0 -0
  16. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/type_helper.py +0 -0
  17. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/voyager.py +0 -0
  18. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/component/render-graph.js +0 -0
  19. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/component/route-code-display.js +0 -0
  20. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/component/schema-code-display.js +0 -0
  21. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/component/schema-field-filter.js +0 -0
  22. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/graph-ui.js +0 -0
  23. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/graphviz.svg.css +0 -0
  24. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/graphviz.svg.js +0 -0
  25. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/icon/android-chrome-192x192.png +0 -0
  26. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/icon/android-chrome-512x512.png +0 -0
  27. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/icon/apple-touch-icon.png +0 -0
  28. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/icon/favicon-16x16.png +0 -0
  29. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/icon/favicon-32x32.png +0 -0
  30. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/icon/favicon.ico +0 -0
  31. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/icon/site.webmanifest +0 -0
  32. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/quasar.min.css +0 -0
  33. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/quasar.min.js +0 -0
  34. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/src/fastapi_voyager/web/vue-main.js +0 -0
  35. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/tests/__init__.py +0 -0
  36. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/tests/demo.py +0 -0
  37. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/tests/demo_anno.py +0 -0
  38. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/tests/programatic.py +0 -0
  39. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/tests/service/__init__.py +0 -0
  40. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/tests/service/schema.py +0 -0
  41. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/tests/test_analysis.py +0 -0
  42. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/tests/test_filter.py +0 -0
  43. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/tests/test_generic.py +0 -0
  44. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/tests/test_import.py +0 -0
  45. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/tests/test_module.py +0 -0
  46. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/tests/test_type_helper.py +0 -0
  47. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/uv.lock +0 -0
  48. {fastapi_voyager-0.9.4 → fastapi_voyager-0.9.5}/voyager.jpg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi-voyager
3
- Version: 0.9.4
3
+ Version: 0.9.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
@@ -163,7 +163,7 @@ or you can open router_viz.dot with vscode extension `graphviz interactive previ
163
163
 
164
164
  ### backlog
165
165
  - [ ] user can generate nodes/edges manually and connect to generated ones
166
- - [ ] add owner
166
+ - [ ] eg: add owner
167
167
  - [ ] add extra info for schema
168
168
  - [ ] display standard ER diagram `hard`
169
169
  - [ ] display potential invalid links
@@ -221,8 +221,12 @@ or you can open router_viz.dot with vscode extension `graphviz interactive previ
221
221
  - [x] schema detail panel show fields by default
222
222
  - [x] adjust schema panel's height
223
223
  - [x] show from base information in subset case
224
+ - 0.9.5
225
+ - [x] route list should have a max height
224
226
 
225
227
  #### 0.10
228
+ - [ ] perfomance: cache the origin data, refactor voyager.py
229
+ - [ ] better edge for brief mode
226
230
  - [ ] support opening route in swagger
227
231
  - config docs path
228
232
  - [ ] add http method for route
@@ -230,15 +234,14 @@ or you can open router_viz.dot with vscode extension `graphviz interactive previ
230
234
  - [ ] logging information
231
235
  - [ ] add tests
232
236
  - [ ] hide brief mode if not configured
233
- - [ ] optimize static resource
237
+ - [ ] optimize static resource (allow manually config url)
234
238
  - [ ] show route count in tag expansion item
235
- - [ ] route list show have a max height to trigger scrollable
239
+ - [ ] route list should have a max height to trigger scrollable
236
240
  - [ ] fix layout issue when rendering huge graph
241
+ - [ ] fix missing route (tag has only one route which return primitive value)
237
242
 
238
243
  #### 0.11
239
- - [ ] improve user experience
240
- - double click to show detail
241
- - improve search dialog
244
+ - [ ] improve search dialog
242
245
 
243
246
  #### 0.12
244
247
  - [ ] integration with pydantic-resolve
@@ -247,7 +250,6 @@ or you can open router_viz.dot with vscode extension `graphviz interactive previ
247
250
 
248
251
  #### 0.13
249
252
  - [ ] config release pipeline
250
- - [ ]
251
253
 
252
254
  ## Using with pydantic-resolve
253
255
 
@@ -136,7 +136,7 @@ or you can open router_viz.dot with vscode extension `graphviz interactive previ
136
136
 
137
137
  ### backlog
138
138
  - [ ] user can generate nodes/edges manually and connect to generated ones
139
- - [ ] add owner
139
+ - [ ] eg: add owner
140
140
  - [ ] add extra info for schema
141
141
  - [ ] display standard ER diagram `hard`
142
142
  - [ ] display potential invalid links
@@ -194,8 +194,12 @@ or you can open router_viz.dot with vscode extension `graphviz interactive previ
194
194
  - [x] schema detail panel show fields by default
195
195
  - [x] adjust schema panel's height
196
196
  - [x] show from base information in subset case
197
+ - 0.9.5
198
+ - [x] route list should have a max height
197
199
 
198
200
  #### 0.10
201
+ - [ ] perfomance: cache the origin data, refactor voyager.py
202
+ - [ ] better edge for brief mode
199
203
  - [ ] support opening route in swagger
200
204
  - config docs path
201
205
  - [ ] add http method for route
@@ -203,15 +207,14 @@ or you can open router_viz.dot with vscode extension `graphviz interactive previ
203
207
  - [ ] logging information
204
208
  - [ ] add tests
205
209
  - [ ] hide brief mode if not configured
206
- - [ ] optimize static resource
210
+ - [ ] optimize static resource (allow manually config url)
207
211
  - [ ] show route count in tag expansion item
208
- - [ ] route list show have a max height to trigger scrollable
212
+ - [ ] route list should have a max height to trigger scrollable
209
213
  - [ ] fix layout issue when rendering huge graph
214
+ - [ ] fix missing route (tag has only one route which return primitive value)
210
215
 
211
216
  #### 0.11
212
- - [ ] improve user experience
213
- - double click to show detail
214
- - improve search dialog
217
+ - [ ] improve search dialog
215
218
 
216
219
  #### 0.12
217
220
  - [ ] integration with pydantic-resolve
@@ -220,7 +223,6 @@ or you can open router_viz.dot with vscode extension `graphviz interactive previ
220
223
 
221
224
  #### 0.13
222
225
  - [ ] config release pipeline
223
- - [ ]
224
226
 
225
227
  ## Using with pydantic-resolve
226
228
 
@@ -1,2 +1,2 @@
1
1
  __all__ = ["__version__"]
2
- __version__ = "0.9.4"
2
+ __version__ = "0.9.5"
@@ -220,43 +220,42 @@
220
220
  class="q-mr-sm"
221
221
  :name="state.tag == tag.name ? 'folder' : 'folder_open'"
222
222
  ></q-icon>
223
- <span>{{ tag.name }}</span>
223
+ <span>{{ tag.name }} <q-chip class="q-ml-sm" dense>{{ tag.routes.length }}</q-chip></span>
224
224
  </div>
225
225
  </div>
226
226
  </template>
227
-
228
- <q-list separator>
229
- <q-item
230
- v-for="route in (state.hidePrimitiveRoute ? tag.routes.filter(r => !r.is_primitive) :tag.routes || [])"
231
- :key="route.id"
232
- clickable
233
- v-ripple
234
- :active="state.routeId === route.id"
235
- active-class=""
236
- @click="selectRoute(route.id)"
237
- >
238
- <q-item-section>
239
- <span class="q-ml-lg" style="white-space: nowrap">
240
- <q-icon
241
- class="q-mr-sm"
242
- name="data_object"
243
- ></q-icon>
244
- {{ route.name }}
245
- </span>
246
- </q-item-section>
247
- </q-item>
248
- <q-item
249
- v-if="!tag.routes || tag.routes.length === 0"
250
- dense
251
- >
252
- <q-item-section class="text-grey-6"
253
- >No routes</q-item-section
227
+ <q-list separator style="overflow: auto; max-height: 60vh;">
228
+ <q-item
229
+ v-for="route in (state.hidePrimitiveRoute ? tag.routes.filter(r => !r.is_primitive) :tag.routes || [])"
230
+ :key="route.id"
231
+ clickable
232
+ v-ripple
233
+ :active="state.routeId === route.id"
234
+ active-class=""
235
+ @click="selectRoute(route.id)"
236
+ >
237
+ <q-item-section>
238
+ <span class="q-ml-lg" style="white-space: nowrap">
239
+ <q-icon
240
+ class="q-mr-sm"
241
+ name="data_object"
242
+ ></q-icon>
243
+ {{ route.name }}
244
+ </span>
245
+ </q-item-section>
246
+ </q-item>
247
+ <q-item
248
+ v-if="!tag.routes || tag.routes.length === 0"
249
+ dense
254
250
  >
255
- </q-item>
256
- </q-list>
251
+ <q-item-section class="text-grey-6"
252
+ >No routes</q-item-section
253
+ >
254
+ </q-item>
255
+ </q-list>
256
+ </q-scroll-area>
257
257
  </q-expansion-item>
258
258
  </q-list>
259
- </q-scroll-area>
260
259
  </div>
261
260
  </template>
262
261
 
@@ -291,7 +290,10 @@
291
290
 
292
291
  <q-dialog v-model="showRouteDetail" seamless position="bottom">
293
292
  <q-card style="width: 1100px; max-width: 1100px; max-height: 40vh">
294
- <route-code-display :route-id="routeCodeId" @close="showRouteDetail=false" />
293
+ <route-code-display
294
+ :route-id="routeCodeId"
295
+ @close="showRouteDetail=false"
296
+ />
295
297
  </q-card>
296
298
  </q-dialog>
297
299
 
File without changes
File without changes