Регистрация API Polars и средства проверки типов ⇐ Python
Регистрация API Polars и средства проверки типов
Я постоянно получаю ошибки типа от mypy илиpyright при использовании функций регистрации пространства имен Polars. Есть ли способ избежать ошибок проверки типов, кроме подсказки # type: ignore[attr-defined] каждый раз, когда я использую функцию из своего собственного пространства имен?
Пример взят из официальной документации https://docs.pola.rs/py-polars/html/reference/api.html:
файл checker.py:
импортировать поляры как pl @pl.api.register_expr_namespace("привет") класс Приветствие: def __init__(self, выражение: pl.Expr): self._expr = выражение def hello(self) -> pl.Expr: return (pl.lit("Привет") + self._expr).alias("привет") def до свидания(я) -> pl.Expr: return (pl.lit("Sayōnara") + self._expr).alias("пока") print(pl.DataFrame(data=["мир", "мир!", "мир!!]).select( [ pl.all().greetings.hello(), # тип: ignore[attr-defined] pl.all().приветствия.до свидания(), ] )) % mypy checker.py checker.py:19: ошибка: «Expr» не имеет атрибута «приветствия» [attr-defined] Нашёл 1 ошибку в 1 файле (проверил 1 исходный файл) % mypy --версия mypy 1.8.0 (скомпилировано: да) % пирайт checker.py /путь/к/checker.py /apth/to/checker.py:19:18 — ошибка: невозможно получить доступ к «приветствиям» участника для типа «Expr». Приветствие участника неизвестно (reportGeneralTypeIssues) 1 ошибка, 0 предупреждений, 0 информации % пирайт --версия пирайт 1.1.343
Я постоянно получаю ошибки типа от mypy илиpyright при использовании функций регистрации пространства имен Polars. Есть ли способ избежать ошибок проверки типов, кроме подсказки # type: ignore[attr-defined] каждый раз, когда я использую функцию из своего собственного пространства имен?
Пример взят из официальной документации https://docs.pola.rs/py-polars/html/reference/api.html:
файл checker.py:
импортировать поляры как pl @pl.api.register_expr_namespace("привет") класс Приветствие: def __init__(self, выражение: pl.Expr): self._expr = выражение def hello(self) -> pl.Expr: return (pl.lit("Привет") + self._expr).alias("привет") def до свидания(я) -> pl.Expr: return (pl.lit("Sayōnara") + self._expr).alias("пока") print(pl.DataFrame(data=["мир", "мир!", "мир!!]).select( [ pl.all().greetings.hello(), # тип: ignore[attr-defined] pl.all().приветствия.до свидания(), ] )) % mypy checker.py checker.py:19: ошибка: «Expr» не имеет атрибута «приветствия» [attr-defined] Нашёл 1 ошибку в 1 файле (проверил 1 исходный файл) % mypy --версия mypy 1.8.0 (скомпилировано: да) % пирайт checker.py /путь/к/checker.py /apth/to/checker.py:19:18 — ошибка: невозможно получить доступ к «приветствиям» участника для типа «Expr». Приветствие участника неизвестно (reportGeneralTypeIssues) 1 ошибка, 0 предупреждений, 0 информации % пирайт --версия пирайт 1.1.343
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение