deepdoc 0.5.2__tar.gz → 0.5.4__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 (204) hide show
  1. {deepdoc-0.5.2 → deepdoc-0.5.4}/PKG-INFO +16 -14
  2. {deepdoc-0.5.2 → deepdoc-0.5.4}/README.md +15 -13
  3. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/__init__.py +1 -1
  4. deepdoc-0.5.4/deepdoc/call_graph.py +1410 -0
  5. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/chunker.py +1 -1
  6. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/cli.py +17 -7
  7. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/config.py +6 -0
  8. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/generator/evidence.py +5 -3
  9. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/llm/token_budget.py +79 -20
  10. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/common.py +28 -8
  11. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/fastapi.py +10 -2
  12. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/laravel.py +21 -14
  13. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/repo_resolver.py +111 -1
  14. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/persistence_v2.py +1 -1
  15. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/pipeline_v2.py +167 -881
  16. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/bucket_refinement.py +4 -6
  17. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/common.py +4 -7
  18. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/engine.py +514 -63
  19. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/heuristics.py +38 -1
  20. deepdoc-0.5.4/deepdoc/planner/merge.py +281 -0
  21. deepdoc-0.5.4/deepdoc/planner/partitioning.py +643 -0
  22. deepdoc-0.5.4/deepdoc/planner/unit_boundaries.py +424 -0
  23. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/clustering.py +32 -10
  24. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/integrations.py +31 -11
  25. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/runtime.py +99 -0
  26. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/source_metadata.py +27 -0
  27. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/v2_models.py +2 -0
  28. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc.egg-info/PKG-INFO +16 -14
  29. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc.egg-info/SOURCES.txt +16 -0
  30. {deepdoc-0.5.2 → deepdoc-0.5.4}/pyproject.toml +1 -1
  31. deepdoc-0.5.4/tests/test_call_graph.py +713 -0
  32. deepdoc-0.5.4/tests/test_coverage_report.py +70 -0
  33. deepdoc-0.5.4/tests/test_empty_repo_guard.py +43 -0
  34. deepdoc-0.5.4/tests/test_endpoint_priority_dedupe.py +53 -0
  35. deepdoc-0.5.4/tests/test_fastapi_phantom_endpoints.py +26 -0
  36. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_framework_support.py +42 -0
  37. deepdoc-0.5.4/tests/test_hosted_upload.py +133 -0
  38. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_phase1_perf.py +0 -29
  39. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_planner_assignment_partition.py +35 -2
  40. deepdoc-0.5.4/tests/test_planner_merge.py +246 -0
  41. deepdoc-0.5.4/tests/test_planner_partitioning.py +729 -0
  42. deepdoc-0.5.4/tests/test_planner_unit_boundaries.py +881 -0
  43. deepdoc-0.5.4/tests/test_planner_unit_orchestration.py +911 -0
  44. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_rate_limit.py +14 -3
  45. deepdoc-0.5.4/tests/test_route_composition.py +99 -0
  46. deepdoc-0.5.4/tests/test_scan_guards.py +46 -0
  47. deepdoc-0.5.4/tests/test_scanner_llm_bounds.py +210 -0
  48. deepdoc-0.5.4/tests/test_slug_dedup.py +43 -0
  49. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_smart_update.py +13 -0
  50. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_state.py +1 -0
  51. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_token_budget.py +68 -3
  52. deepdoc-0.5.2/deepdoc/call_graph.py +0 -811
  53. deepdoc-0.5.2/tests/test_call_graph.py +0 -233
  54. {deepdoc-0.5.2 → deepdoc-0.5.4}/LICENSE +0 -0
  55. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/__main__.py +0 -0
  56. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/benchmark_v2.py +0 -0
  57. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/changelog_writer.py +0 -0
  58. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/__init__.py +0 -0
  59. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/answer_mixin.py +0 -0
  60. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/constants.py +0 -0
  61. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/deep_research.py +0 -0
  62. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/docs_summary.py +0 -0
  63. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/embedding_capabilities.py +0 -0
  64. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/embeddings.py +0 -0
  65. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/indexer.py +0 -0
  66. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/linking.py +0 -0
  67. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/live_fallback_mixin.py +0 -0
  68. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/persistence.py +0 -0
  69. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/providers.py +0 -0
  70. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/retrieval_mixin.py +0 -0
  71. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/routes.py +0 -0
  72. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/scaffold.py +0 -0
  73. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/service.py +0 -0
  74. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/settings.py +0 -0
  75. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/source_archive.py +0 -0
  76. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/symbol_index.py +0 -0
  77. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/chatbot/types.py +0 -0
  78. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/generator/__init__.py +0 -0
  79. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/generator/consistency.py +0 -0
  80. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/generator/generation.py +0 -0
  81. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/generator/post_processors.py +0 -0
  82. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/generator/validation.py +0 -0
  83. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/llm/__init__.py +0 -0
  84. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/llm/client.py +0 -0
  85. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/llm/json_utils.py +0 -0
  86. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/llm/litellm_compat.py +0 -0
  87. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/llm/rate_limit.py +0 -0
  88. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/llm/retry.py +0 -0
  89. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/manifest.py +0 -0
  90. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/openapi.py +0 -0
  91. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/__init__.py +0 -0
  92. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/api_detector.py +0 -0
  93. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/base.py +0 -0
  94. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/go_parser.py +0 -0
  95. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/js_ts_parser.py +0 -0
  96. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/php_parser.py +0 -0
  97. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/python_parser.py +0 -0
  98. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/registry.py +0 -0
  99. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/__init__.py +0 -0
  100. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/base.py +0 -0
  101. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/detector.py +0 -0
  102. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/django.py +0 -0
  103. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/express.py +0 -0
  104. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/falcon.py +0 -0
  105. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/fastify.py +0 -0
  106. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/go.py +0 -0
  107. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/js_shared.py +0 -0
  108. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/nestjs.py +0 -0
  109. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/python_shared.py +0 -0
  110. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/routes/registry.py +0 -0
  111. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/parser/vue_parser.py +0 -0
  112. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/plan_contract.py +0 -0
  113. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/__init__.py +0 -0
  114. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/bucket_injection.py +0 -0
  115. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/endpoint_refs.py +0 -0
  116. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/flow_candidates.py +0 -0
  117. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/nav_shaping.py +0 -0
  118. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/specializations.py +0 -0
  119. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/topology.py +0 -0
  120. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/planner/utils.py +0 -0
  121. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/prompts/__init__.py +0 -0
  122. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/prompts/bucket_types.py +0 -0
  123. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/prompts/page_types.py +0 -0
  124. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/prompts/selectors.py +0 -0
  125. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/prompts/system.py +0 -0
  126. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/prompts/update.py +0 -0
  127. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/py.typed +0 -0
  128. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/__init__.py +0 -0
  129. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/artifacts.py +0 -0
  130. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/common.py +0 -0
  131. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/database.py +0 -0
  132. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/endpoints.py +0 -0
  133. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/scanner/utils.py +0 -0
  134. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/__init__.py +0 -0
  135. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/__init__.py +0 -0
  136. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/common.py +0 -0
  137. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/mdx_utils.py +0 -0
  138. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_builder.py +0 -0
  139. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/.gitignore +0 -0
  140. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/app/(main)/[[...slug]]/page.tsx +0 -0
  141. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/app/(main)/layout.tsx +0 -0
  142. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/app/ask/layout.tsx +0 -0
  143. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/app/ask/page.tsx +0 -0
  144. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/app/components/mermaid-runner.tsx +0 -0
  145. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/app/globals.css +0 -0
  146. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/app/layout.tsx +0 -0
  147. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/components/chatbot.tsx +0 -0
  148. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/deepdoc.config.json +0 -0
  149. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/lib/config.ts +0 -0
  150. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/lib/docs.ts +0 -0
  151. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/lib/nav.ts +0 -0
  152. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/next.config.mjs +0 -0
  153. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/package.json +0 -0
  154. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/postcss.config.mjs +0 -0
  155. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/next_template/tsconfig.json +0 -0
  156. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/vendor/highlight.min.js +0 -0
  157. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/vendor/hljs-theme.css +0 -0
  158. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/site/builder/vendor/markdown-it.min.js +0 -0
  159. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/smart_update_v2.py +0 -0
  160. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/telemetry.py +0 -0
  161. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc/updater_v2.py +0 -0
  162. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc.egg-info/dependency_links.txt +0 -0
  163. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc.egg-info/entry_points.txt +0 -0
  164. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc.egg-info/requires.txt +0 -0
  165. {deepdoc-0.5.2 → deepdoc-0.5.4}/deepdoc.egg-info/top_level.txt +0 -0
  166. {deepdoc-0.5.2 → deepdoc-0.5.4}/setup.cfg +0 -0
  167. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_benchmark_scorecard.py +0 -0
  168. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_changelog.py +0 -0
  169. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_config.py +0 -0
  170. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_embeddings.py +0 -0
  171. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_eval.py +0 -0
  172. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_index.py +0 -0
  173. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_persistence.py +0 -0
  174. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_providers.py +0 -0
  175. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_query.py +0 -0
  176. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_relationship.py +0 -0
  177. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_scaffold.py +0 -0
  178. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_chatbot_source_archive.py +0 -0
  179. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_classify.py +0 -0
  180. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_cli_generate.py +0 -0
  181. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_cli_serve.py +0 -0
  182. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_cli_update.py +0 -0
  183. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_consistency_pass.py +0 -0
  184. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_embedding_capabilities.py +0 -0
  185. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_flow_candidates.py +0 -0
  186. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_framework_fixtures.py +0 -0
  187. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_generation_evidence.py +0 -0
  188. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_internal_docs_metadata.py +0 -0
  189. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_litellm_compat.py +0 -0
  190. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_llm_json_utils.py +0 -0
  191. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_llm_retry.py +0 -0
  192. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_manifest_performance.py +0 -0
  193. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_next_builder.py +0 -0
  194. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_parallel_pipeline.py +0 -0
  195. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_parallel_scan.py +0 -0
  196. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_parser_ranges.py +0 -0
  197. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_plan_contract.py +0 -0
  198. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_planner_consolidation.py +0 -0
  199. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_planner_granularity.py +0 -0
  200. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_route_registry.py +0 -0
  201. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_runtime_scan.py +0 -0
  202. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_scan_telemetry.py +0 -0
  203. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_stale.py +0 -0
  204. {deepdoc-0.5.2 → deepdoc-0.5.4}/tests/test_telemetry.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepdoc
