Subcategory: Linting/style + Public API / semver discipline
Score: public API 8 → 10
open is used as a parameter name, shadowing the builtin. Two of the four sites are in the public plot() signature, so renaming is a breaking change — worth doing now while the package is still 0.2.x with an Alpha classifier, rather than after 1.0.
What to change
src/pycharting/api/interface.py:77 — plot(..., open=None, ...) (public API)
src/pycharting/api/interface.py:171 — local rebinding open = np.array(open)
src/pycharting/data/ingestion.py:29 — validate_input(..., open=None, ...)
src/pycharting/data/ingestion.py:240 — DataManager.__init__(..., open=None, ...)
Note the property DataManager.open (ingestion.py:271) is an attribute, not a shadowed argument, and is not flagged.
done when
ruff reports no A001/A002, and the rename is reflected in the README API reference (README.md:172).
Evidence
A002 Function argument `open` is shadowing a Python builtin
--> src/pycharting/api/interface.py:77:5
Surfaced by the Rhiza quality gates during the template bump to jebel-quant/rhiza@v1.2.2, which enabled the stricter ruff rule families (ANN, A, BLE, ARG) and TYPECHECKER=both. Gate status at time of filing: make fmt FAIL, make typecheck FAIL, make docs-coverage FAIL, test-layout FAIL; make deptry, make security, make test PASS (154 tests, 100% coverage).
Subcategory: Linting/style + Public API / semver discipline
Score: public API 8 → 10
openis used as a parameter name, shadowing the builtin. Two of the four sites are in the publicplot()signature, so renaming is a breaking change — worth doing now while the package is still0.2.xwith an Alpha classifier, rather than after 1.0.What to change
src/pycharting/api/interface.py:77—plot(..., open=None, ...)(public API)src/pycharting/api/interface.py:171— local rebindingopen = np.array(open)src/pycharting/data/ingestion.py:29—validate_input(..., open=None, ...)src/pycharting/data/ingestion.py:240—DataManager.__init__(..., open=None, ...)Note the property
DataManager.open(ingestion.py:271) is an attribute, not a shadowed argument, and is not flagged.done when
ruffreports no A001/A002, and the rename is reflected in the README API reference (README.md:172).Evidence
Surfaced by the Rhiza quality gates during the template bump to
jebel-quant/rhiza@v1.2.2, which enabled the stricter ruff rule families (ANN, A, BLE, ARG) andTYPECHECKER=both. Gate status at time of filing:make fmtFAIL,make typecheckFAIL,make docs-coverageFAIL, test-layout FAIL;make deptry,make security,make testPASS (154 tests, 100% coverage).