A command-line tool for tracking and reporting on code complexity and timing metrics across git revisions in Python projects.
Wily is a command-line application for tracking and reporting on timing and complexity metrics in Python code. It analyzes code across git revisions to provide insights into trends, helping developers monitor code quality and identify areas for improvement. By integrating with git history, it offers a historical perspective on code complexity and maintainability.
Python developers and teams who want to monitor code quality trends, maintain consistent complexity levels, and integrate code analysis into their development workflows, especially those using git and CI/CD pipelines.
Developers choose Wily for its seamless integration with git, allowing historical tracking of code metrics without disrupting workflows. Its command-line interface and support for CI/CD and pre-commit hooks make it a practical tool for enforcing code quality standards over time.
A Python application for tracking, reporting on timing and complexity in Python code
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages git history to track metrics across commits, enabling trend analysis with commands like `report` and `graph` for visual insights into complexity changes over time.
Designed for integration into continuous integration workflows, allowing comparisons against previous revisions or specific git references, as shown in the CI/CD section for automated quality gates.
Automatically scans and analyzes Python code within .ipynb files, with configurable options to disable or customize cell-level reporting, making it versatile for data science projects.
Can be configured as a pre-commit hook to enforce code quality checks before commits, preventing complexity regressions by integrating seamlessly with development workflows.
Exclusively analyzes Python code, making it unsuitable for projects with mixed-language codebases or non-Python applications, as indicated by its focus on Python tests and applications.
Requires a git repository with a clean working copy to build the cache, and initial setup involves running `wily build` and potentially configuring a `wily.cfg` file, adding overhead for new users.
Provides raw complexity metrics without built-in guidance on actionable thresholds, requiring developers to interpret and set their own quality standards, which can lead to subjective analysis.