Tag: PYTHON-TYPING
Me he encontrado con un problema al intentar definir un NamedTuple genérico (typing/mypy Generic). He logrado reducirlo al ejemplo de trabajo más pequeño posible: a.py: from typing import NamedTuple from typing import Generic from typing import TypeVar T = TypeVar(‘T’) class A(Generic[T], NamedTuple(‘A’, [(‘x’, T)])): pass a = A(12) Esto . . . Read more
Considere un par simple de clases genéricas: T = TypeVar(“T”, str, int) class Base(Generic[T]): def __init__(self, v: T): self.v: T = v @property def value(self) -> T: return self.v class Child(Base[T]): def __init__(self, v: T): super().__init__(v) x = Child(123) reveal_type(x.value) Si bien el uso de T = TypeVar(“T”) funciona como . . . Read more
Quiero inspeccionar la anotación de tipo de una variable de clase, y si es un typing.Literal, extraer el valor literal y hacer algo con él. Pero: from typing import Literal class Foo: bar: Literal['baz'] l = Foo.__annotations__['bar'] isinstance(l, Literal) produce: Error de seguimiento (última llamada más reciente): Archivo "<stdin>", línea . . . Read more
Actualmente estoy trabajando en un marco API que puede admitir asincronía. Así que he decidido crear un cliente asincrónico heredando de un cliente regular asincrónico. <h1>Prueba</h1> <p>import requests import aiohttp</p> <p>class Client: def request(self, url: str) -> requests.Response: …</p> <p>class AsyncClient(Client): def request(self, url: str) -> aiohttp.ClientResponse: … Luego, mypy . . . Read more
He ejecutado boto3-stubs para generar sugerencias de tipo (type hints) para boto3, siguiendo esta guía para PyCharm. Como se esperaba, mypy_boto3_builder ha creado un directorio typings con todos los archivos .pyi. ¿Debo comprometer estos archivos en mi repositorio git o agregarlos a .gitignore? Desafortunadamente, la guía no menciona nada al . . . Read more