Этот пост является сводным путем лучших библиотек Python для GraphQL. Python в последние годы начинает быть в списке верхнего языка программирования. GraphQL возникает, но очень многообещающий язык запросов и казни, привязанный к любому бэкэнду.
Python – один из самых популярных языков, используемых в науке о данных, машинном обучении и системах AI. GraphQL был представлен Facebook в качестве альтернативы для отдыха, и он популярен от гибкости на обработке сложных систем.
Ariadne – это библиотека Python для внедрения серверов GraphQL с использованием схемы-первого подхода.
Mirumee/Ariadne.
Ariadne – это библиотека Python для внедрения серверов GraphQL с использованием схемы-первого подхода.
Ariadne – библиотека Python для реализации Graphql серверы.
- Схема-первая: Ariadne позволяет разработчикам Python использовать схему – первый подход к реализации API. Это ведущий подход, используемый сообществом GraphQL и поддерживается десятками инструментов разработчиков Frontend и Backend, примерами и учебными ресурсами. Ariadne делает все это немедленно доступно для ваших и других членов вашей команды.
- Просто: Ariadne предлагает небольшой, последовательную и легко запоминать API, который позволяет разработчикам сосредоточиться на бизнес-проблемах, а не котельной.
- Открыть: Ариадна спроектирована как модульная и открытая для настройки. Если вы отсутствуете или недовольны чем-то, продлите или легко поменяйте своими собственными.
Документация доступна здесь Отказ
Функции
- Просто, быстро учиться и легко запоминать API.
- Совместимость с graphql.js версия 14.4.0.
- Запросы, мутации и типы ввода.
- Асинхронные резольвенторы и выполнение запроса.
- Подписки.
- Пользовательские скаляры, врача и директивы схемы.
- Профсоюзы и интерфейсы.
- Загрузка файлов.
- …
Ariadne – библиотека Python для внедрения серверов GraphQL.
- Схема – сначала: Ariadne позволяет разработчикам Python использовать схему – первый подход к реализации API. Это ведущий подход, используемый сообществом GraphQL и поддерживается десятками инструментов разработчиков Frontend и Backend, примерами и учебными ресурсами. Ariadne делает все это немедленно доступно для ваших и других членов вашей команды.
- Простой: Ariadne предлагает небольшой, последовательную и легко запоминать API, который позволяет разработчикам сосредоточиться на бизнес-проблемах, а не котельной.
- Открыто: Ariadne была разработана для модульной и открытой для настройки. Если вы отсутствуете или недовольны чем-то, продлите или легко поменяйте своими собственными. Документация доступна здесь.
Функции
- Просто, быстро учиться и легко запоминать API.
- Совместимость с Graphql.js Версия 14.0.2.
- Запросы, мутации и типы ввода.
- Асинхронные резольвенторы и выполнение запроса.
- Подписки.
- Пользовательские скалярные и перечисленные.
- Профсоюзы и интерфейсы.
- Определение схемы с использованием строк SDL.
- Схема загрузки из файлов .graphql.
- Промежуточное программное обеспечение WSGI для реализации GraphQL в существующих сайтах.
- Опциональные автоматические резольверы сопоставлены между камерой и Snake_Case.
- Встроенный простой синхронный Dev Server для быстрого эксперимента GraphQL и игровой площадки GraphQL.
- Поддержка расширения Apollo GraphQl для Visual Studio Code.
- Проверка синтаксиса GraphQL через функцию HQL (). Также предоставляет окраска, если установлено расширение Apollo GraphQl.
Установка
pip install ariadne
Быстрый старт
В следующем примере создается API, определяющий тип человека и единомодающие полевые люди, возвращающие список двух человек. Он также запускает локальный DEV-сервер с игровой площадкой GraphQL, доступной на http://127.0.0.1:8000 адрес. Начните с установки UVICORN, сервер ASGI мы будем использовать для обслуживания API:
Начните с установки UVICORN, сервер ASGI мы будем использовать для обслуживания API:
pip install uvicorn
Затем создайте файл Prime.py для вашего примера приложения:
from ariadne import ObjectType, QueryType, gql, make_executable_schema from ariadne.asgi import GraphQL # Define types using Schema Definition Language (https://graphql.org/learn/schema/) # Wrapping string in gql function provides validation and better error traceback type_defs = gql(""" type Query { people: [Person!]! } type Person { firstName: String lastName: String age: Int fullName: String } """) # Map resolver functions to Query fields using QueryType query = QueryType() # Resolvers are simple python functions @query.field("people") def resolve_people(*_): return [ {"firstName": "John", "lastName": "Doe", "age": 21}, {"firstName": "Bob", "lastName": "Boberson", "age": 24}, ] # Map resolver functions to custom type fields using ObjectType person = ObjectType("Person") @person.field("fullName") def resolve_person_fullname(person, *_): return "%s %s" % (person["firstName"], person["lastName"]) # Create executable GraphQL schema schema = make_executable_schema(type_defs, [query, person]) # Create an ASGI app using the schema, running in debug mode app = GraphQL(schema, debug=True)
Clobberry-GraphQL/клубника
Новая библиотека GraphQL для Python 🍓
Библиотека Python GraphQl на основе Dataclasses
Установка
Установить с:
pip install strawberry-graphql
Начиная
Создайте файл под названием app.py
со следующим кодом:
import strawberry @strawberry.type class User name: str age: int @strawberry.type class Query: @strawberry.field def user(self, info) -> User: return User(name="Patrick", age=100) schema = strawberry.Schema(query=Query)
Это создаст схему GraphQL, определяющую Пользователь
Тип и одно поле запроса Пользователь
Это вернет жесткозедированный пользователь.
Для запуска сервера Debug запустите следующую команду:
strawberry server app
Откройте сервер отладки, нажав на следующую ссылку: http://0.0.0.0:8000/graphql
Это откроет Graphiql, где вы можете проверить API.
Тип проверки
Клубника поставляется с Marpy Плагин, который обеспечивает проверку статической проверки вашего GraphQL …
Клубника – это новая библиотека GraphQL для Python 3, вдохновленная Dataclasses. Начальная версия клубники была выпущена на Github. Клубника была создана @ patrick91, который также является организатором @pyconit. Первоначально он был объявлен во время Python Pizza Berlin.
https://strawberry.rocks/
Установка
pip install strawberry-graphql
Начиная
Создайте файл под названием App.py со следующим кодом:
import strawberry @strawberry.type class User: name: str age: int @strawberry.type class Query: @strawberry.field def user(self, info) -> User: return User(name="Patrick", age=100) schema = strawberry.Schema(query=Query)
Это создаст схему GraphQL, определяющую тип пользователя и пользователь полей одного запроса, который вернет жесткий пользователь.
Для запуска сервера Debug запустите следующую команду:
strawberry run server app
Откройте сервер отладки, нажав на следующую ссылку: http://0.0.0.0:8000/graphql
Это откроет игровую площадку GraphQL, где вы можете проверить API.
graphql-python/графен
Frameworks Framework для Python
💬 Присоединяйтесь к сообществу
Мы ищем участников Действительно Пожалуйста, проверьте Дорожная карта Чтобы увидеть, как вы можете помочь
Ниже readme – это документация для дев (Пререесть) версия графена. Для просмотра документации для последней стабильной версии графена Перейти к V2 документы
Вступление
Графен Является ли явная библиотека Python для построения схем GraphQL/типов быстро и легко и легко.
- Простота в использовании: Графен помогает вам использовать GraphQL в Python без усилий.
- Реле: Графен построил в поддержку реле.
- Данные агностики: Графен поддерживает любой вид источника данных: SQL (Django, SQLAlchemy), NOSQL, пользовательские объекты Python и т. Д. Мы считаем, что, предоставив полный API, вы можете подключить графен где угодно свои данные, и сделайте ваши данные доступными через GraphQL.
Интеграция
Графен имеет несколько интеграций с различными каркасами:
графен-джанго | Django |
Графена-SQLALCHEY | Sqlalchemy |
графен-gae. | Google App Engine |
Кроме того, графен полностью совместим с …
Графен – библиотека Python для построения схем/типов Graphql Fast и легко.
- Простота в использовании: графен помогает вам использовать GraphQL в Python без усилий.
- Реле: графен встроен в поддержку реле.
- Данные Agnostic: Graphene поддерживает любой вид источника данных: SQL (Django, SQLAlchemy), NoSQL, пользовательские объекты Python и т. Д. Мы полагаем, что, предоставив полный API, вы можете подключить графен где угодно свои данные, и сделать ваши данные доступными через GraphQL.
Интеграция
Графен имеет несколько интеграций с различными каркасами:
- Django – Graphene-Django
- SQLALCHEMY – ГРАФЕНТ-SQLALCHEMY
- Google App Engine – Graphene-Gae
- Peewee – в процессе (проблема отслеживания)
Кроме того, Graphene полностью совместим с SPECKQL SPECT, работая без проблем со всеми клиентами GraphQL, такими как реле, Apollo и GQL.
Установка
Для установки графена просто запустите эту команду в оболочке
pip install "graphene>=2.0"
Примеры
Here is one example for you to get started: class Query(graphene.ObjectType): hello = graphene.String(description='A typical hello world') def resolve_hello(self, info): return 'World' schema = graphene.Schema(query=Query)
Затем запрос графена. Схема так же просто, как:
query = ''' query SayHello { hello } ''' result = schema.execute(query)
Оригинал: “https://dev.to/robmatyszewski/top-3-python-libraries-for-graphql-4d5p”