Code Style Guidelines#

Code Formatting#

All code must be formatted using Ruff.

Type checking#

The use of type hints is encouraged, and all code must be checked using mypy.

Commit messages#

Commit messages should follow the Conventional Commits.

Versioning#

Ignis follows Semantic Versioning.

Definitions and Naming#

Use the following naming conventions for different purposes:

  • snake_case: Functions, variables, GObject properties (except D-Bus methods/properties)

  • SCREAMING_SNAKE_CASE: Constants

  • PascalCase: Classes, D-Bus methods/properties

  • kebab-case: GObject signals