Features#
Uniform Project Layout#
The PTB expects a default project layout following “convention over configuration” wherever possible and reasonable. See the cookiecutter project template, which can be found in directory project-template, for more details. For more details on this, please check out section Getting Started section.
Nox#
The most central tool when interacting with the toolbox is nox, which is the task runner used across all of Exasol’s Python-based projects.
The toolbox itself provides various standard tasks and a plugin mechanism to extend these tasks as needed. For more information regarding nox, please visit the nox homepage.
Central files in regards to nox and the toolbox are:
noxfile.py: Standard nox configuration/setup filenoxconfig.py: Exasol-specific file containing additional information needed by the standard tasks of the toolbox
Important Nox Commands#
Use nox -l to show the current list of sessions for your project
Common examples are as follows:
nox -s format:fixapplies formatting changes.nox -s project:checkruns the main local quality gate.nox -s test:unitruns unit tests.nox -s workflow:generate -- allupdates PTB workflow files.
For more details, see the feature pages in this guide. They include formatting, GitHub workflows, dependency management, release preparation, and code-quality reporting.