Skip to content

Feature/ruff#186

Merged
Zeecka merged 6 commits intomainfrom
feature/ruff
Feb 20, 2026
Merged

Feature/ruff#186
Zeecka merged 6 commits intomainfrom
feature/ruff

Conversation

@Zeecka
Copy link
Owner

@Zeecka Zeecka commented Feb 20, 2026

This pull request introduces a major refactor of Python dependency management and linting tools across the project, replacing legacy tools (Black, Isort, Flake8, Pylint, Mypy) with modern alternatives (uv, ruff and ty). It updates the CI workflow, Dockerfile, documentation, and analyzer base code to streamline development, improve performance, and simplify setup. Additionally, it modernizes type annotations and code style, removes legacy comments, and improves thread/process safety in analyzer implementations.

Dependency and Tooling Modernization

  • Switched dependency management from pip and requirements files to uv and pyproject.toml, updating CI (.github/workflows/lint.yml) and Dockerfile to use uv for installing and syncing dependencies.
  • Replaced legacy linters (Black, Isort, Flake8, Pylint, Mypy) with ruff (for linting and formatting) and ty (for type checking) in CI, Dockerfile, and documentation (README.md, CONTRIBUTING.md).

Documentation Updates

  • Updated CONTRIBUTING.md to reflect new dependency and linting workflow, including instructions for uv, ruff, and ty, and revised pre-commit hook examples.
  • Clarified how to add new dependencies (now via pyproject.toml), improved various contribution guidelines, and added tips for switching between dev/prod compose files.

Codebase Refactoring

  • Modernized type annotations throughout aperisolve/analyzers/base_analyzer.py, replacing Optional with | None, and improved method signatures for clarity and safety.
  • Refactored subprocess handling in SubprocessAnalyzer to use asyncio for improved performance and reliability, and enhanced thread/process safety in result updates.

Cleanup and Consistency

  • Removed legacy linter disable comments and standardized module docstrings in analyzer modules.

Miscellaneous Improvements

  • Added badges for uv, ruff, and Pyright in README.md to reflect new tooling.

@Zeecka
Copy link
Owner Author

Zeecka commented Feb 20, 2026

Fix #172

@Zeecka Zeecka merged commit 730ed50 into main Feb 20, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant