Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,9 @@ and pass tests.

## Code style

- **Formatter:** Black (max line length follows Black defaults)
- **Linter:** Pylint (max line: 100, max statements: 50, see `.pylint/src`)
- **Formatter:** Black (enforces 88-char line length for all code)

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The statement that Black "enforces 88-char line length for all code" is a bit too absolute: Black’s default line length is 88, but it can still emit longer lines (e.g., long strings/URLs, some comments) and won’t always reflow everything under 88. Consider rephrasing to "Black (default line length 88)" or similar to avoid an incorrect guarantee.

Suggested change
- **Formatter:** Black (enforces 88-char line length for all code)
- **Formatter:** Black (default line length 88)

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK. Good catch — Black's default is 88 but it doesn't guarantee all lines stay under 88.

- **Linter:** Pylint (max line: 100 as a lenient upper bound for non-Black-managed cases,
max statements: 50, see `.pylint/src`)
- **Python:** >=3.12.0 required

Copilot AI Mar 26, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doc says Python >=3.12.0 is required, but the project’s declared Poetry constraint is ">3.10,<=3.14" (pyproject.toml). Either tighten the Poetry constraint to match the stated requirement, or relax/update this line to match what the project actually supports/tests.

Suggested change
- **Python:** >=3.12.0 required
- **Python:** >3.10,<=3.14 (see `pyproject.toml` for the authoritative version constraint)

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK. The CLAUDE.md should reference pyproject.toml as the source of truth for the Python version constraint.

- **Naming:** `snake_case` (functions, variables), `PascalCase` (classes),
`UPPER_CASE` (constants)
Expand Down Expand Up @@ -100,7 +101,7 @@ To add a new device:

## Testing

- Framework: `pytest` with `unittest.TestCase`
- **Test runner:** `pytest`; some test classes use `unittest.TestCase`-style structure
- Mocking: `unittest.mock` (`patch`, `MagicMock`)
- E2E: `kivy.tests.common.GraphicUnitTest`
- Shared mocks in `tests/shared_mocks.py`
Expand Down
Loading