8 популярни Python рамки за изграждане на API

Изградете мощни API с Python. Нека да проучим как!

Python е един от най-универсалните езици за програмиране днес. Той придоби своята популярност поради своята четливост, по-малко сложен синтаксис и лекота на учене. През последните няколко десетилетия Python се използва в множество домейни за множество приложения. Използван е за автоматизация, уеб разработка, анализ на данни, разработка на приложения и фокусът на тази статия е интерфейсът за програмиране на приложения (API).

Потребителските интерфейси на приложението се използват за достъп до информация или функционалност през Интернет. Например, можете да напишете програма на Python, която да използва API на Twitter за изпълнение на функционалност, която може да събира туитове за конкретен хаштаг. API улеснява разработчиците да използват определени технологии за изграждане на приложения, като използват определени предварително дефинирани операции. Помага при свързването на различни точки.

За щастие, има много рамки на Python, но не всички от тях са предназначени за API. Нека разгледаме някои от популярните, които можете да използвате за разработване на API.

Джанго ПОЧИВКА

Джанго ПОЧИВКА е базирана на Python REST рамка, използвана много от разработчиците за изграждане на уеб API. Rest означава предаване на представително състояние, което се използва за уеб-базирана архитектура за комуникация на данни. Той използва HTTP за осъществяване на повиквания между машини. GET, PUT, POST и DELETE са няколко стандартни метода, използвани в Django rest framework.

Django rest framework е просто начин за изграждане на REST API с помощта на Django, така че това е просто набор от инструменти, с който можем да работим. Това ни дава много допълнителни функции. Използвайки pip, можете да инсталирате рамката Django REST с една команда на вашата система. Но преди да инсталирате Django REST, трябва да имате Python версия 3.5+ и Django на вашата система.

Функции на Django REST:

  • API за сърфиране в мрежата и има огромна използваемост за разработчиците
  • Множество вградени правила за удостоверяване
  • Сериализация, която поддържа както ORM, така и не-ORM източници на данни
  • Обширна и добра документация за справка и научаване
  • Много активна подкрепа от общността
  • Доверен от организации като Red Hat, Mozilla, Heroku
  • Поддържа автоматично URL маршрутизиране към Django
  • Поддържа тестване, кеширане, дроселиране и др.
  9 най-добри системи за управление на обучението (LMS) за SMB

Flask Restful

Flask Restful е разширение на рамката на Flask, използвана от разработчиците за бързо изграждане на останалите API. Известен е с това, че създава микро уеб услуги, защото има много лек модул. Той е бърз и изисква само няколко кодови реда, за да инициализира Flask и да започне да го използва за създаване на API.

Той е лесен за настройка и насърчава най-добрите практики за изграждане на API. През последните няколко години към Flask бяха добавени много функции и сега той е толкова добър, колкото рамка с пълен стек. Това е предпочитаният избор от уеб разработчици за изграждане на уеб приложения и техните API.

Характеристики на Flask Restful:

  • Много лек и лесен за инсталиране
  • Осигурява ресурси, които са градивният елемент на спокойна колба. Използва се за достъп до множество HTTP методи.
  • Предлага се с модул за полета и декоратор marshal_with() за форматиране на данни
  • Позволява ви да контролирате какви изходящи полета да показвате в отговора след рендиране
  • Позволява ви да добавяте персонализирани полета и входове въз основа на вашия тип данни
  • Осигурява декоратор на представителство() за поддръжка на други представяния като XML, CSV, HTML

Сокол

Сокол е уеб рамката, която се използва за изграждане на надеждни и високоефективни бекендове на широкомащабни приложения и микроуслуги. Falcon дефинира своите API ресурси с помощта на обектно-ориентиран и базиран на клас интерфейс. Той е съвместим с множество сървъри и платформи, тъй като е съвместим с WSGI.

Falcon възприема HTTP и REST архитектурен стил, който се използва за създаване на изчистени дизайни. Мотото на Falcon е да прави възможно най-малко, но все пак да бъде много ефективен. Тази REST рамка е фокусирана върху контрола на качеството.

Характеристики на Falcon:

  • Той идва с вграден сървър и дебъгер за разработката
  • Лек с минимална настройка
  • Използва се предимно за по-бърза работа
  • Картографирането на URI към ресурси е вдъхновено от REST
  • Поддържа маршрутизиране, обработка на HTTP протокол, обработка на медии, бисквитки и URI помощни програми
  • Лесно се интегрира с NoSQL
  • Поддържа интегрирани модулни тестове
  • Осигурява поддръжка за защитени бисквитки
  • Поддържа Python 2.7, 3.5+ и е съвместим с Pypy
  Как да използвате водещи линии за по-силни снимки

Връзка

Връзка обработва HTTP заявките автоматично и се основава на спецификацията OpenAPI. Спецификацията на OpenAPI е описана във формат YAML. За разлика от други инструменти, при които получавате генерирана спецификация въз основа на кода на Python, Connexion ви позволява да напишете спецификация на OpenAPI и да картографирате крайните точки на съответните функции на Python. След като опишете подробно своя REST API, Connexion се уверява, че работи.