3
- Version: 0.5.2
3
+ Version: 0.5.4
4
4
  Summary: Auto-generate beautiful docs from any codebase
5
5
  Author: Pranav Kumar
6
6
  License: MIT
@@ -37,11 +37,18 @@ Requires-Dist: httpx>=0.27; extra == "chatbot"
37
37
  Requires-Dist: fastembed>=0.3.0; extra == "chatbot"
38
38
  Dynamic: license-file
39
39
 
40
- # DeepDoc
40
+ <div align="center">
41
+ <img src="./web/public/favicon.svg" alt="DeepDoc Logo" width="120" height="120" />
42
+ <h1>DeepDoc</h1>
43
+ <p><b>Auto-generate deep engineering documentation from real codebases using AI.</b></p>
44
+ <p>DeepDoc scans your repo, builds a bucket-based documentation plan, generates rich Markdown pages with Mermaid diagrams, and builds a local-first Next.js + Fumadocs site with built-in search.</p>
41
45
 
42
- [![PyPI version](https://img.shields.io/pypi/v/deepdoc)](https://pypi.org/project/deepdoc/)
43
- [![Python versions](https://img.shields.io/pypi/pyversions/deepdoc)](https://pypi.org/project/deepdoc/)
44
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
46
+ [![PyPI version](https://img.shields.io/pypi/v/deepdoc)](https://pypi.org/project/deepdoc/)
47
+ [![Python versions](https://img.shields.io/pypi/pyversions/deepdoc)](https://pypi.org/project/deepdoc/)
48
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
49
+ </div>
50
+
51
+ <br/>
45
52
 
46
53
  ## Repository Layout
47
54
 
@@ -53,12 +60,6 @@ Dynamic: license-file
53
60
  | [`tests/`](./tests/) | pytest test suite for the Python package. | Run `python3 -m pytest -q` from repo root. |
54
61
  | [`scripts/`](./scripts/) | One-off release and maintenance scripts. | — |
55
62
 
56
- ---
57
-
58
- Auto-generate deep engineering documentation from real codebases using AI.
59
-
60
- DeepDoc scans your repo, builds a bucket-based documentation plan, generates rich Markdown pages with Mermaid diagrams, and builds a local-first Next.js + Fumadocs site with built-in search.
61
-
62
63
  ## Contents
63
64
 
64
65
  - [Quick Start](#quick-start)
@@ -351,8 +352,8 @@ deepdoc generate --exclude "tests/**"
351
352
 
352
353
  **What happens under the hood (5-phase pipeline):**
353
354
 
354
- 1. **Phase 1: Scan** — Walk the repo, parse supported languages, detect endpoints, config/setup artifacts, runtime surfaces, integration signals, and OpenAPI specs.
355
- 2. **Phase 2: Plan** — Run the multi-step bucket planner. It classifies the repo, proposes bucket candidates, and assigns files/symbols/artifacts to the final doc structure.
355
+ 1. **Phase 1: Scan** — Walk the repo, parse supported languages, detect endpoints, config/setup artifacts, runtime surfaces, integration signals, and OpenAPI specs. Prints a scan summary table and, if any known-but-unsupported-language files (e.g. `.java`, `.rs`, `.cs`) are present, a warning naming them and how many were found.
356
+ 2. **Phase 2: Plan** — Run the multi-step bucket planner. It classifies the repo, proposes bucket candidates, and assigns files/symbols/artifacts to the final doc structure. Prints a coverage panel — source files scanned vs. documented vs. orphaned/skipped, and a coverage % — so a partially-invisible repo is surfaced instead of silently shipped.
356
357
  3. **Phase 3: Generate** — Generate bucket pages in batches with parallel workers. High-level buckets are AI-planned; scanned endpoints enrich grouped API-reference pages instead of creating one page per route. Each page passes through Python-side Markdown repair, grounding validation, and bounded quality retries before being written to disk.
357
358
  4. **Phase 4: API Ref** — Stage OpenAPI specs and render them on a single interactive Swagger UI page when a spec exists.
358
359
  5. **Phase 5: Build** — Write the Next.js + Fumadocs site scaffold (`site/`), nav config, and brand stylesheet from the generated plan.
@@ -740,8 +741,9 @@ site:
740
741
  | `max_parallel_workers` | `6` | Generation executor size; actual hosted request concurrency is also bounded by `llm.rate_limits.max_concurrency` |
741
742
  | `batch_size` | `10` | Submission-throttle cadence retained for compatibility; generation uses one rolling executor, not batch barriers |
742
743
  | `scan.max_workers` | `8` | Bounded local workers for source reads, parsing, and per-file endpoint detection (`1` forces serial scanning) |
744
+ | `scan.max_source_bytes` | `1000000` | Source files above this size are skipped (not read/parsed/clustered) and counted in the coverage skip report |
743
745
  | **File filters** | | |
744
- | `languages` | `[python, javascript, typescript, go, php, vue]` | Languages to parse |
746
+ | `languages` | `[python, javascript, typescript, go, php, vue]` | Descriptive only — fills a sentence in generation prompts. Does not gate or broaden scanning; the scanner's supported languages are fixed |
745
747
  | `include` | `[]` | Glob patterns to include (empty = everything) |
746
748
  | `exclude` | *(see config)* | Glob patterns to exclude (node_modules, .git, dist, etc.) |
747
749
  | **GitHub Pages** | | |
@@ -1,8 +1,15 @@
1
- # DeepDoc
1
+ <div align="center">
2
+ <img src="./web/public/favicon.svg" alt="DeepDoc Logo" width="120" height="120" />
3
+ <h1>DeepDoc</h1>
4
+ <p><b>Auto-generate deep engineering documentation from real codebases using AI.</b></p>
5
+ <p>DeepDoc scans your repo, builds a bucket-based documentation plan, generates rich Markdown pages with Mermaid diagrams, and builds a local-first Next.js + Fumadocs site with built-in search.</p>
2
6
 
3
- [![PyPI version](https://img.shields.io/pypi/v/deepdoc)](https://pypi.org/project/deepdoc/)
4
- [![Python versions](https://img.shields.io/pypi/pyversions/deepdoc)](https://pypi.org/project/deepdoc/)
5
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
7
+ [![PyPI version](https://img.shields.io/pypi/v/deepdoc)](https://pypi.org/project/deepdoc/)
8
+ [![Python versions](https://img.shields.io/pypi/pyversions/deepdoc)](https://pypi.org/project/deepdoc/)
9
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
10
+ </div>
11
+
12
+ <br/>
6
13
 
7
14
  ## Repository Layout
8
15
 
@@ -14,12 +21,6 @@
14
21
  | [`tests/`](./tests/) | pytest test suite for the Python package. | Run `python3 -m pytest -q` from repo root. |
15
22
  | [`scripts/`](./scripts/) | One-off release and maintenance scripts. | — |
16
23
 
17
- ---
18
-
19
- Auto-generate deep engineering documentation from real codebases using AI.
20
-
21
- DeepDoc scans your repo, builds a bucket-based documentation plan, generates rich Markdown pages with Mermaid diagrams, and builds a local-first Next.js + Fumadocs site with built-in search.
22
-
23
24
  ## Contents
24
25
 
25
26
  - [Quick Start](#quick-start)
@@ -312,8 +313,8 @@ deepdoc generate --exclude "tests/**"
312
313
 
313
314
  **What happens under the hood (5-phase pipeline):**
314
315
 
315
- 1. **Phase 1: Scan** — Walk the repo, parse supported languages, detect endpoints, config/setup artifacts, runtime surfaces, integration signals, and OpenAPI specs.
316
- 2. **Phase 2: Plan** — Run the multi-step bucket planner. It classifies the repo, proposes bucket candidates, and assigns files/symbols/artifacts to the final doc structure.
316
+ 1. **Phase 1: Scan** — Walk the repo, parse supported languages, detect endpoints, config/setup artifacts, runtime surfaces, integration signals, and OpenAPI specs. Prints a scan summary table and, if any known-but-unsupported-language files (e.g. `.java`, `.rs`, `.cs`) are present, a warning naming them and how many were found.
317
+ 2. **Phase 2: Plan** — Run the multi-step bucket planner. It classifies the repo, proposes bucket candidates, and assigns files/symbols/artifacts to the final doc structure. Prints a coverage panel — source files scanned vs. documented vs. orphaned/skipped, and a coverage % — so a partially-invisible repo is surfaced instead of silently shipped.
317
318
  3. **Phase 3: Generate** — Generate bucket pages in batches with parallel workers. High-level buckets are AI-planned; scanned endpoints enrich grouped API-reference pages instead of creating one page per route. Each page passes through Python-side Markdown repair, grounding validation, and bounded quality retries before being written to disk.
318
319
  4. **Phase 4: API Ref** — Stage OpenAPI specs and render them on a single interactive Swagger UI page when a spec exists.
319
320
  5. **Phase 5: Build** — Write the Next.js + Fumadocs site scaffold (`site/`), nav config, and brand stylesheet from the generated plan.
@@ -701,8 +702,9 @@ site:
701
702
  | `max_parallel_workers` | `6` | Generation executor size; actual hosted request concurrency is also bounded by `llm.rate_limits.max_concurrency` |
702
703
  | `batch_size` | `10` | Submission-throttle cadence retained for compatibility; generation uses one rolling executor, not batch barriers |
703
704
  | `scan.max_workers` | `8` | Bounded local workers for source reads, parsing, and per-file endpoint detection (`1` forces serial scanning) |
705
+ | `scan.max_source_bytes` | `1000000` | Source files above this size are skipped (not read/parsed/clustered) and counted in the coverage skip report |
704
706
  | **File filters** | | |
705
- | `languages` | `[python, javascript, typescript, go, php, vue]` | Languages to parse |
707
+ | `languages` | `[python, javascript, typescript, go, php, vue]` | Descriptive only — fills a sentence in generation prompts. Does not gate or broaden scanning; the scanner's supported languages are fixed |
706
708
  | `include` | `[]` | Glob patterns to include (empty = everything) |
707
709
  | `exclude` | *(see config)* | Glob patterns to exclude (node_modules, .git, dist, etc.) |
708
710
  | **GitHub Pages** | | |
@@ -1,3 +1,3 @@
1
1
  """DeepDoc — Auto-generate beautiful docs from any codebase."""
2
2
 
3
- __version__ = "0.5.1"
3
+ __version__ = "0.5.4"