Summary
The normal unit suite passes, but it cannot be imported under Python 3.14 with warnings treated as errors because a test contains an invalid escape sequence. The repository has no CI workflow to catch this or package/UI regressions.
Tested against main at fb265549480ff0d3ad8b14b28007370539b70cf3 with Python 3.14.5.
Reproduction
python3 -m unittest discover -s tests -v
# 116 tests pass, but emits SyntaxWarning at tests/test_meter.py:899
python3 -W error -m unittest discover -s tests -v
# Import fails: SyntaxError: "\\(" is an invalid escape sequence
There is also no .github/workflows directory on current main.
Suggested fix
- Change the affected expected string to a raw string or escape the backslash (
"\\\\(" as appropriate for the assertion).
- Add GitHub Actions for supported Python versions plus the newest Python release, with warnings-as-errors on the newest job.
- On macOS CI, compile the Swift menubar and build/expand the package.
- Add JavaScript syntax parsing for the inline dashboard script,
bash -n for shell scripts, and python -m compileall.
- Run the 116-test suite as a required pull-request check.
Regression criteria
python3 -W error -m unittest discover -s tests -v passes on Python 3.14.
- Every pull request runs unit, syntax, Swift compile, and package smoke checks.
- CI uploads enough logs/artifacts to diagnose a failed package build.
Summary
The normal unit suite passes, but it cannot be imported under Python 3.14 with warnings treated as errors because a test contains an invalid escape sequence. The repository has no CI workflow to catch this or package/UI regressions.
Tested against
mainatfb265549480ff0d3ad8b14b28007370539b70cf3with Python 3.14.5.Reproduction
There is also no
.github/workflowsdirectory on currentmain.Suggested fix
"\\\\("as appropriate for the assertion).bash -nfor shell scripts, andpython -m compileall.Regression criteria
python3 -W error -m unittest discover -s tests -vpasses on Python 3.14.