Releases: codellm-devkit/codeanalyzer-python
Releases ยท codellm-devkit/codeanalyzer-python
v0.1.3
v0.1.2
v0.1.1
v0.1.0
๐ Codeanalyzer Python v0.1.0 Release
Python Static Analysis Backend for CodeLLM DevKit (CLDK)
Initial release of Codeanalyzer Python: A comprehensive static analysis tool designed specifically as the Python backend for the CodeLLM DevKit ecosystem. This tool provides deep code understanding capabilities through symbol table generation, with future support for call graph analysis and semantic analysis using industry-standard tools.
๐ Key Features
Symbol Table Generation
- Complete AST Analysis: Extracts classes, functions, variables, imports, and comments from Python source code
- Type Inference: Leverages Jedi for intelligent type inference and symbol resolution
- Rich Metadata: Captures cyclomatic complexity, parameter details, call sites, and code structure
- Comprehensive Coverage: Supports modules, classes, functions, variables, imports, and docstrings
Smart Project Processing
- Intelligent File Discovery: Automatically excludes virtual environments, site-packages, and cache directories
- Progress Tracking: Beautiful Rich-based progress bars with real-time feedback
- Error Resilience: Continues processing on individual file failures with detailed error reporting
- Caching Support: Efficient caching system with customizable cache directories
Modern CLI Interface
- Rich Terminal UI: Beautiful, colorful output with Rich integration
- Flexible Logging: Multiple verbosity levels (
-v
,-vv
,-vvv
) with structured logging - Multiple Output Formats: JSON output to stdout or file
- Comprehensive Options: Eager/lazy analysis, cache management, and output control
๐ ๏ธ Technical Highlights
Built with Modern Python
- Python 3.12+: Leverages latest Python features and type hints
- uv Package Manager: Fast, reliable dependency management
- Pydantic Models: Type-safe data structures with validation
- Rich Progress Bars: Non-blocking progress indication that preserves log output
Advanced Code Analysis
- Jedi Integration: Professional-grade code intelligence and type inference
- AST Processing: Deep abstract syntax tree analysis
- Builder Pattern: Fluent, type-safe object construction
- Comprehensive Schema: Detailed Python code representation models
Production Ready
- Error Handling: Graceful failure handling with detailed logging
- Memory Efficient: Processes large codebases without memory issues
- Configurable: Extensive customization options for different use cases
- Well Tested: Comprehensive test suite with CLI testing
๐ Usage Examples
Basic Symbol Table Generation:
uv run codeanalyzer --input ./my-python-project
Save Results to File:
uv run codeanalyzer --input ./project --output ./analysis-results
Verbose Analysis with Custom Cache:
uv run codeanalyzer --input ./project -vv --cache-dir ./custom-cache --eager
๐ง Installation
# Clone the repository
git clone https://github.com/codellm-devkit/codeanalyzer-python
cd codeanalyzer-python
# Install with uv
uv sync --all-groups
# Run analysis
uv run codeanalyzer --input /path/to/your/project
๐ฏ What's Included
Core Modules
SymbolTableBuilder
: Main analysis engine with comprehensive Python code parsingProgressBar
: Smart progress indication that respects logging levelsPySchema
: Rich data models for representing Python code structuresAnalyzerCore
: Central orchestration with caching and virtual environment support
Advanced Features
- Virtual Environment Detection: Automatic Python environment discovery and setup
- CodeQL Integration: Foundation for future semantic analysis (in development)
- Extensible Architecture: Modular design ready for additional analysis backends
๐ฎ Future Roadmap
Planned Features
- Call Graph Analysis (
--analysis-level 2
): Complete function call relationship mapping - CodeQL Semantic Analysis: Advanced code pattern detection and vulnerability analysis
- WALA Integration: Additional semantic analysis capabilities
- Performance Optimizations: Parallel processing and incremental analysis
๐๏ธ Architecture Improvements in v0.1.0
Logging System Overhaul
- Replaced Loguru with Rich Logging: Better terminal integration and formatting
- Centralized Logger: Consistent logging across all modules
- Progress-Aware Logging: Error messages don't interfere with progress bars
Progress Bar Enhancement
- Rich Integration: Beautiful, informative progress indication
- Logger-Aware: Automatically disables when logging level is high
- Error Collection: Batches error messages to display after progress completion
Dependency Management
- Switched from tqdm to Rich: Unified UI framework
- Cleaner Dependencies: Removed redundant packages
- Better Error Handling: More robust dependency resolution
๐งช Quality Assurance
Testing Infrastructure
- CLI Testing: Comprehensive command-line interface validation
- Symbol Table Testing: Verification of analysis accuracy
- Error Handling Tests: Robust failure mode testing
Code Quality
- Type Safety: Full type hints with mypy compatibility
- Modern Python: Leverages Python 3.12+ features
- Clean Architecture: Modular, testable design patterns
๐ Perfect for CodeLLM DevKit
This release establishes CodeAnalyzer Python as the foundational static analysis backend for the CodeLLM DevKit ecosystem, providing:
- Structured Code Representation: Rich JSON output perfect for LLM consumption
- Comprehensive Metadata: All the context needed for intelligent code understanding
- Extensible Design: Ready to integrate with additional CLDK tools and workflows
- Production Scalability: Handles enterprise-scale Python codebases efficiently
๐ Documentation & Support
- Comprehensive README: Detailed installation and usage instructions
- Rich CLI Help: Built-in help system with examples
- Type-Safe APIs: Full type hints for IDE integration
- Open Source: Apache 2.0 license with community contributions welcome
For issues, feature requests, or contributions, visit our GitHub repository.