General Usage

In the following an overview of qube’s main commands is given. Please note that all commands are explained more in depth in their respective documentation point. You can use the menu on the left to navigate to them.


create is the heart of qube. It starts the project creation process and guides the user through domain selection, language selection and prompts for all required configuration parameters such as name, email and many more. Additionally, the project is linted after creation to ensure that everything went well. The user also has the option to push his just created project directly to Github. Invoke create by running

$ qube create

For more details about project creation please visit Create a project and for a detailed list of all available templates please visit Available templates.


list allows you to list all available templates. The list command prints the name, handle, short description, available libraries for the template and its version to the console. Note that the long description is emitted and the info command should be used to get a long description of the template. Invoke list by running

$ qube list

For more details please visit Getting information about available templates.


info provides detailed information about a specific template or set of templates. It prints the name, handle, long description, available libraries and version of the selected subset or specific template. Invoke info by running

$ qube info <HANDLE>

For more details please visit Getting information about available templates.


lint ensures that the template adheres to qube’s standards. When linting an already existing project several general checks, which all templates share are performed and afterwards template specific linting functions are run. All results are collected and printed to the user. If any of the checks fail linting terminates. Invoke lint by running

$ qube lint

For more details please visit Linting your project.


bump-version conveniently bumps the version of a qube based project across several files. Default configurations for bump-version are shipped with the template and can be extended if the user so desires. All lines where the version was changed are printed to the console. Invoke bump-version by running

$ qube bump-version <NEWVERSION> <PATH>

For more details please visit Bumping the version of an existing project.


sync checks for a project whether a newer version of the used template is available. If so, a pull request with only the changes of the newer template version is created against the development/last active branchh. Invoke sync by running

$ qube sync

For more details please visit Syncing your project.


config sets commonly used defaults for the project creation. Moreover, it is required for qube’s Github support, since it takes care of the personal access token (PAT). Invoke config by running

$ qube config <all/general/pat>

For more details please visit Configure qube and Github Support.


upgrade checks whether a new version is available on PyPI and upgrades the version if not. Invoke upgrade by running

$ qube upgrade

For more details please visit Upgrade qube.

External Python based projects

To use qube in an external Python based project

import qube

The main functions that you might be interested in can be found here in our repository.