HOWTO: Создать оболочку API Python?
Я хотел бы написать библиотеку python, чтобы обернуть API-интерфейс REST, предлагаемый определенной веб-службой. Кто-нибудь знает какие-либо хорошие учебные ресурсы для такой работы, желательно для промежуточных программистов на Python?
Мне нужна хорошая статья на эту тему, но я соглашусь на красивые, четкие примеры кода.
CLARIFICATION:. Я ищу, чтобы написать клиент Python для взаимодействия с веб-службой - что-то для создания HTTP-запросов и анализа ответов XML/JSON, все завернутых в объекты Python.
Ответы
Ответ 1
Я не могу указать вам на какую-либо статью о том, как это сделать, но я думаю, что есть несколько библиотек, которые могут быть хорошими моделями в том, как создавать свои собственные.
PyAws, например. Я не видел исходный код, поэтому я не могу сказать вам, насколько он хорош в качестве примера кода, но функции и примеры использования на их веб-сайте должны быть полезной моделью дизайна.
Universal Feed Parser не является оберткой для webservice (это библиотека парсера RSS), но это отличный пример дизайна, который приоритет гибкости использования и скрытие деталей реализации. Я думаю, вы можете получить очень хорошие идеи использования для своей обертки.
Ответ 2
Моя любимая комбинация - httplib2 (или pycurl для производительности) и simplejson. Поскольку REST - это больше "способ дизайна", то настоящий "протокол" на самом деле не является многократно используемым (что я знаю). На Ruby у вас есть что-то вроде ActiveResource. И, честно говоря, даже это просто выведет некоторые таблицы в качестве веб-службы, тогда как сила xml/json заключается в том, что они больше похожи на "представления", которые могут содержать несколько объектов, оптимизированных для вашего приложения. Надеюсь, это имеет смысл: -)
Ответ 3
Эта страница руководства может быть хорошим стартовым местом (но она не содержит всего, что вам нужно).
Ответ 4
Вы должны взглянуть на PyFacebook. Это оболочка python для API Facebook, и это один из самых красивых API, которые я когда-либо использовал.
Ответ 5
Вы можете проверить pythenic jobs, приятную, простую, но хорошо сформированную "оболочку Python вокруг Authentic Jobs... API" как хороший пример. Это то, что я делаю сейчас:)
Ответ 6
У ребят из Real Python хорошая статья здесь.