Bergabunglah dengan komunitas di Discord
Kami sedang mencari kontributor ! Silakan periksa masalah saat ini untuk melihat bagaimana Anda dapat membantu ❤️
Graphene adalah pustaka Python yang berpendirian keras untuk membangun skema/tipe GraphQL dengan cepat dan mudah.
Graphene memiliki banyak integrasi dengan kerangka kerja berbeda:
integrasi | Kemasan |
---|---|
SQLAlkimia | graphene-sqlalkimia |
mongo | graphene-mongo |
Federasi Apollo | federasi graphene |
Django | graphene-django |
Selain itu, Graphene sepenuhnya kompatibel dengan spesifikasi GraphQL, bekerja secara lancar dengan semua klien GraphQL, seperti Relay, Apollo, dan gql.
Untuk menginstal graphene
, jalankan saja perintah ini di shell Anda
pip install " graphene>=3.1 "
Berikut ini salah satu contoh bagi Anda untuk memulai:
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 )
Kemudian Mengkueri graphene.Schema
sesederhana:
query = '''
query SayHello {
hello
}
'''
result = schema . execute ( query )
Jika Anda ingin mempelajari lebih lanjut, Anda juga dapat memeriksa contoh berikut:
Dokumentasi dan tautan ke sumber daya tambahan tersedia di https://docs.graphene-python.org/en/latest/
Setelah mengkloning repo ini, buat virtualenv dan pastikan dependensi diinstal dengan menjalankan:
virtualenv venv
source venv/bin/activate
pip install -e " .[test] "
Tes yang ditulis dengan baik dan mempertahankan cakupan tes yang baik adalah penting untuk proyek ini. Saat mengembangkan, jalankan pengujian baru dan yang sudah ada dengan:
pytest graphene/relay/tests/test_node.py # Single file
pytest graphene/relay # All tests in directory
Tambahkan tanda -s
jika Anda telah memasukkan breakpoint ke dalam kode untuk debugging. Tambahkan tanda -v
("verbose") untuk mendapatkan hasil pengujian yang lebih detail. Untuk keluaran yang lebih detail, gunakan -vv
. Lihat dokumentasi pytest untuk opsi lebih lanjut dan uji kontrol yang berjalan.
Pastikan hook pre-commit
Anda diperbarui dan diaktifkan secara berkala:
pre-commit install
Anda juga dapat menjalankan benchmark dengan:
pytest graphene --benchmark-only
Graphene mendukung beberapa versi Python. Untuk memastikan bahwa perubahan tidak merusak kompatibilitas dengan versi mana pun, kami menggunakan tox
untuk membuat virtualenvs untuk setiap versi Python dan menjalankan pengujian dengan versi tersebut. Untuk menjalankan semua versi Python yang ditentukan dalam file konfigurasi tox.ini
, jalankan saja:
tox
Jika Anda ingin menjalankan versi tertentu yang ditentukan dalam file tox.ini
:
tox -e py39
Tox hanya dapat menggunakan versi Python apa pun yang diinstal di sistem Anda. Saat Anda membuat permintaan tarik, pipeline GitHub Actions juga akan menjalankan pengujian yang sama dan melaporkan hasilnya, sehingga calon kontributor tidak perlu mencoba menginstal setiap versi Python di sistem mereka sendiri terlebih dahulu. Kami menghargai masalah pembukaan dan permintaan tarik untuk membuat graphene lebih stabil & berguna!
Dokumentasi dibuat menggunakan Sphinx yang luar biasa dan tema khusus.
Dokumentasi versi HTML dihasilkan dengan menjalankan:
make docs