自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何開(kāi)源你的Python庫(kù)

開(kāi)源 后端
你寫(xiě)了一個(gè) Python 庫(kù)。自己覺(jué)著這太棒了!如果讓人們能夠輕松使用它不是很優(yōu)雅么?這有一個(gè)需要考慮的清單,以及在開(kāi)源 Python 庫(kù)時(shí)要采取的具體步驟。

如何開(kāi)源你的 Python 庫(kù)

這 12 個(gè)步驟能確保成功發(fā)布。

你寫(xiě)了一個(gè) Python 庫(kù)。自己覺(jué)著這太棒了!如果讓人們能夠輕松使用它不是很優(yōu)雅么?這有一個(gè)需要考慮的清單,以及在開(kāi)源 Python 庫(kù)時(shí)要采取的具體步驟。

1、源碼

將代碼放在 GitHub 上,這里有很多開(kāi)源項(xiàng)目,并且人們很容易提交拉取請(qǐng)求。

2、許可證

選擇一個(gè)開(kāi)源許可證。一般來(lái)說(shuō) MIT 許可證是一個(gè)挺好的寬容許可證。如果你有特定要求,Creative Common 的選擇許可證可以指導(dǎo)你完成其它選擇。最重要的是,在選擇許可證時(shí)要記住三條規(guī)則:

  • 不要?jiǎng)?chuàng)建自己的許可證。
  • 不要?jiǎng)?chuàng)建自己的許可證。
  • 不要?jiǎng)?chuàng)建自己的許可證。

3、README

將一個(gè)名為 README.rst 的文件(使用 ReStructured Text 格式化)放在項(xiàng)目樹(shù)的頂層。

GitHub 將像 Markdown 一樣渲染 ReStructured Text,而 ReST 在 Python 的文檔生態(tài)系統(tǒng)中的表現(xiàn)更好。

4、測(cè)試

寫(xiě)測(cè)試。這對(duì)你來(lái)說(shuō)沒(méi)有用處。但對(duì)于想要編寫(xiě)避免破壞相關(guān)功能的補(bǔ)丁的人來(lái)說(shuō),它非常有用。

測(cè)試可幫助協(xié)作者進(jìn)行協(xié)作。

通常情況下,如果可以用 pytest 運(yùn)行就***了。還有其他測(cè)試工具 —— 但很少有理由去使用它們。

5、樣式

使用 linter 制定樣式:PyLint、Flake8 或者帶上 --check 的 Black 。除非你使用 Black,否則請(qǐng)確保在一個(gè)文件中指定配置選項(xiàng),并簽入到版本控制系統(tǒng)中。

6、API 文檔

使用 docstrings 來(lái)記錄模塊、函數(shù)、類(lèi)和方法。

你可以使用幾種樣式。我更喜歡 Google 風(fēng)格的 docstrings,但 ReST docstrings 也是一種選擇。

Sphinx 可以同時(shí)處理 Google 風(fēng)格和 ReST 的 docstrings,以將零散的文檔集成為 API 文檔。

7、零散文檔

使用 Sphinx。(閱讀我們這篇文章。)教程很有用,但同樣重要的是要指明這是什么、它有什么好處、它有什么壞處、以及任何特殊的考慮因素。

8、構(gòu)建

使用 tox 或 nox 自動(dòng)運(yùn)行測(cè)試和 linter,并構(gòu)建文檔。這些工具支持“依賴(lài)矩陣”。這些矩陣往往會(huì)快速增長(zhǎng),但你可以嘗試針對(duì)合理的樣本進(jìn)行測(cè)試,例如 Python 版本、依賴(lài)項(xiàng)版本以及可能安裝的可選依賴(lài)項(xiàng)。

9、打包

使用 setuptools 工具。寫(xiě)一個(gè) setup.py 和一個(gè) setup.cfg。如果同時(shí)支持 Python 2 和 3,請(qǐng)?jiān)?setup.cfg 中指定 universal 格式的 wheel。

tox 或 nox 應(yīng)該做的一件事是構(gòu)建 wheel 并對(duì)已安裝的 wheel 進(jìn)行測(cè)試。

避免使用 C 擴(kuò)展。如果出于性能或綁定的原因一定需要它們,請(qǐng)將它們放在單獨(dú)的包中。正確打包 C 擴(kuò)展可以寫(xiě)一篇新的文章。這里有很多問(wèn)題!

10、持續(xù)集成

使用公共持續(xù)工具。TravisCICircleCI 為開(kāi)源項(xiàng)目提供免費(fèi)套餐。將 GitHub 或其他倉(cāng)庫(kù)配置為在合并拉請(qǐng)求之前需要先通過(guò)檢查,那么你就不必?fù)?dān)心在代碼評(píng)審中告知用戶(hù)修復(fù)測(cè)試或樣式。

11、版本

使用 SemVerCalVer。有許多工具可以幫助你管理版本:incremental、bumpversionsetuptools_scm 等都是 PyPI 上的包,都可以幫助你管理版本。

12、發(fā)布

通過(guò)運(yùn)行 tox 或 nox 并使用 twine 將文件上傳到 PyPI 上發(fā)布。你可以通過(guò)在 DevPI 中“測(cè)試上傳”。 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2023-11-13 15:36:24

開(kāi)源數(shù)據(jù)庫(kù)

2022-02-14 20:53:33

開(kāi)源庫(kù)開(kāi)發(fā)代碼

2020-10-14 12:29:51

開(kāi)源圖表 開(kāi)發(fā)

2021-03-16 05:42:39

開(kāi)源工具技術(shù)干貨

2021-07-30 16:42:53

開(kāi)源工具開(kāi)發(fā)

2010-02-24 16:11:42

Python程序庫(kù)

2010-01-19 14:39:42

2024-07-09 08:27:30

2021-11-17 21:58:02

Python編程語(yǔ)言

2016-12-05 17:27:28

Python開(kāi)源

2025-02-26 00:56:24

.Net開(kāi)源項(xiàng)目

2021-01-19 22:27:36

Python編程語(yǔ)言開(kāi)發(fā)

2019-03-10 22:21:47

框架AI開(kāi)發(fā)

2017-02-27 11:06:28

Github開(kāi)源項(xiàng)目

2020-03-30 17:43:13

開(kāi)源開(kāi)源項(xiàng)目編寫(xiě)文檔

2021-04-09 23:11:25

Python程序開(kāi)源

2013-08-09 09:49:19

開(kāi)源怎么開(kāi)源庫(kù)開(kāi)源

2019-02-28 10:37:19

開(kāi)源數(shù)據(jù)庫(kù)Oracle

2020-08-31 08:04:00

Python編程開(kāi)源庫(kù)

2019-04-25 10:44:18

PHP開(kāi)源庫(kù)C 語(yǔ)言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)