code2llm 0.5.22__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.
- {code2llm-0.5.22 → code2llm-0.5.23}/PKG-INFO +1 -1
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/__init__.py +1 -1
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/analyzer.py +45 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/nlp/__init__.py +1 -1
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm.egg-info/PKG-INFO +1 -1
- {code2llm-0.5.22 → code2llm-0.5.23}/pyproject.toml +1 -1
- {code2llm-0.5.22 → code2llm-0.5.23}/LICENSE +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/README.md +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/__main__.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/analysis/__init__.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/analysis/call_graph.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/analysis/cfg.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/analysis/coupling.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/analysis/data_analysis.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/analysis/dfg.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/analysis/pipeline_detector.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/analysis/side_effects.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/analysis/smells.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/analysis/type_inference.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/cli.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/cli_exports.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/__init__.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/config.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/core/__init__.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/core/file_analyzer.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/core/file_cache.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/core/file_filter.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/core/refactoring.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/large_repo.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/models.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/streaming/__init__.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/streaming/cache.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/streaming/incremental.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/streaming/prioritizer.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/streaming/scanner.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/streaming/strategies.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/streaming_analyzer.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/core/toon_size_manager.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/__init__.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/base.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/context_exporter.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/evolution_exporter.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/flow_constants.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/flow_exporter.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/flow_renderer.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/json_exporter.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/llm_exporter.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/map_exporter.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/mermaid_exporter.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/readme_exporter.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/toon/__init__.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/toon/helpers.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/toon/metrics.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/toon/module_detail.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/toon/renderer.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/toon.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/exporters/yaml_exporter.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/generators/__init__.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/generators/llm_flow.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/generators/llm_task.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/generators/mermaid.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/nlp/config.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/nlp/entity_resolution.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/nlp/intent_matching.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/nlp/normalization.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/nlp/pipeline.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/patterns/__init__.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/patterns/detector.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/refactor/__init__.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm/refactor/prompt_engine.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm.egg-info/SOURCES.txt +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm.egg-info/dependency_links.txt +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm.egg-info/entry_points.txt +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm.egg-info/requires.txt +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/code2llm.egg-info/top_level.txt +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/setup.cfg +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/setup.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/tests/test_advanced_analysis.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/tests/test_analyzer.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/tests/test_deep_analysis.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/tests/test_edge_cases.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/tests/test_flow_exporter.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/tests/test_format_quality.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/tests/test_nlp_pipeline.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/tests/test_pipeline_detector.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/tests/test_prompt_engine.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/tests/test_prompt_txt.py +0 -0
- {code2llm-0.5.22 → code2llm-0.5.23}/tests/test_refactoring_engine.py +0 -0
- {code2llm-0.5.22 → 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.
|
|
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
|
|
@@ -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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code2llm
|
|
3
|
-
Version: 0.5.
|
|
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.
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|