huggingface/datasets

Consider using "Sequence" instead of "List"

Open

#5,354 建立於 2022年12月12日

在 GitHub 查看
 (18 留言) (0 反應) (1 負責人)Python (2,496 fork)batch import
enhancementgood first issue

倉庫指標

Star
 (18,313 star)
PR 合併指標
 (平均合併 25天 5小時) (30 天內合併 21 個 PR)

描述

Feature request

Hi, please consider using Sequence type annotation instead of List in function arguments such as in Dataset.from_parquet(). It leads to type checking errors, see below.

How to reproduce

list_of_filenames = ["foo.parquet", "bar.parquet"]
ds = Dataset.from_parquet(list_of_filenames)

Expected mypy output:

Success: no issues found

Actual mypy output:

test.py:19: error: Argument 1 to "from_parquet" of "Dataset" has incompatible type "List[str]"; expected "Union[Union[str, bytes, PathLike[Any]], List[Union[str, bytes, PathLike[Any]]]]"  [arg-type]
test.py:19: note: "List" is invariant -- see https://mypy.readthedocs.io/en/stable/common_issues.html#variance
test.py:19: note: Consider using "Sequence" instead, which is covariant

Env: mypy 0.991, Python 3.10.0, datasets 2.7.1

貢獻者指南