fastapi-voyager 0.12.8__tar.gz → 0.12.10__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 (58) hide show
  1. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/PKG-INFO +1 -1
  2. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/docs/changelog.md +5 -0
  3. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/type_helper.py +6 -2
  4. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/version.py +1 -1
  5. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/vue-main.js +5 -1
  6. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/tests/programatic.py +2 -2
  7. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  8. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  9. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/.github/workflows/publish.yml +0 -0
  10. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/.gitignore +0 -0
  11. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/.python-version +0 -0
  12. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/CONTRIBUTING.md +0 -0
  13. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/LICENSE +0 -0
  14. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/README.md +0 -0
  15. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/docs/idea.md +0 -0
  16. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/pyproject.toml +0 -0
  17. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/release.md +0 -0
  18. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/__init__.py +0 -0
  19. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/cli.py +0 -0
  20. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/filter.py +0 -0
  21. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/module.py +0 -0
  22. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/render.py +0 -0
  23. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/server.py +0 -0
  24. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/type.py +0 -0
  25. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/voyager.py +0 -0
  26. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/component/demo.js +0 -0
  27. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/component/render-graph.js +0 -0
  28. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/component/route-code-display.js +0 -0
  29. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/component/schema-code-display.js +0 -0
  30. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/graph-ui.js +0 -0
  31. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/graphviz.svg.css +0 -0
  32. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/graphviz.svg.js +0 -0
  33. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/icon/android-chrome-192x192.png +0 -0
  34. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/icon/android-chrome-512x512.png +0 -0
  35. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/icon/apple-touch-icon.png +0 -0
  36. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/icon/favicon-16x16.png +0 -0
  37. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/icon/favicon-32x32.png +0 -0
  38. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/icon/favicon.ico +0 -0
  39. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/icon/site.webmanifest +0 -0
  40. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/index.html +0 -0
  41. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/quasar.min.css +0 -0
  42. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/quasar.min.js +0 -0
  43. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/src/fastapi_voyager/web/store.js +0 -0
  44. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/tests/__init__.py +0 -0
  45. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/tests/demo.py +0 -0
  46. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/tests/demo_anno.py +0 -0
  47. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/tests/service/__init__.py +0 -0
  48. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/tests/service/schema/__init__.py +0 -0
  49. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/tests/service/schema/extra.py +0 -0
  50. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/tests/service/schema/schema.py +0 -0
  51. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/tests/test_analysis.py +0 -0
  52. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/tests/test_filter.py +0 -0
  53. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/tests/test_generic.py +0 -0
  54. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/tests/test_import.py +0 -0
  55. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/tests/test_module.py +0 -0
  56. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/tests/test_type_helper.py +0 -0
  57. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/uv.lock +0 -0
  58. {fastapi_voyager-0.12.8 → fastapi_voyager-0.12.10}/voyager.jpg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi-voyager
3
- Version: 0.12.8
3
+ Version: 0.12.10
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
@@ -124,6 +124,11 @@
124
124
  - 0.12.8
125
125
  - [x] optimize ui elements, change icons, update reset behavior
126
126
  - 0.12.9
127
+ - [x] fix: handle logging exception for forward ref info, preventing crash
128
+ - 0.12.10
129
+ - [x] fix: double trigger on reset search
130
+ - 0.12.11
131
+ - [ ] fix: pick tag and then pick route directly from another tag will render nothing
127
132
  - [ ] refactor vue-main.js, move methods to store
128
133
  - [ ] refactor render.py
129
134
 
@@ -2,7 +2,7 @@ import inspect
2
2
  import logging
3
3
  import os
4
4
  from types import UnionType
5
- from typing import Annotated, Any, Generic, Union, get_args, get_origin
5
+ from typing import Annotated, Any, Generic, Union, get_args, get_origin, ForwardRef
6
6
 
7
7
  import pydantic_resolve.constant as const
8
8
  from pydantic import BaseModel
@@ -237,7 +237,11 @@ def safe_issubclass(kls, target_kls):
237
237
  try:
238
238
  return issubclass(kls, target_kls)
239
239
  except TypeError:
240
- logger.debug(f'{kls.__module__}:{kls.__qualname__} is not subclass of {target_kls.__module__}:{target_kls.__qualname__}')
240
+ # if kls is ForwardRef, log it
241
+ if isinstance(kls, ForwardRef):
242
+ logger.error(f'{str(kls)} is a ForwardRef, not a subclass of {target_kls.__module__}:{target_kls.__qualname__}')
243
+ else:
244
+ logger.debug(f'{kls.__module__}:{kls.__qualname__} is not subclass of {target_kls.__module__}:{target_kls.__qualname__}')
241
245
  return False
242
246
 
243
247
 
@@ -1,2 +1,2 @@
1
1
  __all__ = ["__version__"]
2
- __version__ = "0.12.8"
2
+ __version__ = "0.12.10"
@@ -64,7 +64,11 @@ const app = createApp({
64
64
  function onSearchSchemaChange(val) {
65
65
  store.state.search.schemaName = val;
66
66
  store.state.search.mode = false;
67
- onSearch()
67
+ if (!val) {
68
+ // Clearing the select should only run resetSearch via @clear
69
+ return;
70
+ }
71
+ onSearch();
68
72
  }
69
73
 
70
74
  function readQuerySelection() {
@@ -1,6 +1,6 @@
1
1
  from fastapi_voyager import create_voyager
2
- # from tests.demo_anno import app
3
- from tests.demo import app
2
+ from tests.demo_anno import app
3
+ # from tests.demo import app
4
4
 
5
5
  app.mount(
6
6
  '/voyager',