PyPDF2 棄用過(guò)程

2023-03-30 16:02 更新

PyPDF2 努力成為當(dāng)前用戶(hù)和新用戶(hù)的優(yōu)秀圖書(shū)館。我們謹(jǐn)慎地引入潛在的重大變化,但如果它們從長(zhǎng)遠(yuǎn)來(lái)看能為社區(qū)提供價(jià)值,我們就會(huì)這樣做。

我們希望并認(rèn)為棄用不會(huì)很快再次發(fā)生。如果他們這樣做,用戶(hù)可以依賴(lài)以下過(guò)程。

語(yǔ)義版本控制

PyPDF2 使用語(yǔ)義版本控制。如果您想避免破壞性更改,請(qǐng)使用依賴(lài)固定(也稱(chēng)為版本固定)。在 Python 中,這是通過(guò)在文件中指定要使用的確切版本來(lái)完成的 requirements.txt??梢灾С帜墓ぞ?code>pip-compile來(lái)自 pip-tools.

如果您使用的是Poetry,則文件已完成 poetry.lock。

PyPDF2 如何棄用功能

假設(shè) PyPDF2 的當(dāng)前版本是x.y.z. 經(jīng)過(guò)討論(例如通過(guò) GitHub 問(wèn)題),我們決定刪除一個(gè)類(lèi)/函數(shù)/方法。這是我們的做法:

  1. x.y.(z+1): 添加棄用警告。如果有替換,也會(huì)引入替換,并且警告會(huì)告知更改及其發(fā)生的時(shí)間。這些文檔讓用戶(hù)了解棄用、棄用的時(shí)間和新功能。CHANGELOG 通知它。

  2. (x+1).0.0:通過(guò)將 DeprecationWarnings 替換為 DeprecationErrors,以破壞性方式刪除/更改代碼。我們這樣做是為了幫助那些以前沒(méi)有看過(guò)警告的人。CHANGELOG 通知它。

  3. (x+2).0.0:刪除了 DeprecationErrors。

這意味著用戶(hù)在 CHANGELOG 中有 3 個(gè)警告,一個(gè) DeprecationWarning 直到下一個(gè)主要版本,一個(gè) DeprecationError 直到那個(gè)之后的主要版本。

請(qǐng)注意,添加警告對(duì)于某些用戶(hù)來(lái)說(shuō)可能是一項(xiàng)重大更改;很可能只是在 CI 中。這意味著需要對(duì)其進(jìn)行適當(dāng)記錄。


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)