Skip to content

Releases: codellm-devkit/codeanalyzer-python

v0.1.3

11 Jul 01:13
4a33258
Compare
Choose a tag to compare

๐Ÿ› Fixes

  • Rewrite readme to use URL instead of relative path to the logo

๐Ÿ“š Documentation

  • Rewrite readme to use URL instead of relative path to the logo

v0.1.2

11 Jul 01:01
601839c
Compare
Choose a tag to compare

๐Ÿ› Fixes

  • Update folder structure and hatch builds to fix issue #2

v0.1.1

11 Jul 00:24
Compare
Choose a tag to compare

๐Ÿš€ Features

  • automate releases and fix linux workflow

๐Ÿ› Fixes

  • automate releases and fix linux workflow

๐Ÿ“š Documentation

  • automate releases and fix linux workflow

v0.1.0

10 Jul 21:40
v0.1.0
0196794
Compare
Choose a tag to compare

๐ŸŽ‰ 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 parsing
  • ProgressBar: Smart progress indication that respects logging levels
  • PySchema: Rich data models for representing Python code structures
  • AnalyzerCore: 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.