Added PEP 484 type hints to the four public methods in CSVFormat (src/tablib/formats/_csv.py).#642
Conversation
…e public functions in src/tablib/formats/_csv.py. Do not modify executable logic, existing comments, or docstrings.
for more information, see https://pre-commit.ci
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #642 +/- ##
=======================================
Coverage 93.14% 93.15%
=======================================
Files 29 29
Lines 3226 3227 +1
=======================================
+ Hits 3005 3006 +1
Misses 221 221 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
We don't currently have type hints in this project or any type checking in the CI. I'm curious why you chose to add type hints to these four methods in particular? |
|
These four are the only public methods on CSVFormat — the rest of the interface is private. The intent was a minimal, non-breaking annotation of exactly what callers interact with, without touching internal logic or docstrings. |
|
Following up here — if adding the scoped mypy check I mentioned (mypy --ignore-missing-imports src/tablib/formats/_csv.py) would help move this forward, I can add it. Or if type hints aren't something you want to start with yet, closing this is fine too. Either way works on my end. |
Adds PEP 484 type hints to the four public methods in CSVFormat (src/tablib/formats/_csv.py). No logic or docstring changes.
Signatures:
export_stream_set(dataset: Any, **kwargs: Any) -> StringIO
export_set(dataset: Any, **kwargs: Any) -> str
import_set(dset: Any, in_stream: TextIO, headers: bool, skip_lines: int, **kwargs: Any) -> None
detect(stream: TextIO, delimiter: Optional[str]) -> bool
Generated and verified with Symbiote, an internal AI-assisted annotation pipeline that maps the import graph and inserts typing without touching executable logic. Flagging that up front in case it matters for review.
Open to tightening any of the
Anyannotations if narrower types make sense here.