寫了一個Python庫。自己覺著這太棒了!如果讓人們能夠輕松使用它不是很優雅么?這有一個需要考慮的清單,以及在開源Python庫時要采取的具體步驟。
1、源碼
將代碼放在GitHub上,這里有很多開源項目,并且人們很容易提交拉取請求。
2、許可證
選擇一個開源許可證。一般來說MIT許可證是一個挺好的寬容許可證。如果你有特定要求,CreativeCommon的選擇許可證可以指導你完成其它選擇。最重要的是,在選擇許可證時要記住三條規則:
不要創建自己的許可證。
不要創建自己的許可證。
不要創建自己的許可證。
3、README
將一個名為README.rst的文件(使用ReStructuredText格式化)放在項目樹的頂層。
GitHub將像Markdown一樣渲染ReStructuredText,而ReST在Python的文檔生態系統中的表現更好。
4、測試
寫測試。這對你來說沒有用處。但對于想要編寫避免破壞相關功能的補丁的人來說,它非常有用。
測試可幫助協作者進行協作。
通常情況下,如果可以用pytest運行就最好了。還有其他測試工具——但很少有理由去使用它們。
5、樣式
使用linter制定樣式:PyLint、Flake8或者帶上--check的Black。除非你使用Black,否則請確保在一個文件中指定配置選項,并簽入到版本控制系統中。
6、API文檔
使用docstrings來記錄模塊、函數、類和方法。
你可以使用幾種樣式。我更喜歡Google風格的docstrings,但ReSTdocstrings也是一種選擇。
Sphinx可以同時處理Google風格和ReST的docstrings,以將零散的文檔集成為API文檔。
7、零散文檔
使用Sphinx。(閱讀我們這篇文章。)教程很有用,但同樣重要的是要指明這是什么、它有什么好處、它有什么壞處、以及任何特殊的考慮因素。
8、構建
使用tox或nox自動運行測試和linter,并構建文檔。這些工具支持“依賴矩陣”。這些矩陣往往會快速增長,但你可以嘗試針對合理的樣本進行測試,例如Python版本、依賴項版本以及可能安裝的可選依賴項。
9、打包
使用setuptools工具。寫一個setup.py和一個setup.cfg。如果同時支持Python2和3,請在setup.cfg中指定universal格式的wheel。
tox或nox應該做的一件事是構建wheel并對已安裝的wheel進行測試。
避免使用C擴展。如果出于性能或綁定的原因一定需要它們,請將它們放在單獨的包中。正確打包C擴展可以寫一篇新的文章。這里有很多問題!
10、持續集成
使用公共持續工具。TravisCI和CircleCI為開源項目提供免費套餐。將GitHub或其他倉庫配置為在合并拉請求之前需要先通過檢查,那么你就不必擔心在代碼評審中告知用戶修復測試或樣式。
11、版本
使用SemVer或CalVer。有許多工具可以幫助你管理版本:incremental、bumpversion和setuptools_scm等都是PyPI上的包,都可以幫助你管理版本。
12、發布
通過運行tox或nox并使用twine將文件上傳到PyPI上發布。你可以通過在DevPI中“測試上傳”。
以上內容為大家介紹了如何開源你的Python庫,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.dietsnews.net/