2009-08-17 5 views
8

Piszę nowy (dla Netflix), i po prostu zastanawiam się, czy istnieją wspaniałe biblioteki odniesienia do nauki.Czy ktoś może zaproponować dobrze zaprojektowane opakowanie Pythona API REST?

W szczególności szukam sprytnych sposobów wyrażania pojedynczy punkt końcowy REST w kodzie, który potrzebuje przynajmniej URL, metodzie i params, aw przypadku Netflix, informacja o poziomie uwierzytelniania wymagane.

Dla jasności, szukam idiomatycznych i dobrze napisanych bibliotek Pythona obejmujących API REST. Jeśli biblioteka płonie szybko, ale jest trudna w użyciu i/lub źle napisana, prawdopodobnie nie jestem zainteresowana.

+0

Inne niż urllib2? –

Odpowiedz

1

To naprawdę stare pytanie, ale odkąd do niego doszedłem, pomyślałem, że udzielę szybkiej odpowiedzi.

Użyłem już pewnej wersji GitHub3 wrapper i zawsze byłem pod wrażeniem dokumentacji. Jednym z problemów z używaniem go jako przewodnika jest to, że jest on absolutnie ogromny.

Kolejnym ładnym opakowaniem jest Gdax-python wrapper umożliwiający dostęp do wymiany Gdax w poszukiwaniu kryptowalut. Chociaż poważnie brakuje dokumentacji w kodzie i nie jestem fanem oddzielnych klientów do publicznych wywołań API i uwierzytelnionych wywołań API, zawsze uważałem, że jest niezwykle łatwy w użyciu.

Jestem pewien, że jest mnóstwo innych, ale wiele z tych, których używałem, wpadają w poważne pułapki. Parę osobiste zalecenia:

  • mieć jedną klasę klienta, który zarządza całą komunikację

  • utwórz requests.Session klient() obiektu do utworzenia wszystkich auth/nagłówek informacyjne dla wszystkich połączeń

  • użyj pojedynczej funkcji klasy _make_requests, która składa adres URL, wysyła żądanie i obsługuje wszystkie kody stanu HTTP, które można zwrócić.