跳转到主要内容

为mr.bob提供的Python项目引导:常规Python发行版、buildout和mr.bob模板

项目描述

bobtemplates.gillux 将节省您在创建新的Python包时数小时的重复和繁琐的任务时间,它提供了一些针对 mr.bob 的模板。

如果您需要在此之后自定义 bobtemplates.gillux,请仔细阅读 mr.bob用户文档

如果您喜欢 bobtemplates.gillux,您可以在 Github上开始

安装

pip install bobtemplates.gillux

关于模板

bobtempaltes.gillux 提供以下模板

nspackage

带有或不带有命名空间的常规Python包引导,任何级别都有许多好东西。

buildout

一个简单的基于zc.buildout的项目引导

mybobtemplate

在几秒钟内(或更长)创建您自己的 bobtemplate.yourname 引导。

nspackage

用法

mrbob [options] bobtemplates.gillux:nspackage

带有以下功能的常规Python包引导

  • 您想要的任何命名空间级别,甚至没有也可以。这通过您在向导中提供的名称来检测。

  • 针对Python 2.4到2.7和3.x的代码

两个可选功能

  • 带有 nosecoverage 的测试。使用 nosetests 运行它们。在生成的 setup.cfg 中调整您的选项。默认情况下,测试将自动“发现”(Python 2.7或3.3 unittest),或对于其他Python版本使用 unittest2

  • 这是一个Sphinx文档框架。使用python setup.py build_sphinx构建HTML文档。可选地,doctest文件可以自动包含在文档中。

包文件概要(可能根据选项而变化)

src/<your>/<package>/  # Your package source skeleton
doc/                  # Sphinx source tree skeleton
tests/                 # Test module skeleton with nose goodies
setup.py               # Usual setup script
setup.cfg
README.rst
MANIFEST.in

然后使用grep - 和可选地修复结果文件树中出现的FIXME:,这些是使用mr.bob常规功能难以轻松修复的额外内容。

阅读您新创建的包中的生成README.rst以获取更多有关您获得的内容的信息。

nspackage向导问题

您的全名?

您的全名(例如“John Doe”)

您的简称?

您的简称(例如“jdoe”)。通常您的PyPI或Github登录名是个好主意。

您的电子邮件地址?

此电子邮件地址将不会出现在此发行版的PyPI页面上。

发行版名称?

将要用于pip安装的发行版名称。例如pip install (此名称)。请确保它尚未被PyPI已知的50000多个包中的任何一个使用。

包名 - 是否带有命名空间(“foo.bar.baz”)或不带有(“foo”)?

Python中您的包的名称,例如在“导入foo.bar.baz”中。命名空间包将自动检测包目录树的结构和在setup.py中的注册。

包描述?

这将作为此发行版PyPI页面的副标题和在包列表中的内容。

组织?

拥有包版权的团队或公司。

Shell命令(如果不需要,请留空)?

安装此包将添加此命令到您的系统或激活的虚拟环境中。

此命令将在您使用python setup.py develop安装新包或使用pip install ...安装已发布的包后可用。该命令将执行yourpackage.__main__.main函数,带有预配置的argparselogging设置。

使用nose测试[true|false]?

如果您是nosetests爱好者,否则测试布局将使用Python现在经典的自发现功能unittestunittest2(适用于较旧版本的Python)。

在Sphinx文档中包含doctest文件[true|false]?

大型Python项目应具有Sphinx文档。此选项提供在docs目录中的Sphinx布局,适用于您的项目。您只需输入python setup.py build_sphinx来构建HTML文档。

在Sphinx文档中包含doctest文件[true|false]?

所有您的doctest文件(tests/test_*.txt)的副本将包含在Sphinx文档中。当然,如果之前的答案为false,则不会出现此问题。

您计划使用哪种SCM[git|hg|bzr|none]?

我们提供了一些Git、Mercurial和Bazaar的cookie,形式为.gitignore或适合SCM的排除文件。

TODO

  • 提供six支持选项

  • 源树内的测试(在src/<your>/<package>/tests)或在包根目录。有时我们更喜欢将测试包含在源发行版中,有时(例如大量测试数据)我们更喜欢保持源发行版小巧。

buildout

用法

mrbob [options] bobtemplates.gillux:buildout

这提供了一个基于zc.buildout的最小项目,包括bootstrap.py文件和buildout.cfg文件。处理zc.buildout 1.x和2.x版本之间的差异。

mybobtemplate

用法

mrbob [options] bobtemplates.gillux:mybobtemplate

在几分钟内制作自己的bobtemplate.yourname包框架。这意味着您可以在几秒钟内拥有类似bobtemplates.gillux的包框架。

您只需将模板的内容添加到mr.bob用户文档中所述的内容

变更日志

1.3.0 (2015-06-28)

  • doc: 移除了关于pip错误的警告,现在已修复。[glenfant]

  • nspackage: 添加了控制台命令选项。[glenfant]

  • nspackage: 当适用时,用发行版名称替换包名称。

  • nspackage: 将“docs/”重命名为更常见的“doc/” [glenfant]

1.2.0 (2015-04-07)

  • nspackage: 添加了“run_tests.py”测试运行器命令 [glenfant]

  • nspackage: 在README.rst中有详尽的文档。[glenfant]

  • nspackage: 使用1.3.1默认值构建的Sphinx骨架 [glenfant]

  • nspackage: 兼容PEP 440的初始版本。[glenfant]

  • nspackage: 在API章节中添加了Sphinx autodoc演示。[glenfant]

  • all: 使用新的“code”reStructuredText指令。[glenfant]

1.1.0 (2014-06-18)

  • nspackage: 发行版名称和包(Python)名称可以不同。[glenfant]

  • nspackage: 使用nosetests + coverage是可选的 [glenfant]

  • nspackage: Sphinx文档骨架是可选的 [glenfant]

1.0.0 (2014-01-03)

  • 为新的bobtemplates.xxx包骨架添加了“mybobtemplate”模板。[glenfant]

  • 为“buildout”模板添加了.git、.bzr和.hg的.ignore文件。[glenfant]

  • setuptools/distribute不允许我们分发空目录。因此,我们需要在一些目录中放置一个标记文件然后删除它们。[glenfant]

1.0.0b1 (2013-02-17)

  • Python 3支持(alpha)。请反馈 [glenfant]

  • 添加了“buildout”模板,一个最小的zc.buildout项目引导。[glenfant]

  • 为git、bzr和mercurial添加了.ignore文件 [glenfant]

  • 经历include_package_data、package_data和MANIFEST.in的奇怪之处。这个setuptools / distribute特性真的很糟糕 [glenfant]

1.0.0a2 (2013-02-10)

1.0.0a1 (2013-02-10)

  • 第一个公开版本 [glenfant]

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

bobtemplates.gillux-1.3.0.tar.gz (22.3 kB 查看哈希值)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面