Характеристики на връзката:

  • Въз основа на спецификацията, която предоставяте, той валидира заявки и крайни точки.
  • Обработва базирано на токен удостоверяване с помощта на OAuth 2
  • Поддържа API версии
  • Предлага се с потребителски интерфейс на Web Swagger Console, който също позволява извикване на крайни точки на API.
  • Автоматично сериализира полезните товари

FastAPI

Както подсказва името, FastAPI е една от най-бързите и високопроизводителни рамки на Python за изграждане на API. Това е пълен пакет от пълна уеб рамка. Използвайки FastAPI, можете да разработите код 200 до 300% пъти по-бързо. Популярността на FastAPI нараства значително в общността на Python, с 200+ участници и 28,6K стартирания досега.

FastAPI е базиран на ASGI спецификация и се използва главно за изграждане на асинхронни уеб приложения. Следват някои от неговите характеристики.

  • Базиран на отворени стандарти – OpenAPI, JSON схема, автоматично генериране на клиентски код
  • Потребителски интерфейс на Swagger за извикване и тестване на API от браузър
  • Интерактивна API документация
  • Намалява 40% от грешките, генерирани от грешки на разработчиците в кода
  • Минимизира дублирането на код
  • Поддръжка на интуитивен редактор (VSCode/PyCharm) с автоматично довършване
  • Предлага се с интегрирана защита и удостоверяване
  • Система за инжектиране на зависимости за автоматично обработване на всички зависимости
  • Напълно съвместим с Старлетка и Пидантичен
  • Неограничена поддръжка за плъгини
  • Поддържа тестване на приложения с помощта на PyTest
  • Поддържа SQL бази данни, NoSQL бази данни, GraphQL

Прегръдка

Прегръдка е много хубава микрорамка, която ви позволява да създавате API, CLI и локални пакети. Позволява ви да създадете API веднъж и да използвате този API навсякъде в техния код. Hug използва Cython за компилация и консумира ресурси само когато е необходимо; това помага на Hug да осигури много висока производителност.

Можете да инсталирате Hug с помощта на pip в една команда. Това е един от най-чистите начини за изграждане на HTTP REST API на Python 3. За изграждане на API, Hug раздели зависимостите на версията и интерфейса от бизнес логиката на API. Той предлага множество интерфейси за опростяване на разработката на API за разработчиците.

  Как да добавите музика към Google Slides

Характеристики на прегръдката:

  • Той следва философията за еднократно писане и използване навсякъде
  • Излага логиката на API чрез множество интерфейси (CLI, HTTP или локална функция)
  • Осигурява модул hug.test за тестване на пълния Python стек на вашия API
  • Чиста и лесна за разбиране документация

Ева

Ева е изграден върху Flask и Cerberus. Целта на тази Python рамка е да направи разработката на API проста и бърза. Той създава RESTful уеб услуги без усилие, които са много адаптивни. Тази рамка е основно предпочитана за средно големи проекти.

Характеристики на Eve:

  • Поддържа пълен набор от CRUD операции
  • Поддържа персонализирани крайни точки, пагиниране, сортиране, филтриране
  • Осигурява разширени функции като удостоверяване, ограничаване на скоростта, кеширане
  • Лесно се интегрира с SQL бази данни, MongoDB, Elasticsearch и Neo4js.
  • Поддръжка извън кутията за валидиране на данни
  • Поддържа CORS, кръстосано споделяне на ресурси
  • Доказани са няколко събития за подобрено регистриране

Корниз

Корниз е REST рамка за Pyramid, която предоставя помощници за изграждане и документиране на REST-ish уеб услуги. Пирамидата е проектирана да се мащабира с приложение. Той следва HTTP спецификацията автоматично, когато е възможно.

Характеристики на корниза:

  • Една пътека в корниз е равна на една услуга
  • Извежда автоматично грешка 400 след валидиране на съдържанието, ако данните са невалидни
  • Добавя поддръжка на CORS (Cross-Origin Resource Sharing) към вашите услуги
  • Използвайте списъците за контрол на достъпа (ACL) на Pyramid за оторизация
  • Връща 406 Неприемливо за невалиден тип медия със съобщение за грешка, съдържащо всички поддържани типове съдържание
  • Поддържа URL префикс за всички ваши маршрути
  • Използва Tox, управляван от командния ред инструмент в Python за автоматизирано тестване

Заключение

Това беше моят списък с някои от популярните рамки на Python за изграждане на API. Надявам се, че сте намерили този списък за интересен, за да започнете. За да оцените какво предлагат тези рамки на Python, трябва да ги изпробвате. И така, какво чакате? Изберете някоя от тези REST рамки и започнете да изграждате API в Python.

След това проучете JavaScript рамки за изграждане на API.