Присоединяйтесь к сообществу в Discord
Мы ищем соавторов ! Пожалуйста, проверьте текущие проблемы, чтобы узнать, как вы можете помочь ❤️
Graphene — это авторитетная библиотека Python для быстрого и простого создания схем/типов GraphQL.
Graphene имеет множество интеграций с различными фреймворками:
интеграция | Упаковка |
---|---|
SQLАлхимия | графен-sqlалхимия |
Монго | графен-монго |
Федерация Аполлона | графен-федерация |
Джанго | графен-джанго |
Кроме того, Graphene полностью совместим со спецификацией GraphQL и без проблем работает со всеми клиентами GraphQL, такими как Relay, Apollo и gql.
Чтобы установить graphene
, просто запустите эту команду в своей оболочке
pip install " graphene>=3.1 "
Вот один пример для начала:
import graphene
class Query ( graphene . ObjectType ):
hello = graphene . String ( description = 'A typical hello world' )
def resolve_hello ( self , info ):
return 'World'
schema = graphene . Schema ( query = Query )
Тогда запрос graphene.Schema
так же прост, как:
query = '''
query SayHello {
hello
}
'''
result = schema . execute ( query )
Если вы хотите узнать еще больше, вы также можете проверить следующие примеры:
Документация и ссылки на дополнительные ресурсы доступны по адресу https://docs.graphene-python.org/en/latest/.
После клонирования этого репозитория создайте virtualenv и убедитесь, что зависимости установлены, запустив:
virtualenv venv
source venv/bin/activate
pip install -e " .[test] "
Для этого проекта важны хорошо написанные тесты и поддержание хорошего тестового покрытия. Во время разработки запускайте новые и существующие тесты с помощью:
pytest graphene/relay/tests/test_node.py # Single file
pytest graphene/relay # All tests in directory
Добавьте флаг -s
, если вы ввели в код точки останова для отладки. Добавьте флаг -v
(«подробный»), чтобы получить более подробные выходные данные теста. Для еще более подробного вывода используйте -vv
. Ознакомьтесь с документацией pytest, чтобы узнать больше о параметрах и протестировать элементы управления.
Регулярно проверяйте, чтобы ваши перехватчики pre-commit
были обновлены и включены:
pre-commit install
Вы также можете запустить тесты с помощью:
pytest graphene --benchmark-only
Graphene поддерживает несколько версий Python. Чтобы убедиться, что изменения не нарушают совместимость ни с одной из этих версий, мы используем tox
для создания виртуальных окружений для каждой версии Python и запускаем тесты с этой версией. Чтобы запустить все версии Python, определенные в файле конфигурации tox.ini
, просто запустите:
tox
Если вы хотите запустить конкретную версию, определенную в файле tox.ini
:
tox -e py39
Tox может использовать только те версии Python, которые установлены в вашей системе. Когда вы создаете запрос на включение, конвейеры GitHub Actions также будут выполнять те же тесты и сообщать о результатах, поэтому потенциальным участникам не нужно заранее пытаться установить каждую версию Python в своей системе. Мы ценим открытие проблем и запросы на включение, чтобы сделать графен еще более стабильным и полезным!
Документация создается с использованием превосходного Sphinx и специальной темы.
HTML-версия документации создается путем запуска:
make docs