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 合并指标
 (平均合并 2天 3小时) (30 天内合并 16 个 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

贡献者指南