code2llm 0.5.127__tar.gz → 0.5.129__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 (193) hide show
  1. {code2llm-0.5.127/code2llm.egg-info → code2llm-0.5.129}/PKG-INFO +2 -2
  2. {code2llm-0.5.127 → code2llm-0.5.129}/README.md +1 -1
  3. code2llm-0.5.129/VERSION +1 -0
  4. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/__init__.py +1 -1
  5. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/cli_commands.py +1 -1
  6. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/cli_exports/orchestrator.py +1 -3
  7. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/analyzer.py +5 -0
  8. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/file_filter.py +6 -0
  9. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/gitignore.py +11 -0
  10. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/flow_constants.py +4 -0
  11. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/nlp/__init__.py +1 -1
  12. {code2llm-0.5.127 → code2llm-0.5.129/code2llm.egg-info}/PKG-INFO +2 -2
  13. {code2llm-0.5.127 → code2llm-0.5.129}/pyproject.toml +1 -1
  14. code2llm-0.5.127/VERSION +0 -1
  15. {code2llm-0.5.127 → code2llm-0.5.129}/LICENSE +0 -0
  16. {code2llm-0.5.127 → code2llm-0.5.129}/MANIFEST.in +0 -0
  17. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/__main__.py +0 -0
  18. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/analysis/__init__.py +0 -0
  19. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/analysis/call_graph.py +0 -0
  20. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/analysis/cfg.py +0 -0
  21. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/analysis/coupling.py +0 -0
  22. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/analysis/data_analysis.py +0 -0
  23. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/analysis/dfg.py +0 -0
  24. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/analysis/pipeline_classifier.py +0 -0
  25. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/analysis/pipeline_detector.py +0 -0
  26. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/analysis/pipeline_resolver.py +0 -0
  27. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/analysis/side_effects.py +0 -0
  28. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/analysis/smells.py +0 -0
  29. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/analysis/type_inference.py +0 -0
  30. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/analysis/utils/__init__.py +0 -0
  31. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/analysis/utils/ast_helpers.py +0 -0
  32. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/api.py +0 -0
  33. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/cli.py +0 -0
  34. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/cli_analysis.py +0 -0
  35. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/cli_exports/__init__.py +0 -0
  36. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/cli_exports/code2logic.py +0 -0
  37. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/cli_exports/formats.py +0 -0
  38. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/cli_exports/orchestrator_chunked.py +0 -0
  39. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/cli_exports/orchestrator_constants.py +0 -0
  40. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/cli_exports/orchestrator_handlers.py +0 -0
  41. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/cli_exports/prompt.py +0 -0
  42. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/cli_parser.py +0 -0
  43. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/__init__.py +0 -0
  44. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/ast_registry.py +0 -0
  45. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/config.py +0 -0
  46. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/export_pipeline.py +0 -0
  47. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/file_analyzer.py +0 -0
  48. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/file_cache.py +0 -0
  49. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/incremental.py +0 -0
  50. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/lang/__init__.py +0 -0
  51. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/lang/base.py +0 -0
  52. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/lang/cpp.py +0 -0
  53. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/lang/csharp.py +0 -0
  54. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/lang/generic.py +0 -0
  55. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/lang/go_lang.py +0 -0
  56. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/lang/java.py +0 -0
  57. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/lang/php.py +0 -0
  58. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/lang/ruby.py +0 -0
  59. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/lang/rust.py +0 -0
  60. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/lang/ts_extractors.py +0 -0
  61. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/lang/ts_parser.py +0 -0
  62. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/lang/typescript.py +0 -0
  63. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/large_repo.py +0 -0
  64. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/models.py +0 -0
  65. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/persistent_cache.py +0 -0
  66. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/refactoring.py +0 -0
  67. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/repo_files.py +0 -0
  68. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/streaming/__init__.py +0 -0
  69. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/streaming/cache.py +0 -0
  70. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/streaming/incremental.py +0 -0
  71. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/streaming/prioritizer.py +0 -0
  72. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/streaming/scanner.py +0 -0
  73. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/streaming/strategies.py +0 -0
  74. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/streaming_analyzer.py +0 -0
  75. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/core/toon_size_manager.py +0 -0
  76. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/__init__.py +0 -0
  77. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/article_view.py +0 -0
  78. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/base.py +0 -0
  79. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/context_exporter.py +0 -0
  80. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/context_view.py +0 -0
  81. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/dashboard_data.py +0 -0
  82. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/dashboard_renderer.py +0 -0
  83. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/evolution/__init__.py +0 -0
  84. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/evolution/computation.py +0 -0
  85. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/evolution/constants.py +0 -0
  86. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/evolution/exclusion.py +0 -0
  87. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/evolution/render.py +0 -0
  88. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/evolution/yaml_export.py +0 -0
  89. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/evolution_exporter.py +0 -0
  90. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/flow_exporter.py +0 -0
  91. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/flow_renderer.py +0 -0
  92. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/html_dashboard.py +0 -0
  93. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/index_generator/__init__.py +0 -0
  94. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/index_generator/renderer.py +0 -0
  95. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/index_generator/scanner.py +0 -0
  96. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/index_generator.py +0 -0
  97. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/json_exporter.py +0 -0
  98. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/llm_exporter.py +0 -0
  99. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/map/__init__.py +0 -0
  100. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/map/alerts.py +0 -0
  101. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/map/details.py +0 -0
  102. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/map/header.py +0 -0
  103. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/map/module_list.py +0 -0
  104. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/map/utils.py +0 -0
  105. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/map/yaml_export.py +0 -0
  106. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/map_exporter.py +0 -0
  107. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/mermaid/__init__.py +0 -0
  108. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/mermaid/calls.py +0 -0
  109. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/mermaid/classic.py +0 -0
  110. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/mermaid/compact.py +0 -0
  111. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/mermaid/flow_compact.py +0 -0
  112. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/mermaid/flow_detailed.py +0 -0
  113. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/mermaid/flow_full.py +0 -0
  114. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/mermaid/utils.py +0 -0
  115. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/mermaid_exporter.py +0 -0
  116. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/mermaid_flow_helpers.py +0 -0
  117. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/project_yaml/__init__.py +0 -0
  118. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/project_yaml/constants.py +0 -0
  119. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/project_yaml/core.py +0 -0
  120. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/project_yaml/evolution.py +0 -0
  121. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/project_yaml/health.py +0 -0
  122. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/project_yaml/hotspots.py +0 -0
  123. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/project_yaml/modules.py +0 -0
  124. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/project_yaml_exporter.py +0 -0
  125. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/readme/__init__.py +0 -0
  126. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/readme/content.py +0 -0
  127. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/readme/files.py +0 -0
  128. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/readme/insights.py +0 -0
  129. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/readme/sections.py +0 -0
  130. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/readme_exporter.py +0 -0
  131. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/report_generators.py +0 -0
  132. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/toon/__init__.py +0 -0
  133. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/toon/helpers.py +0 -0
  134. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/toon/metrics.py +0 -0
  135. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/toon/metrics_core.py +0 -0
  136. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/toon/metrics_duplicates.py +0 -0
  137. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/toon/metrics_health.py +0 -0
  138. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/toon/module_detail.py +0 -0
  139. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/toon/renderer.py +0 -0
  140. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/toon.py +0 -0
  141. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/toon_view.py +0 -0
  142. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/validate_project.py +0 -0
  143. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/exporters/yaml_exporter.py +0 -0
  144. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/__init__.py +0 -0
  145. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/_utils.py +0 -0
  146. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/llm_flow/__init__.py +0 -0
  147. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/llm_flow/analysis.py +0 -0
  148. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/llm_flow/cli.py +0 -0
  149. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/llm_flow/generator.py +0 -0
  150. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/llm_flow/nodes.py +0 -0
  151. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/llm_flow/parsing.py +0 -0
  152. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/llm_flow/utils.py +0 -0
  153. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/llm_flow.py +0 -0
  154. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/llm_task.py +0 -0
  155. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/mermaid/__init__.py +0 -0
  156. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/mermaid/fix.py +0 -0
  157. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/mermaid/png.py +0 -0
  158. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/mermaid/validation.py +0 -0
  159. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/generators/mermaid.py +0 -0
  160. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/nlp/config.py +0 -0
  161. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/nlp/entity_resolution.py +0 -0
  162. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/nlp/intent_matching.py +0 -0
  163. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/nlp/normalization.py +0 -0
  164. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/nlp/pipeline.py +0 -0
  165. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/parsers/toon_parser.py +0 -0
  166. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/patterns/__init__.py +0 -0
  167. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/patterns/detector.py +0 -0
  168. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/refactor/__init__.py +0 -0
  169. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm/refactor/prompt_engine.py +0 -0
  170. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm.egg-info/SOURCES.txt +0 -0
  171. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm.egg-info/dependency_links.txt +0 -0
  172. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm.egg-info/entry_points.txt +0 -0
  173. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm.egg-info/requires.txt +0 -0
  174. {code2llm-0.5.127 → code2llm-0.5.129}/code2llm.egg-info/top_level.txt +0 -0
  175. {code2llm-0.5.127 → code2llm-0.5.129}/setup.cfg +0 -0
  176. {code2llm-0.5.127 → code2llm-0.5.129}/setup.py +0 -0
  177. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_advanced_analysis.py +0 -0
  178. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_analyzer.py +0 -0
  179. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_calls_toon_export.py +0 -0
  180. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_deep_analysis.py +0 -0
  181. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_edge_cases.py +0 -0
  182. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_flow_exporter.py +0 -0
  183. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_format_quality.py +0 -0
  184. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_multilanguage_e2e.py +0 -0
  185. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_nlp_pipeline.py +0 -0
  186. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_nonpython_cc_calls.py +0 -0
  187. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_persistent_cache.py +0 -0
  188. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_pipeline_detector.py +0 -0
  189. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_project_toon_export.py +0 -0
  190. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_prompt_engine.py +0 -0
  191. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_prompt_txt.py +0 -0
  192. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_refactoring_engine.py +0 -0
  193. {code2llm-0.5.127 → code2llm-0.5.129}/tests/test_toon_v2.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code2llm
