- Setup:
nox -s setup(if available) oruv sync - Lint:
nox -s pre-commitorruff check .andruff format . - Type check:
nox -s mypyormypy src tests docs/conf.py - Run all tests:
nox -s testsorpytest tests/ - Run single test:
pytest tests/test_file.py::test_function - Coverage:
nox -s coverage - Docs:
nox -s docs(live) ornox -s docs-build(build)
- Formatting: ruff (88 char line limit)
- Imports: isort style, grouped by standard library, third-party, local
- Types: Use lowercase built-ins (list, dict), fully type-hinted code
- Naming: snake_case for variables/functions, PascalCase for classes
- Docstrings: Google style (Args:, Returns:) with one-line summary
- Error handling: Use exceptions from src/odoo_data_flow/lib/internal/exceptions.py
- Tests: Pytest with descriptive names, follow existing patterns in tests/
- src/odoo_data_flow/: Main source code
- tests/: Unit and integration tests
- docs/: Documentation source
- conf/: Configuration files
- testdata/: Sample data files
- .nox/: Virtual environments
- Key files: noxfile.py, pyproject.toml, .pre-commit-config.yaml