Não há uma maneira elegante de implementar a limitação para chamadas de API do github por meio do PyGitHub. A melhor maneira que posso encontrar para garantir que meu aplicativo não atinja os limites de limitação é continuar verificando antes de cada chamada e manter uma contagem do número de chamadas feitas para as APIs e, em seguida, verificar continuamente se esse limite foi atingido ou não - ao atualizar os limites de taxa periodicamente. Não é simples implementar uma classe wrapper ou aplicar decoradores/descritores às chamadas porque existem várias classes (como GitHub, Repository, Releases etc) que podem fazer uma chamada para o endpoint da API. Parece que implementar esse recurso dentro do PyGitHub para ajudar as chamadas de aceleração/ratelimit/wait seria a melhor abordagem IMO, pois todas as chamadas da API REST podem ser rastreadas. Esse recurso será incentivado? Faz sentido trabalhar em um pull request?
qualquer um?
Consulte também #1233 para solicitações excessivas.
Este problema foi marcado automaticamente como obsoleto porque não teve atividade recente. Será fechado se não ocorrer mais nenhuma atividade. Obrigado por suas contribuições.
PyGithub é ótimo, muito obrigado!
Existe uma maneira conveniente de instruir o PyGithub a não lançar uma exceção de limite de taxa excedido, mas recuar e repetir a operação? Caso contrário, tenho que fazer isso e encerrar cada uma das minhas chamadas, o que é possível, mas parece errado. Sou eu, executando uma funcionalidade de estrutura/biblioteca que se encaixaria melhor na estrutura/biblioteca real, neste caso o PyGithub, e todos os usuários fazendo o mesmo em seu código.
Comentários muito úteis
PyGithub é ótimo, muito obrigado!
Existe uma maneira conveniente de instruir o PyGithub a não lançar uma exceção de limite de taxa excedido, mas recuar e repetir a operação? Caso contrário, tenho que fazer isso e encerrar cada uma das minhas chamadas, o que é possível, mas parece errado. Sou eu, executando uma funcionalidade de estrutura/biblioteca que se encaixaria melhor na estrutura/biblioteca real, neste caso o PyGithub, e todos os usuários fazendo o mesmo em seu código.