2009-08-17 5 views
8

Ne sto scrivendo uno nuovo (per Netflix), e mi sto semplicemente chiedendo se ci sono delle ottime librerie di riferimento per me da studiare.Qualcuno può suggerire un wrapper Python ben progettato di un'API REST?

In particolare, sto cercando modi intelligenti per esprimere un singolo endpoint REST nel codice, che richiede almeno un URL, un metodo e parametri e, nel caso di Netflix, le informazioni sul livello di autenticazione richiesto.

Per essere chiari, sto cercando librerie Python idiomatiche e ben scritte che coprano le API REST. Se la libreria è veloce, ma è difficile da usare e/o scritta male, probabilmente sono meno interessata.

+0

Diverso da urllib2? –

risposta

1

Questa è una domanda molto vecchia, ma da quando ci sono arrivato, ho pensato di fornire una risposta rapida.

Ho usato il GitHub3 wrapper un bel po 'e sono sempre stato davvero colpito dalla documentazione. Un problema con l'utilizzo come guida è che è assolutamente enorme.

Un altro bel wrapper è lo Gdax-python wrapper per accedere allo scambio Gdax di criptovalute. Sebbene sia seriamente carente nella documentazione in codice e non sono un fan di avere client separati per chiamate API pubbliche e chiamate API autenticate, l'ho sempre trovato straordinariamente facile da usare.

Sono sicuro che ce ne sono molti altri, ma molti di quelli che ho usato rientrano in alcune trappole importanti. Un paio di raccomandazioni personali:

  • hanno una sola classe client che gestisce tutte le comunicazioni

  • impostare un oggetto client requests.Session() per impostare tutti auth/intestazione di informazioni per tutte le chiamate

  • utilizza una singola funzione di classe _make_requests che raccoglie l'url, invia la richiesta e gestisce tutti i vari codici di stato HTTP che possono essere restituiti.