code2llm 0.5.21__tar.gz → 0.5.23__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 (89) hide show
  1. {code2llm-0.5.21 → code2llm-0.5.23}/PKG-INFO +1 -1
  2. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/__init__.py +1 -1
  3. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/cli.py +2 -0
  4. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/analyzer.py +45 -0
  5. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/large_repo.py +4 -0
  6. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/nlp/__init__.py +1 -1
  7. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm.egg-info/PKG-INFO +1 -1
  8. {code2llm-0.5.21 → code2llm-0.5.23}/pyproject.toml +1 -1
  9. {code2llm-0.5.21 → code2llm-0.5.23}/LICENSE +0 -0
  10. {code2llm-0.5.21 → code2llm-0.5.23}/README.md +0 -0
  11. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/__main__.py +0 -0
  12. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/analysis/__init__.py +0 -0
  13. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/analysis/call_graph.py +0 -0
  14. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/analysis/cfg.py +0 -0
  15. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/analysis/coupling.py +0 -0
  16. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/analysis/data_analysis.py +0 -0
  17. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/analysis/dfg.py +0 -0
  18. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/analysis/pipeline_detector.py +0 -0
  19. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/analysis/side_effects.py +0 -0
  20. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/analysis/smells.py +0 -0
  21. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/analysis/type_inference.py +0 -0
  22. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/cli_exports.py +0 -0
  23. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/__init__.py +0 -0
  24. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/config.py +0 -0
  25. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/core/__init__.py +0 -0
  26. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/core/file_analyzer.py +0 -0
  27. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/core/file_cache.py +0 -0
  28. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/core/file_filter.py +0 -0
  29. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/core/refactoring.py +0 -0
  30. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/models.py +0 -0
  31. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/streaming/__init__.py +0 -0
  32. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/streaming/cache.py +0 -0
  33. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/streaming/incremental.py +0 -0
  34. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/streaming/prioritizer.py +0 -0
  35. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/streaming/scanner.py +0 -0
  36. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/streaming/strategies.py +0 -0
  37. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/streaming_analyzer.py +0 -0
  38. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/core/toon_size_manager.py +0 -0
  39. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/__init__.py +0 -0
  40. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/base.py +0 -0
  41. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/context_exporter.py +0 -0
  42. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/evolution_exporter.py +0 -0
  43. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/flow_constants.py +0 -0
  44. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/flow_exporter.py +0 -0
  45. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/flow_renderer.py +0 -0
  46. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/json_exporter.py +0 -0
  47. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/llm_exporter.py +0 -0
  48. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/map_exporter.py +0 -0
  49. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/mermaid_exporter.py +0 -0
  50. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/readme_exporter.py +0 -0
  51. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/toon/__init__.py +0 -0
  52. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/toon/helpers.py +0 -0
  53. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/toon/metrics.py +0 -0
  54. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/toon/module_detail.py +0 -0
  55. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/toon/renderer.py +0 -0
  56. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/toon.py +0 -0
  57. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/exporters/yaml_exporter.py +0 -0
  58. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/generators/__init__.py +0 -0
  59. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/generators/llm_flow.py +0 -0
  60. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/generators/llm_task.py +0 -0
  61. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/generators/mermaid.py +0 -0
  62. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/nlp/config.py +0 -0
  63. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/nlp/entity_resolution.py +0 -0
  64. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/nlp/intent_matching.py +0 -0
  65. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/nlp/normalization.py +0 -0
  66. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/nlp/pipeline.py +0 -0
  67. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/patterns/__init__.py +0 -0
  68. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/patterns/detector.py +0 -0
  69. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/refactor/__init__.py +0 -0
  70. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm/refactor/prompt_engine.py +0 -0
  71. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm.egg-info/SOURCES.txt +0 -0
  72. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm.egg-info/dependency_links.txt +0 -0
  73. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm.egg-info/entry_points.txt +0 -0
  74. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm.egg-info/requires.txt +0 -0
  75. {code2llm-0.5.21 → code2llm-0.5.23}/code2llm.egg-info/top_level.txt +0 -0
  76. {code2llm-0.5.21 → code2llm-0.5.23}/setup.cfg +0 -0
  77. {code2llm-0.5.21 → code2llm-0.5.23}/setup.py +0 -0
  78. {code2llm-0.5.21 → code2llm-0.5.23}/tests/test_advanced_analysis.py +0 -0
  79. {code2llm-0.5.21 → code2llm-0.5.23}/tests/test_analyzer.py +0 -0
  80. {code2llm-0.5.21 → code2llm-0.5.23}/tests/test_deep_analysis.py +0 -0
  81. {code2llm-0.5.21 → code2llm-0.5.23}/tests/test_edge_cases.py +0 -0
  82. {code2llm-0.5.21 → code2llm-0.5.23}/tests/test_flow_exporter.py +0 -0
  83. {code2llm-0.5.21 → code2llm-0.5.23}/tests/test_format_quality.py +0 -0
  84. {code2llm-0.5.21 → code2llm-0.5.23}/tests/test_nlp_pipeline.py +0 -0
  85. {code2llm-0.5.21 → code2llm-0.5.23}/tests/test_pipeline_detector.py +0 -0
  86. {code2llm-0.5.21 → code2llm-0.5.23}/tests/test_prompt_engine.py +0 -0
  87. {code2llm-0.5.21 → code2llm-0.5.23}/tests/test_prompt_txt.py +0 -0
  88. {code2llm-0.5.21 → code2llm-0.5.23}/tests/test_refactoring_engine.py +0 -0
  89. {code2llm-0.5.21 → code2llm-0.5.23}/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.21
