以公司为中心的打包和测试库
pkglib的Python项目详细描述
pkglib:以公司为中心的python打包和测试库
本图书馆的目标是提供 python开发公司使用python启动和运行的一站式服务 在linux开发环境中尽量减少麻烦。
此库有三个主要组件:
- pkglib:一组扩展到多个主 在python-distribute、pip和zc.buildout中打包工具集。
- pkglib.testing:一套测试实用程序来帮助处理 服务、数据库、web驱动程序和覆盖范围等等 作为一些有用的py.test插件。
- pkglib.project_template:用于生成包的pastescript模板 与pkglib 集成的
文档
以下是我在2013年欧洲杯上的幻灯片 http://github.com/eeaston/pkglib-docs,api文档发布在 https://readthedocs.org/projects/pkglib。
标题功能
pkglib
- 包元数据全部来自文本文件setup.cfg,使其更容易 通过其他相关工具解析包配置。
- 高级依赖关系管理:
- 允许配置处理的内部公司包 不同于第三方库。
- 回溯依赖分解器解决“钻石问题” 复杂依赖图的版本解析。
- 了解“dev”和“release”版本流,允许用户 在任一模式下操作。
- 从当前的virtualenv可视化依赖关系图的工具。
- 改进了pypi交互,提示用户凭据并引发正确的 Unix返回错误代码。
- 安装程序搜索路径支持,允许鸡蛋链接到virtualenvs 从共享磁盘,在中处理共享文件系统时的一个重要功能 大型团队。
- 保持整洁-从virtualenv中清除未使用的包 站点包目录。
- py.test与python setup.py test:
- 集成
- 为代码覆盖率和质量分析的合理默认值配置
- 在jenkins和hudson下运行时检测,切换到基于文件的 报告和更改临时文件创建。
- 用于管理软件“平台”的命令行工具 当释放大量相互依赖的包时为单个包 一起。
- 按名称而不是按名称从内部存储库签出和设置包 网址。
- 无数强大的setup.py目标:
- 使用 斯芬克斯。
使用GCOV运行测试,以允许收集C/C++扩展的代码覆盖率。 - 使用VCS和PYPI同步签出和库
- 创建jenkins/hudson构建。
- 为构建系统生成与修订相关的开发鸡蛋。
- 生成只测试的鸡蛋来捕获测试代码和运行时选项。
- 将包部署到版本化的Virtualenvs。
pkglib.测试
- 带有相关py.test fixture插件的实用程序:
- 剖析代码执行,包括C/C++扩展< /LI>
- 管理临时目录
- 创建virutalenvs
- 正在创建pkglib启用的包
- 以端口安全的方式运行服务器实例,包括保存、还原和 泪流满面。
- 支持的服务器包括jenkins、redis、mongodb、pyramid和(todo)a 最小的pypi实现。
- Selenium Webdriver,与金字塔服务器运行器插件集成。
- 页面对象模式实现,用于更好的结构化硒测试。
- 为数据库和其他常见类型模拟实现。
路线图
- 完全支持Git和Mercurial。
- 操作系统X支架
- Python2.4->;3.x对核心distlib功能的支持。
- 升级到最新版本的distribute,并使项目与 python打包领域的最新进展,如distlib。
- 添加对Wheel二进制分发格式的支持。
贡献者
- 爱德华伊斯顿(eeaston@gmail.com)
- 大卫·莫斯(drkjam@gmail.com)
- 特里·桑特戈埃德斯
- Ed Catmur(ed@catmur.co.uk)
- 本·沃尔什
- 蒂姆·库珀(drtimcouper@gmail.com)
- 内海(me@inti.co)
- 安德鲁·伯罗斯
- 詹姆斯·布莱克本
- 斯泰潘·科列斯尼克(wigbam@yahoo.co.uk)
- 奥辛·穆尔维希尔(oisin.mulvihill@gmail.com)