เข้าร่วมชุมชนบน Discord
เรากำลังมองหาผู้มีส่วนร่วม ! โปรดตรวจสอบปัญหาปัจจุบันเพื่อดูว่าคุณสามารถช่วยเหลือได้อย่างไร ❤️
Graphene เป็นไลบรารี Python สำหรับการสร้างสคีมา/ประเภท GraphQL อย่างรวดเร็วและง่ายดาย
Graphene มีการบูรณาการหลายอย่างกับเฟรมเวิร์กที่แตกต่างกัน:
บูรณาการ | บรรจุุภัณฑ์ |
---|---|
SQLAlchemy | กราฟีน-sqlalchemy |
มองโก | กราฟีน-mongo |
สหพันธ์อพอลโล | สหพันธ์กราฟีน |
จังโก้ | กราฟีน-django |
นอกจากนี้ 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/
หลังจากการโคลน repo นี้ ให้สร้าง 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
("verbose") เพื่อรับผลการทดสอบที่มีรายละเอียดมากขึ้น หากต้องการเอาต์พุตที่มีรายละเอียดมากขึ้น ให้ใช้ -vv
ตรวจสอบเอกสาร pytest สำหรับตัวเลือกเพิ่มเติมและทดสอบการควบคุมการทำงาน
ตรวจสอบให้แน่ใจว่า hooks pre-commit
ของคุณเป็นปัจจุบันและเปิดใช้งานอยู่เป็นประจำ:
pre-commit install
คุณยังสามารถรันการวัดประสิทธิภาพด้วย:
pytest graphene --benchmark-only
Graphene รองรับ Python หลายเวอร์ชัน เพื่อให้แน่ใจว่าการเปลี่ยนแปลงจะไม่ทำลายความเข้ากันได้กับเวอร์ชันใดๆ เหล่านั้น เราจะใช้ tox
เพื่อสร้าง virtualenvs สำหรับ Python แต่ละเวอร์ชัน และทำการทดสอบกับเวอร์ชันนั้น หากต้องการรันกับเวอร์ชัน Python ทั้งหมดที่กำหนดไว้ในไฟล์กำหนดค่า tox.ini
เพียงเรียกใช้:
tox
หากคุณต้องการรันกับเวอร์ชันเฉพาะที่กำหนดไว้ในไฟล์ tox.ini
:
tox -e py39
Tox สามารถใช้ Python เวอร์ชันใดก็ได้ที่ติดตั้งบนระบบของคุณเท่านั้น เมื่อคุณสร้างคำขอดึง ไปป์ไลน์ GitHub Actions จะทำการทดสอบเดียวกันและรายงานผลลัพธ์ด้วย ดังนั้นจึงไม่มีความจำเป็นที่ผู้มีส่วนร่วมจะต้องพยายามติดตั้ง Python ทุกเวอร์ชันบนระบบของตนเองล่วงหน้า เราขอขอบคุณที่เปิดประเด็นและดึงคำขอเพื่อทำให้กราฟีนมีเสถียรภาพและมีประโยชน์มากยิ่งขึ้น!
เอกสารถูกสร้างขึ้นโดยใช้สฟิงซ์ที่ยอดเยี่ยมและธีมที่กำหนดเอง
เอกสารเวอร์ชัน HTML ถูกสร้างขึ้นโดยการรัน:
make docs