# Conventions Coding, library, and infrastructure conventions that keep projects consistent. !!! note "Work in progress" Individual convention pages will be added under this section and wired into the nav. ## Topics to document - **Python style** — flake8 clean (max line 120), type hints on public functions, lowercase-start docstrings with no trailing period. - **Library layout** — `src/` layout, hatchling, Python ≥ 3.10, underscores in names, `aio`-prefix only for libs that define async surfaces. - **Logging** — emit-only in libraries (`logging.getLogger(__name__)`); handler, level, and format configured only at the application entry point. - **Files** — trailing newline, no trailing whitespace, LF line endings. - **Config** — config-free modules (inject dependencies), single source of truth, no duplicated logic or constants.