加入 Discord 社區
我們正在尋找貢獻者!請查看當前問題以了解如何提供協助❤️
Graphene 是一個固執己見的 Python 函式庫,用於快速輕鬆地建立 GraphQL 模式/類型。
石墨烯與不同框架有多種整合:
一體化 | 包裹 |
---|---|
SQL煉金術 | 石墨烯煉金術 |
蒙戈 | 石墨烯-蒙戈 |
阿波羅聯盟 | 石墨烯聯盟 |
薑戈 | 石墨烯-Django |
此外,Graphene 與 GraphQL 規範完全相容,可與所有 GraphQL 用戶端無縫協作,例如 Relay、Apollo 和 gql。
要安裝graphene
,只需在 shell 中執行此命令
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 版本建立 virtualenv 並使用該版本執行測試。要針對tox.ini
設定檔中定義的所有 Python 版本運行,只需運行:
tox
如果您希望針對tox.ini
檔案中定義的特定版本執行:
tox -e py39
Tox 只能使用系統上安裝的任何版本的 Python。當您建立拉取請求時,GitHub Actions 管道也會執行相同的測試並報告結果,因此潛在貢獻者無需嘗試提前在自己的系統上安裝每個版本的 Python。我們感謝開放問題和拉取請求,以使石墨烯更加穩定和有用!
該文件是使用優秀的 Sphinx 和自訂主題產生的。
透過執行以下命令可產生 HTML 版本的文件:
make docs