不得不知的几个Python开源项目
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。
更健壮的系统。分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整