- Use type hints consistently - Optimize for readability over premature optimization - Write modular code, using separate files for models, data loading, training, and evaluation - Follow PEP8 style guide for Python code - Python 3.13+, TypeScript, FastAPI, SQLAlchemy, Pydantic - Add types for all arguments and return values - Use named arguments, avoid **kwargs - Explicit None checks (
if x is None:
not if x:
) - Native type hints (list
, dict
, | None
not Optional
) - UTC timezone everywhere - SQLAlchemy: Use separate .where()
statements, prefer .scalars()
- Imports at top of file, avoid inline imports - Line length: 120 characters