Junte-se à comunidade no Discord
Estamos em busca de colaboradores ! Verifique os problemas atuais para ver como você pode ajudar ❤️
Graphene é uma biblioteca Python opinativa para construir esquemas/tipos GraphQL de forma rápida e fácil.
O Graphene tem múltiplas integrações com diferentes frameworks:
integração | Pacote |
---|---|
SQLAlquimia | grafeno-sqlalchemy |
Mongo | grafeno-mongo |
Federação Apolo | federação de grafeno |
Django | grafeno-django |
Além disso, o Graphene é totalmente compatível com as especificações GraphQL, funcionando perfeitamente com todos os clientes GraphQL, como Relay, Apollo e gql.
Para instalar graphene
, basta executar este comando em seu shell
pip install " graphene>=3.1 "
Aqui está um exemplo para você começar:
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 )
Então consultar graphene.Schema
é tão simples quanto:
query = '''
query SayHello {
hello
}
'''
result = schema . execute ( query )
Se quiser aprender ainda mais, você também pode conferir os seguintes exemplos:
Documentação e links para recursos adicionais estão disponíveis em https://docs.graphene-python.org/en/latest/
Após clonar este repositório, crie um virtualenv e certifique-se de que as dependências estejam instaladas executando:
virtualenv venv
source venv/bin/activate
pip install -e " .[test] "
Testes bem escritos e manutenção de uma boa cobertura de testes são importantes para este projeto. Durante o desenvolvimento, execute testes novos e existentes com:
pytest graphene/relay/tests/test_node.py # Single file
pytest graphene/relay # All tests in directory
Adicione o sinalizador -s
se você introduziu pontos de interrupção no código para depuração. Adicione o sinalizador -v
("verbose") para obter resultados de teste mais detalhados. Para resultados ainda mais detalhados, use -vv
. Confira a documentação do pytest para mais opções e controles de execução de testes.
Certifique-se regularmente de que seus ganchos pre-commit
estejam atualizados e habilitados:
pre-commit install
Você também pode executar os benchmarks com:
pytest graphene --benchmark-only
O Graphene oferece suporte a várias versões do Python. Para garantir que as alterações não prejudiquem a compatibilidade com nenhuma dessas versões, usamos tox
para criar virtualenvs para cada versão do Python e executar testes com essa versão. Para executar todas as versões do Python definidas no arquivo de configuração tox.ini
, basta executar:
tox
Se você deseja executar em uma versão específica definida no arquivo tox.ini
:
tox -e py39
O Tox só pode usar quaisquer versões do Python instaladas em seu sistema. Quando você cria uma solicitação pull, os pipelines do GitHub Actions também executam os mesmos testes e relatam os resultados, portanto, não há necessidade de contribuidores em potencial tentarem instalar cada versão do Python em seu próprio sistema com antecedência. Agradecemos a abertura de problemas e solicitações de pull para tornar o grafeno ainda mais estável e útil!
A documentação é gerada usando o excelente Sphinx e um tema customizado.
Uma versão HTML da documentação é produzida executando:
make docs