SciPy 貢獻者指南#
本指南旨在協助您在閱讀過「貢獻方式」或「貢獻者快速入門指南」中的介紹性資料後,快速找到您需要的關於 SciPy 開發的資訊。
您也可以觀看「SciPy 開發工作流程」影片,這是一個五分鐘的影片範例,說明如何修正錯誤並提交 pull request(請注意:此影片來自 2018 年,因此現在的建置步驟有所不同 - 但整體工作流程仍然相同)。
從原始碼建置 - 如何設定開發環境,包括安裝編譯器和 SciPy 相依性、在 GitHub 上複製 SciPy 儲存庫並更新 git 子模組,以及使用
dev.py
介面來建置和執行測試。編輯 SciPy - 如何編輯 SciPy Python 程式碼,並提供關於尋找哪個模組包含要編輯的 SciPy 功能、將新模組新增至 SciPy 以及遵守 PEP8 風格標準的提示
測試 - 如何使用 pytest 框架為 SciPy 撰寫和執行單元測試
文件 - 如何撰寫符合 docstring 標準的 reStructuredText 文件、使用 Sphinx 在本機建置文件,以及檢視在持續整合檢查期間建置的文件
效能評測 - 如何使用 airspeed velocity 對程式碼進行效能評測
編譯後的程式碼 - 如何將快速的編譯後程式碼新增至 SciPy
持續整合 - 我們的持續整合系統如何運作以及如何偵錯您的 PR
編輯 SciPy#
開發工作流程 說明在您的開發環境設定完成後該做什麼
PEP8 和 SciPy 提供了一些確保您的程式碼符合 PEP8 標準的提示
Git for development 是使用
git
的指南,git 是一個分散式版本控制系統,用於管理來自世界各地對 SciPy 程式碼所做的變更SciPy API 包含一些關於 SciPy 程式碼如何組織的重要注意事項,並記錄了 SciPy API 的結構;如果您要匯入其他 SciPy 程式碼,請先閱讀此內容
審查 Pull Requests 說明如何在本地審查其他作者的 SciPy 程式碼
Issue 分類和管理 說明如何管理 issue 和 PR,以及 GitHub 團隊權限如何適用於 SciPy
新增方法、函數和類別 包含關於如何新增方法、函數和類別的資訊
SciPy 核心開發者指南 包含背景資訊,包括如何做出決策以及如何準備發行版本;它主要針對 核心開發人員,但也包含對所有貢獻者有用的資訊
程式碼和文件風格指南 - 遺失的部分 - 程式碼和文件風格指南
測試#
測試指南 是撰寫 NumPy 或 SciPy 程式碼單元測試的權威指南(NumPy 文件的一部分)
在本機執行 SciPy 測試 記錄了
dev.py test
,這個指令用於在本機建置 SciPy 並執行測試
文件#
文件風格 包含您需要了解的關於撰寫 docstring 的所有內容,這些 docstring 會被渲染以使用 Sphinx 產生 HTML 文件(NumPy 文件的一部分)
貢獻 SciPy 文件 包含關於如何貢獻 SciPy 文件的資訊
使用 Sphinx 在本機渲染文件 在合併 PR 之前檢查文件變更的渲染效果非常重要;本文說明如何做到這一點
效能評測#
使用 airspeed velocity 評測 SciPy 效能 說明如何使用 airspeed velocity 將效能評測新增至 SciPy
編譯後的程式碼#
將 Cython 新增至 SciPy 使用 Cython 擴充和編譯 Python 程式碼可以顯著提高其效能;本文可協助您入門
超越 Python 討論在 SciPy 中使用 C、C++ 和 Fortran 程式碼
公開 Cython API 關於公開公開 Cython API 的指南