1. 程式人生 > >如果你喜歡Python 那麼你不得不知的幾個開源專案

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

1.Trac


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

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

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

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



 
 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按照不同的顏色顯示,或者是否粗體。


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

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

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



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

  • 完全使用檔案來儲存內容,不使用資料庫
  • 實現了全部Wiki規範,Unicode 編碼支援多語種


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

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


CNProg 是一個面向中國程式設計師的免費技術問答社群 。它是一個介於論壇、部落格、維基和Digg之間的社群系統,基 於Python和Django開發。

如果你想學習Django程式設計的,這個專案可以作為一個範例進行閱讀的.

轉自:http://lukejin.iteye.com/blog/608230