Style Guide

This style guide extends PEP 8 with recommendations that should be followed in this project.

Logging

Use the appropriate log level based on these meanings:

  • DEBUG: troubleshooting - not for testing.

  • INFO: normal operation - state changes.

  • WARNING: might be a problem - inform user.

  • ERROR: definitely a problem - inform developer.

  • FATAL/CRITICAL: too similar to ERROR - just throw an exception.

Log message with a format string to avoid interpolating variables when the log level is not applicable:

logging.info(
    "Starting %(service)s on port %(port)s",
    {"service": service, "port": port},
)

Testing