PyPDF2 開發(fā)者介紹

2023-03-30 15:43 更新

PyPDF2 是一個庫,因此它的用戶是開發(fā)人員。本文檔不是為用戶準備的,而是為那些想在 PyPDF2 上工作的人準備的。

安裝要求

pip install -r requirements/dev.txt

運行測試

請參閱使用 pytest 測試 PyPDF2

示例文件 git 子模塊

擁有子模塊的原因sample-files是我們希望保持 PyPDF2 存儲庫的大小較小,同時我們還希望擁有一個廣泛的測試套件。這兩個目標相互矛盾。

resources文件夾應(yīng)包含一組精選的核心示例,涵蓋我們通常要測試的大多數(shù)情況。這sample-files可能涵蓋更多的邊緣情況,當(dāng)文件大小變大時我們得到的行為,不同的 PDF 制作者。

為了獲取示例文件文件夾,您需要執(zhí)行:

git submodule update --init

工具:git 和預(yù)提交

Git 是用于版本控制的命令行應(yīng)用程序。不會的可以玩ohmygit學(xué)習(xí)一下。

GitHub 是托管 PyPDF2 項目的服務(wù)。雖然 git 是免費和開源的,但 GitHub 是微軟的付費服務(wù)——但在很多情況下是免費的。

pre-commit是一個命令行應(yīng)用程序,它使用 git hooks 來自動執(zhí)行代碼。這使您可以避免樣式問題和其他代碼質(zhì)量問題。當(dāng)你在 PyPDF2 的本地副本中輸入 一次后,它會在你.pre-commit installgit commit

提交信息

擁有清晰的提交信息可以幫助人們快速理解提交的內(nèi)容,而無需實際查看更改。提交消息的第一行用于自動生成 CHANGELOG。因此,格式應(yīng)為:

PREFIX: DESCRIPTION

BODY

可以PREFIX是:

  • BUG: 修復(fù)了一個錯誤??赡艽嬖谝粋€或多個問題。然后寫在BODY:其中 123 是 GitHub 上的問題編號。如果您能在這些情況下編寫回歸測試,那將是絕對令人驚奇的。如果沒有修復(fù),那是一個會失敗的測試。Closes #123

  • ENH: 一個新功能!在正文中描述它的用途。

  • DEP: 棄用 - 將某些內(nèi)容標記為“這將被刪除”或?qū)嶋H刪除它。

  • PI: 性能改進。這也可以減少 PyPDF2 生成的 PDF 文件的文件大小。

  • ROB:穩(wěn)健性變化。更好地處理損壞的 PDF 文件。

  • DOC: 文檔更改。

  • TST: 添加/調(diào)整測試。

  • DEV: 開發(fā)者體驗改進——例如預(yù)提交或設(shè)置 CI

  • MAINT: 很多不同的東西。性能改進肯定是這里最有趣的變化。重構(gòu)也是如此。

  • STY: 風(fēng)格改變。使 PyPDF2 代碼更加一致的東西。通常是一個小的變化。

基準

我們需要關(guān)注性能,因此我們有一些基準。

參見py-pdf.github.io/PyPDF2/dev/bench


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號