3
+ Version: 0.5.23
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
@@ -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.21"
11
+ __version__ = "0.5.23"
12
12
  __author__ = "STTS Project"
13
13
 
14
14
  # Core analysis components
@@ -317,6 +317,8 @@ def _run_analysis(args, source_path: Path, output_dir: Path):
317
317
  if use_chunking:
318
318
  if args.verbose:
319
319
  print(f"Large repository detected - using chunked analysis")
320
+ # Set chunk flag so export knows to use chunked mode
321
+ args.chunk = True
320
322
  return _run_chunked_analysis(args, source_path, output_dir)
321
323
 
322
324
  # Standard single-analysis flow
@@ -239,6 +239,51 @@ class ProjectAnalyzer:
239
239
  if self.config.verbose:
240
240
  print(f" - Call graph complete: {len(result.entry_points)} entry points found", flush=True)
241
241
 
242
+ def analyze_files(self, files: List[Tuple[str, str]], project_path: str) -> AnalysisResult:
243
+ """Analyze specific list of files (for chunked analysis).
244
+
245
+ Args:
246
+ files: List of (file_path, module_name) tuples
247
+ project_path: Base project path for the result
248
+ """
249
+ start_time = time.time()
250
+
251
+ if self.config.verbose:
252
+ print(f"Analyzing {len(files)} specific files")
253
+
254
+ # Analyze files
255
+ if self.config.performance.parallel_enabled and len(files) > 1:
256
+ results = self._analyze_parallel(files)
257
+ else:
258
+ results = self._analyze_sequential(files)
259
+
260
+ # Merge results
261
+ merged = self._merge_results(results, project_path)
262
+
263
+ # Build call graph
264
+ self._build_call_graph(merged)
265
+
266
+ if not self.config.performance.skip_pattern_detection:
267
+ self._detect_patterns(merged)
268
+
269
+ # Refactoring analysis
270
+ self.refactoring_analyzer.perform_refactoring_analysis(merged)
271
+
272
+ # Calculate stats
273
+ elapsed = time.time() - start_time
274
+ merged.stats = {
275
+ 'files_processed': len(files),
276
+ 'functions_found': len(merged.functions),
277
+ 'classes_found': len(merged.classes),
278
+ 'nodes_created': len(merged.nodes),
279
+ 'edges_created': len(merged.edges),
280
+ 'patterns_detected': len(merged.patterns),
281
+ 'analysis_time_seconds': round(elapsed, 2),
282
+ 'cache_hits': sum(r.get('cache_hits', 0) for r in results),
283
+ }
284
+
285
+ return merged
286
+
242
287
  def _detect_patterns(self, result: AnalysisResult) -> None:
243
288
  """Detect behavioral patterns."""
244
289
  # Detect recursion
@@ -222,6 +222,10 @@ class HierarchicalRepoSplitter:
222
222
  'lib', 'lib64', 'site-packages', 'include', 'bin', 'share', # venv internals
223
223
  }
224
224
 
225
+ # Skip wheel packages (e.g., networkx-3.6.1-py3-none-any)
226
+ if '-py3-none-any' in dir_name or dir_name.endswith('.dist-info'):
227
+ continue
228
+
225
229
  if dir_name.startswith('.') or dir_name in skip_dirs:
226
230
  continue
227
231
 
@@ -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.21"
7
+ __version__ = "0.5.23"
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.21
3
+ Version: 0.5.23
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "code2llm"
7
- version = "0.5.21"
7
+ version = "0.5.23"
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"
File without changes
File without changes
File without changes
File without changes