使用 Grayskull 向 conda-forge 貢獻套件
當向 conda-forge 貢獻套件時,Grayskull 可以讓您的生活更輕鬆。Grayskull 為 PyPI 上託管的 Python 套件產生配方。
如同 Grayskull 的簡介所述:「此專案的主要目標是為 conda-forge 產生簡潔的配方。」在本教學中,我們將學習如何使用 Grayskull 產生配方,以向 conda-forge 頻道貢獻 Python 套件。
讓我們開始吧。
-
透過
conda-forge
頻道使用conda
安裝grayskull
$ conda install -c conda-forge grayskull
-
從 GitHub Fork 並 clone conda-forge staged-recipes 儲存庫。
-
從
master branch
Checkout 新分支。 -
透過命令列介面,cd 進入 'staged-recipes/recipes' 目錄。
-
呼叫
grayskull
並傳遞pypi
儲存庫,後接您要貢獻給 conda-forge 的套件名稱。例如:grayskull pypi abc
或者您可以使用
grayskull pypi abc --strict-conda-forge
來移除一些對於 conda-forge 不是必要的選擇器,並調整配方以更符合 conda-forge 生態系統。Grayskull 將在 'staged-recipes' 目錄的 'recipes' 資料夾中建立一個與套件同名的資料夾(在此範例中:'abc')。此資料夾將包含
meta.yaml
檔案,以及套件在 PyPI 發行版本中包含授權時的授權檔案。 -
瀏覽產生的
meta.yaml
檔案。對於較簡單的套件,產生的配方幾乎完美,但對於某些套件,您可能需要進行某些調整。 -
Commit 並推送變更。
git add recipe/abc/meta.yaml
git commit -m "新增 commit 訊息"
git push
-
建立 PR。
-
一旦 CI 通過,發布評論說:
This is ready for review
@conda-forge-admin, please ping team
一旦 PR 被合併,您的套件將在 conda-forge 頻道上可用。噠啦!就這麼簡單。