chore: update pydantic and other outdated packages#44
chore: update pydantic and other outdated packages#44bluesdog164 wants to merge 12 commits intoasync-worker:mainfrom
Conversation
|
Obrigado @bluesdog164 ! Aprovei a execução dos checks do PR. Vou reservar um tempo para analisar o PR com mais calma. Obrigado! |
|
Acabou que não tinha aprovado. 😔 Agora aprovei e estão rodando. |
|
Vou tentar rodar os testes com um pipenv mais atual pra ver se o erro que está acontecendo é por causa disso. |
|
Oi @bluesdog164, tudo bem? Você conseguiu rodar os testes localmente com as dependências nessas novas versões? Como especificado na doc do async-worker tentamos suportar as versões ativas do python (preciso inclusive resolver as quebras no py3.12 e 3.13). Não consegui também gerar um novo pipfile.lock com base nesse Pipfile do PR. Precisamos conseguir gerá-lo usando o py3.9 (que é a versão mais antiga suportada pelo projeto). Mas mesmo tentando gerar usando py3.10 e 3.11 não consegui regerar o .lock. Atualizei os workflows de PR e o main para usarem uma versão mais atual do pip e pipenv (isso estava causando problemas também). Você pode atualizar sua branch com esses novos commits para podermos ver os novos erros? (Talvez tenhamos que atualizar as dependências mais devagar. Primeiro as dependencias secundárias e depois as principais (aiohttp e pydantic)). Obrigado! |
|
Olá @bluesdog164, tudo bem? Consegui corrigir todos os workflows com om mínimo possível de atualizações (PR #47). Agora todos os testes rodam em todas as versões propostas do python pelo projeto. Adicionei também uma checagem para confirmar que o lockfile está apto a ser re-gerado. Isso vai ajudar a saber, de forma automatizada, se um PR está apto para ser mergeado. Queria te pedir para ajustar seu PR para que faça update apenas do pydantic. Veja se é possível. Se não for, atualize o mínimo de dependências possivel e depois atualizamos o restante. Obrigado. |
|
Consegui chegar nessa configuração de dependências: Pipfile setup.py Com isso os testes rodam corretamente nos pythons: 3.10 até o 3.13. Mas falham no 3.9 com o seguinte erro: from asyncworker.utils import Timeit
asyncworker/__init__.py:1: in <module>
from asyncworker.app import App
asyncworker/app.py:9: in <module>
from asyncworker.http.entrypoints import HTTPEntryPointImpl
asyncworker/http/entrypoints.py:6: in <module>
from asyncworker.entrypoints import EntrypointInterface, _extract_async_callable
asyncworker/entrypoints.py:6: in <module>
from asyncworker.routes import RouteHandler
asyncworker/routes.py:99: in <module>
class HTTPRoute(Route):
asyncworker/routes.py:101: in HTTPRoute
methods: str | List[str] = ["GET"]
E TypeError: unsupported operand type(s) for |: 'type' and '_GenericAlias'Que é por causa dessa modificação: class HTTPRoute(Route):
type: RouteTypes = RouteTypes.HTTP
- methods: List[str]
+ methods: str | List[str] = ["GET"]
options: _RouteOptions = _RouteOptions()Aí precisamos pensar:
Aqui cabe um outro ponto também: Não lembro de cabeça se de fato o código do asyncworker aceita "str" nesse atributo |
What
Updates outdated packages, mainly pydantic
Why
Current pydantic version
P.S.: Eu falo português, então se quiser edito o PR para ficar em português, e podem deixar comentários em pt-br