如果你喜歡Python 那麼你不得不知的幾個開源專案

pythontab發表於2014-10-15

1.Trac

Trac擁有強大的bug管理 功能,並整合了Wiki 用於文件管理。它還支援程式碼管理工具Subversion ,這樣可以在 bug管理和Wiki中方便地參考程式原始碼。

 

Trac有著比較強大的外掛系統,可以透過外掛來實現各種各樣的功能,比如支援Git,或者增加自己的一些語法等等.

 

如果你想了解wiki是如何實現的,或者svn是如何整合的,那麼你可以看看這個專案的原始碼.

 

 

2.Docutils

Docutils專案的主要是為了創造一套將純文字轉換為一些常用格式的工具,這些常用格式包括:HTML、XML和LaTeX。請先了解 reStructuredText 的基礎知識。其比起Docbook或者lex等專業的文字排版工具更顯輕量級和易用.

 

3.Pygments

  Pygments是一個實現的格式化高亮程式碼的Python庫。包含四個模組:

lexer - 將程式碼解析成token流,每個一token都包含兩個屬性,一個是當前token的型別,一個是當前token的值。Pygments支援的語言很多, 具體可以參考附錄A。

lexer - 將程式碼解析成token流,每個一token都包含兩個屬性,一個是當前token的型別,一個是當前token的值。Pygments支援的語言很多, 還可以進行擴充套件。

filters - 透過lexer解析出來的token流送入filter,可以根據條件修改某些token的屬性或者值。

formatter - token流最終輸出是根據formater的定義,輸出成實現定義好的格式,例如HTML, LaTex或者RTF。

style - 定義了輸出的風格,例如不同型別的token按照不同的顏色顯示,或者是否粗體。

4.Sphinx

Sphinx簡單來說,是一個文件生成工具,用於把reStructuredText 格式的原始檔生成諸如HTML, PDF, LaTex一類的格式。編輯者無須親自處理文字的格式, 程式會自動根據原始檔裡的設定產生格式, 以及自動生成章節連結等工作。

和 DocBook一樣,Sphinx可以看做是一個把文字格式處理和文字編輯分開的工具。

 

Python的官方文件便是透過這個工具進行編寫的。

 

5.MoinmoinWiki

 MoinMoin 是一個基於Python環境的wiki引擎程式,支援包括中文在內的多語種特性。

完全使用檔案來儲存內容,不使用資料庫

實現了全部Wiki規範,Unicode 編碼支援多語種

 

6.Mercurial

Mercurial 是一種輕量級分散式版本控制系統(Git也是一種分散式的版本控制系統),採用 Python 語言實現.

更輕鬆的管理。傳統的版本控制系統使用集中式的 repository,一些和 repository相關的管理就只能由管理員一個人進行。由於採用了分散式的模型,Mercurial 中就沒有這樣的困擾,每個使用者管理自己的 repository,管理員只需協調同步這些repository。

更健壯的系統。分散式系統比集中式的單伺服器系統更健壯,單伺服器系統一旦伺服器出現問題整


相關文章