Features#
Uniform Project Layout#
PTB expects a default project layout following “convention over configuration” when possible and reasonable. See the cookie-cutter project template for details, which is part of the python-toolbox workspace and can be found in directory project-template. You can also generate a project from the template to explore the default structure. 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 if 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 file
noxconfig.py: Exasol-specific file containing additional information needed by the standard tasks of the toolbox
Important Nox Commands#
nox -lshows a list of all available nox tasksnox -s <tasks>run the specified task(s)nox -s test:typingruns the type checker on the projectnox -s docs:clean docs:build docs:openfirst task removes the documentation folder
second one builds the documentation
last one opens the documentation in the web browser
noxwithout-sruns the default task which isnox -s project:fixthis command runs automated fixes on the code