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

  • Black and Ruff for source code formatting

  • 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.