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第三方库


热门话题
我可以用C++代码使用java代码吗?   java使用JSR303在派生类中提供更具体的约束   java在这个查找唯一路径数算法中我做错了什么?   java如何为2个不同的服务提供商使用2个不同的SSL证书?   java在Gridview上绘制文本   java使用连接for循环构建字符串名   java StringBuilder拆分无法处理某些文件   java事件关注EditText   Java Web Start“找不到URL的缓存资源”   java程序从命令行运行的速度比在Eclipse中慢   java为什么HttpServletRequest会截断#字符上的url输入?   java自定义折叠工具栏平滑标题大小调整   使用Mockito对安卓 java中调用另一个静态函数的函数进行单元测试   http在java客户机中使用cachecontrol头   java如何使用。是否使用Delimiter从输入文件中排除标点符号和数字?   使用上下文作为参数/参数的java   java更有效地从Jar中提取文件   java为多个JButton提供相同的actionListener