Python engineering environment
Tools I have found useful in the past when working on Python projects include:
- Package management:
- Linting and testing virtual environment management:
- tox.
- Requirements files generation and venv creation:
- uv.
- Linting and formatting:
- ruff.
- Type checking:
- Testing:
- Docs generation:
- Benchmarking:
- Profiling:
- IDEs and corresponding plugins:
- Data validation:
- Data analysis:
- Data visualisation:
- CLI tools:
An example toy Python project that uses a subset of the tools listed above is: TODO.