github托管python包的帮助程序

github-tools的Python项目详细描述


github的特点是git存储库托管,git标记的下载页面 (或任何存档)、基本问题跟踪程序、wiki和静态页面宿主 (gh-pages)。它将是一个完美的主办 python包及其文档如果gh页面易于设置和 与Sphinx兼容。

为gh页面设置根分支相当复杂;sphinx将其 名为“静态”和“源”的目录中的源文件和静态文件 GH页面不想为他们服务。

狮身人面像扩展(github.tools.sphinx)更正了最后一个问题; 一些铺路机任务(github.tools.task.*)负责创建git 子模块以承载生成的html文档;pastescript模板 创建基本布局和pavement.py脚本开始。

要求

此扩展及其依赖项需要:

  • a GitHub user account and,
  • Git (tested with 1.6.2.4),
  • Python 2.5+.

它目前只在Ubuntu8.04上测试过(以及从源代码构建的Git) 使用Python2.5。

它应该在OSX上工作。对于Windows,它应该在 GitPython可以。但是自从它 只需启动git子进程即可工作,使用 Git安装程序,如msysgitgitextensions

安装

获得github工具的最简单方法是安装setuptools:

easy_install github-tools

如果没有安装工具,请从 Pypi或来自 Github,解开它 然后运行:

python setup.py install

当前的开发版本可以在 http://github.com/dinoboff/github-tools/tarball/master

用法

包装布局

如果您是从头开始,请使用粘贴器创建基本布局:

paster create -t gh_package <project name>

项目名称将用于pypi和github存储库 (http://github.com/<user>/<project name>)。

要完成开发环境设置,请创建一个虚拟环境 并以开发模式部署包:

cd <project name>
python bootstrap.py --no-site-packages

基本包附带一个virtualenv boostrap脚本 创建一个独立的python环境。激活此环境 在您的壳中,运行:

source ./virtual-env/bin/activate
# or .\virtual-env\Scripts\activate.bat on windows

最后:

paver generate_setup minilib develop.

摊铺机将setup.py文件添加到包和便携式摊铺机库中 (由setup.py要求),并以开发模式部署应用程序; 包含包的“src”文件夹被添加到python路径中。

setup.py不包含太多内容。所有setup()参数都设置在 pavement.py。所有distutils和setuptools任务都可与paver一起使用 而且很容易扩展或添加自己的命令(请参见 paver documentation 更多细节)。

您已经准备好编写包(在src/中)及其文档 (在docs/source中)。您现在应该开始跟踪您的项目:

git init
git add .
git commit -m "initial import"

github项目创建

当你准备好分享你的工作时,你需要 在github创建一个存储库并推送本地存储库。摊铺机能做到 为你。paver需要您的github用户名和令牌来创建 储存库。您可以使用以下命令设置它们:

git config --global github.user <user>
git config --global github.token <token>

你可以在你的 Github account page

然后,创建存储库并上载项目:

paver gh_register

文件托管

创建项目后,您可以创建gh pages分支 并上传到github:

paver gh_pages_create gh_pages_build

paver将在docs/build/html创建项目的子模块, 创建一个gh pages根分支并将该分支推送到项目中。 然后构建html文档。要清除html构建文件夹,它将更新 子模块(您将丢失未提交和推送的更改)。 删除所有文件和目录(除了.git/) 重建文档。

当您的文档可以发布时,只需推送您的gh pages子模块 到github:

paver gh_pages_build gh_pages_update -m "update docs with..."

您的文档应该是可用的 在http://<username>.github.com/<project name>处。

您可能还需要更新子模块引用(子模块点 在远程存储库上进行特定的提交,而不是向头部提交 特定分支的:

git add docs/build/html
git commit -m "update gh-pages submodule"

帮助和发展

如果你想帮忙的话,你可以分钱做这个项目 在http://github.com/dinoboff/github-tools/报告任何错误 在http://github.com/dinoboff/github-tools/issues

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用ObjectOutput/InputStream从自定义位置读/写   Java队列数组只打印出打印方法中for循环中的最后一个元素   java如何使用searchManager搜索和筛选listview   java ValueAnimator更改背景颜色   java什么是AOSP工具链?   序列化Java/Serializable仅覆盖已更改的对象   java Android单例类仅在第二次刷新时更新   将文本追加到JTextPane时,JTextPane的java滚动条不可见   java行为和繁忙指示器   javaspring,Thymeleaf和CSS如何给错误着色   java如何在两个测试类之间共享外部资源?   java Druid longSum度量未填充   按下按钮时,java列表不会显示(+字符串参数“流派”不存在)   java在Hibernate中如何延迟加载子记录?   java为对象提供随机统计信息   java如何使用GWT编辑器框架编辑多值字段?