User Guide¶
Exasol’s Python Toolbox (PTB) helps you creating and maintaining your Python projects.
PTB simplifies keeping all of your projects up-to-date, secure, without bugs, using uniform code style and formatting, correctly typed, decent quality wrt. static code analysis, nicely documented, and equipped with a unified CI/CD pipeline for building, testing, and publishing their artifacts.
The PTB gains its name from employing a series of well-established tools to satisfy these goals:
Poetry for packaging and managing dependencies
Nox for using the tools via a common CLI
Pylint / Ruff for linting
Cookiecutter for setting up new projects from a uniform template
Mypy for static type checking
Coverage for measuring code coverage by tests
Bandit for detecting security vulnerabilities
Sphinx for generating the documentation
Sonar for reporting code quality based on the findings by other tools
In rare cases you may need to disable a particular finding reported by one of these tools, see Troubleshooting.