chore: resolve ty type checker diagnostics (41 errors)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Refactor
- Clarity
- Clearly specified
- Activity status
- Stale
- Tech stack
- python
- Domain
- build-system, ci-cd, testing-qa
Research direction
Start by running the advisory ty typecheck and group the 41 diagnostics across custom_columns.py, postprocess.py, the test files, Makefile, pre-commit hook, and CI configuration. Resolve or narrowly suppress each reported diagnostic, then make the checks blocking by removing the advisory wrappers and verify that typecheck passes.
Written by the indexing model from the issue text.
Description
Summary
After adding ty (v0.0.23) as a type checker, the codebase has 41 diagnostics that need to be resolved before typecheck can become a blocking CI check and pre-commit hook.
Currently, typecheck is advisory (non-blocking) in both the Makefile (- prefix) and pre-commit (|| true).
Diagnostic categories
Source code (~14 errors)
custom_columns.py(7 errors) -- Passinglist[dict]from.as_dict()calls wherelist[EntitySchema]is expected. Pydantic accepts dicts at runtime, but ty's static analysis doesn't know that. Fix: pass model instances directly, or add# ty: ignorecomments.postprocess.py(5 errors) --dict.get()overload resolution failures on dicts with inferred narrow key types afterisinstanceguards.
Test code (~20+ errors)
- Tests passing raw dicts where Pydantic model instances are expected (same pattern as source)
AnonymizerConfig(detect={...})-- passing dict instead ofDetectmodeltest_debug_logging.py--tmp_pathfixture typed asTempPathFactoryinstead ofPathtempfile.mktempdeprecation warning
Excluded (already handled)
tools/is excluded via[tool.ty.src] exclude = ["tools/"]since those scripts use PEP 723 inline deps not in the venv.
Definition of done
- All 41 diagnostics resolved (fix or suppress with targeted
# ty: ignore[rule-name]) - Remove
|| truefrom typecheck pre-commit hook - Remove
-prefix from Makefiletypechecktarget - Typecheck CI job made blocking (remove
continue-on-errorif set)
References
- PR #51 introduced ty and the advisory typecheck infrastructure
- Dominant language
- Python
- Stars
- 129
- Forks
- 21
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 21
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from NVIDIA-NeMo/Anonymizer
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
NVIDIA-NeMo/Anonymizer#327 ·
Maintainers usually reply within 1 day
-
Replacement-map generation can silently omit a requested entity, causing the rewrite to be marked unavailablePossibly taken @dundysm claimed this 31 days ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
NVIDIA-NeMo/Anonymizer#278 · 2 comments ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
NVIDIA-NeMo/Anonymizer#6 · 1 comment ·
Maintainers usually reply within 1 day
-
task
Difficulty 4/5 3-5 days Newbie friendliness 48/100
NVIDIA-NeMo/Anonymizer#323 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
NVIDIA-NeMo/Anonymizer#304 ·
Maintainers usually reply within 1 day
All issues in NVIDIA-NeMo/Anonymizer
Similar issues
-
Project submission:Open
Difficulty 1/5 Under an hour Newbie friendliness 72/100
slavakurilyak/awesome-ai-agents#845 ·
Maintainers usually reply within 1 day
-
tests: pin that the atomic writers in utils/paths.py stage the temporary file in the target's directoryPossibly taken A pull request linked to this issue is open or already merged. Opendifficulty:2 enhancement good first issue
Difficulty 1/5 1-3 hours Newbie friendliness 92/100
MakazhanAlpamys/Soup#2178 ·
Maintainers usually reply within 1 day
-
[BUG] dcg.waggr permutation p-values are folded twice, so near-zero scores get the smallest p-valuesOpen
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
scverse/rapids-singlecell#854 ·
Maintainers usually reply within 1 day
-
Slang input: int8_t4_packed and uint8_t4_packed are copied into CrossGLPossibly taken @ninglinLiu claimed this today. Openarea:frontend backend:slang bug direction:input
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
random_elements(unique=True) on an OrderedDict: ZeroDivisionError once only zero weights remain, AssertionError with use_weighting=FalsePossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 13 days