Event JSON
{
"id": "97b69427c493316bb7fb055f511aff1e332790b7e08d6699e31f6d40a36b1e05",
"pubkey": "31ca084730b98ee1aa76f248f9407f919223b8e71b5e5de00626c6bbbac6e293",
"created_at": 1784809933,
"kind": 1,
"tags": [
[
"t",
"typing"
],
[
"t",
"python"
],
[
"t",
"protocol"
],
[
"t",
"mypy"
],
[
"proxy",
"https://bolha.us/@riverfount/116969303812091651",
"web"
],
[
"proxy",
"https://bolha.us/users/riverfount/statuses/116969303812091651",
"activitypub"
],
[
"L",
"pink.momostr"
],
[
"l",
"pink.momostr.activitypub:https://bolha.us/users/riverfount/statuses/116969303812091651",
"pink.momostr"
],
[
"-"
]
],
"content": "vocês já tomaram um AttributeError em produção por causa de um método com nome errado, tipo aplica em vez de aplicar? pois é, isso não devia sobreviver até o deploy.\n\nnovo texto no blog fala de typing.Protocol: como pegar esse tipo de erro ainda no mypy, sem abrir mão do duck typing e sem virar refém de herança tipo ABC. tem o contraste com runtime_checkable também, que só confere se o método existe, não a assinatura inteira.\n\nhttps://www.riverfount.dev.br/posts/protocol_duck_typing_mypy/\n\n#python #mypy #typing #protocol",
"sig": "7517492f724fa376fa7a349406d85d7851221c3ba3bb4f6e4295f125ca2b9883f32f395684f48e3a3de871f50c3ad1ba2346fc33e5a59eaf81a804127f30ac8f"
}