How to: Code Analysis
_Tools of static analysis, linters and code quality checkers. Also see [awesome-static-analysis](https://github.com/mre/awesome-static-analysis)._

- Code Analysis
  - [code2flow](https://github.com/scottrogowski/code2flow) - Turn your Python and JavaScript code into DOT flowcharts.
  - [prospector](https://github.com/PyCQA/prospector) - A tool to analyze Python code.
  - [vulture](https://github.com/jendrikseipp/vulture) - A tool for finding and analyzing dead Python code.
- Code Linters
  - [flake8](https://github.com/PyCQA/flake8) - A wrapper around `pycodestyle`, `pyflakes` and McCabe.
    - [awesome-flake8-extensions](https://github.com/DmytroLitvinov/awesome-flake8-extensions)
  - [pylint](https://github.com/pylint-dev/pylint) - A fully customizable source code analyzer.
  - [ruff](https://github.com/astral-sh/ruff) - An extremely fast Python linter and code formatter.
- Code Formatters
  - [black](https://github.com/psf/black) - The uncompromising Python code formatter.
  - [isort](https://github.com/timothycrosley/isort) - A Python utility / library to sort imports.
  - [yapf](https://github.com/google/yapf) - Yet another Python code formatter from Google.
- Static Type Checkers, also see [awesome-python-typing](https://github.com/typeddjango/awesome-python-typing)
  - [mypy](https://github.com/python/mypy) - Check variable types during compile time.
  - [pyre-check](https://github.com/facebook/pyre-check) - Performant type checking.
  - [ty](https://github.com/astral-sh/ty) - An extremely fast Python type checker and language server.
  - [typeshed](https://github.com/python/typeshed) - Collection of library stubs for Python, with static types.
- Static Type Annotations Generators
  - [monkeytype](https://github.com/Instagram/MonkeyType) - A system for Python that generates static type annotations by collecting runtime types.
  - [pytype](https://github.com/google/pytype) - Pytype checks and infers types for Python code - without requiring type annotations.