3
- Version: 0.5.127
3
+ Version: 0.5.129
4
4
  Summary: High-performance Python code flow analysis with optimized TOON format - CFG, DFG, call graphs, and intelligent code queries
5
5
  Home-page: https://github.com/wronai/stts
6
6
  Author: STTS Project
@@ -67,7 +67,7 @@ Dynamic: requires-python
67
67
 
68
68
  ## AI Cost Tracking
69
69
 
70
- ![PyPI](https://img.shields.io/badge/pypi-costs-blue) ![Version](https://img.shields.io/badge/version-0.5.127-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
70
+ ![PyPI](https://img.shields.io/badge/pypi-costs-blue) ![Version](https://img.shields.io/badge/version-0.5.129-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
71
71
  ![AI Cost](https://img.shields.io/badge/AI%20Cost-$7.50-orange) ![Human Time](https://img.shields.io/badge/Human%20Time-57.3h-blue) ![Model](https://img.shields.io/badge/Model-openrouter%2Fqwen%2Fqwen3--coder--next-lightgrey)
72
72
 
73
73
  - 🤖 **LLM usage:** $7.5000 (166 commits)
@@ -3,7 +3,7 @@
3
3
 
4
4
  ## AI Cost Tracking
5
5
 
6
- ![PyPI](https://img.shields.io/badge/pypi-costs-blue) ![Version](https://img.shields.io/badge/version-0.5.127-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
6
+ ![PyPI](https://img.shields.io/badge/pypi-costs-blue) ![Version](https://img.shields.io/badge/version-0.5.129-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
7
7
  ![AI Cost](https://img.shields.io/badge/AI%20Cost-$7.50-orange) ![Human Time](https://img.shields.io/badge/Human%20Time-57.3h-blue) ![Model](https://img.shields.io/badge/Model-openrouter%2Fqwen%2Fqwen3--coder--next-lightgrey)
8
8
 
9
9
  - 🤖 **LLM usage:** $7.5000 (166 commits)
@@ -0,0 +1 @@
1
+ 0.5.129
@@ -8,7 +8,7 @@ Includes NLP Processing Pipeline for query normalization, intent matching,
8
8
  and entity resolution with multilingual support.
9
9
  """
10
10
 
11
- __version__ = "0.5.127"
11
+ __version__ = "0.5.129"
12
12
  __author__ = "STTS Project"
13
13
 
14
14
  # Core analysis components (lightweight, always needed)
@@ -156,7 +156,7 @@ def validate_and_setup(args) -> tuple[Path, Path]:
156
156
  print(" or: code2llm llm-flow [options]", file=sys.stderr)
157
157
  sys.exit(2)
158
158
 
159
- source_path = Path(args.source)
159
+ source_path = Path(args.source).resolve()
160
160
  if not source_path.exists():
161
161
  print(f"Error: Source path not found: {source_path}", file=sys.stderr)
162
162
  sys.exit(1)
@@ -189,9 +189,7 @@ def _expand_all_formats(requested: List[str], include_png: bool = False) -> List
189
189
  """Expand 'all' to concrete format list."""
190
190
  if 'all' not in requested:
191
191
  return requested[:]
192
- formats = ['toon', 'map', 'context', 'evolution']
193
- if include_png:
194
- formats.append('mermaid')
192
+ formats = ['toon', 'map', 'context', 'evolution', 'mermaid']
195
193
  return formats
196
194
 
197
195
 
@@ -43,7 +43,12 @@ class ProjectAnalyzer:
43
43
  def analyze_project(self, project_path: str) -> AnalysisResult:
44
44
  """Analyze entire project."""
45
45
  start_time = time.time()
46
+ print(f"DEBUG analyze_project: input project_path={project_path}")
47
+ print(f"DEBUG analyze_project: self.project_path before={self.project_path}")
46
48
  project_path = self._resolve_project_path(project_path)
49
+ print(f"DEBUG analyze_project: project_path after resolve={project_path}")
50
+ print(f"DEBUG analyze_project: self.project_path after={self.project_path}")
51
+ print(f"DEBUG analyze_project: file_filter.project_path={self.file_filter.project_path}")
47
52
  files = self._collect_files(project_path)
48
53
 
49
54
  if self.config.verbose:
@@ -19,6 +19,12 @@ _SKIP_DIR_NAMES = frozenset({
19
19
  'lib', 'lib64', 'site-packages', 'include', 'bin', 'share',
20
20
  '.code2llm_cache',
21
21
  'tests', 'test',
22
+ # Backup and auto-generated directories that often contain venvs
23
+ '.algitex', '.backup', 'backups', '.bak', 'bak',
24
+ # Additional venv patterns
25
+ 'virtualenv', '.virtualenv', 'envs', '.envs', 'venv-', '.venv-',
26
+ # CI/CD and deployment artifacts
27
+ '.terraform', '.serverless', '.netlify', '.vercel',
22
28
  })
23
29
 
24
30
 
@@ -110,11 +110,22 @@ class GitIgnoreParser:
110
110
  except ValueError:
111
111
  return False
112
112
 
113
+ # DEBUG
114
+ if 'vendor' in path_str:
115
+ print(f"DEBUG is_ignored: path_str={path_str}, entries={len(self._entries)}")
116
+
113
117
  ignored = False
114
118
  for entry in self._entries:
115
119
  if entry.regex.search(path_str):
120
+ # DEBUG
121
+ if 'vendor' in path_str:
122
+ print(f"DEBUG is_ignored: MATCHED pattern={entry.regex.pattern}, is_negated={entry.is_negated}")
116
123
  ignored = not entry.is_negated
117
124
 
125
+ # DEBUG
126
+ if 'vendor' in path_str:
127
+ print(f"DEBUG is_ignored: result={ignored}")
128
+
118
129
  return ignored
119
130
 
120
131
 
@@ -13,6 +13,10 @@ EXCLUDE_PATTERNS = {
13
13
  'venv', '.venv', 'env', '.env', 'publish-env', 'test-env',
14
14
  'site-packages', 'node_modules', '__pycache__', '.git',
15
15
  'dist', 'build', 'egg-info', '.tox', '.mypy_cache',
16
+ # Backup directories that often contain nested venvs
17
+ '.algitex', '.backup', 'backups', '.bak',
18
+ # Additional venv patterns
19
+ 'virtualenv', '.virtualenv', 'envs', '.envs',
16
20
  }
17
21
 
18
22
  def is_excluded_path(path: str) -> bool:
@@ -4,7 +4,7 @@ Provides query normalization, intent matching, and entity resolution
4
4
  with multilingual support and fuzzy matching.
5
5
  """
6
6
 
7
- __version__ = "0.5.127"
7
+ __version__ = "0.5.129"
8
8
 
9
9
  from .pipeline import NLPPipeline
10
10
  from .normalization import QueryNormalizer
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code2llm
3
- Version: 0.5.127
3
+ Version: 0.5.129
4
4
  Summary: High-performance Python code flow analysis with optimized TOON format - CFG, DFG, call graphs, and intelligent code queries
5
5
  Home-page: https://github.com/wronai/stts
6
6
  Author: STTS Project
@@ -67,7 +67,7 @@ Dynamic: requires-python
67
67
 
68
68
  ## AI Cost Tracking
69
69
 
70
- ![PyPI](https://img.shields.io/badge/pypi-costs-blue) ![Version](https://img.shields.io/badge/version-0.5.127-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
70
+ ![PyPI](https://img.shields.io/badge/pypi-costs-blue) ![Version](https://img.shields.io/badge/version-0.5.129-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
71
71
  ![AI Cost](https://img.shields.io/badge/AI%20Cost-$7.50-orange) ![Human Time](https://img.shields.io/badge/Human%20Time-57.3h-blue) ![Model](https://img.shields.io/badge/Model-openrouter%2Fqwen%2Fqwen3--coder--next-lightgrey)
72
72
 
73
73
  - 🤖 **LLM usage:** $7.5000 (166 commits)
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "code2llm"
7
- version = "0.5.127"
7
+ version = "0.5.129"
8
8
  description = "High-performance Python code flow analysis with optimized TOON format - CFG, DFG, call graphs, and intelligent code queries"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
code2llm-0.5.127/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.5.127
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes