具有高级api的python内置包

ww的Python项目详细描述


http://travis-ci.org/Tygs/ww.svg?branch=masterhttp://coveralls.io/repos/github/Tygs/ww/badge.svg?branch=masterDocumentation StatusVersion published on the Python Package Index
  • 兼容性:cpython 2.7+/3.3+和pypy2的最新稳定版本。
  • 平台:不可知论。但目前只在gnu/linux上测试过。
  • 版本:0.2
  • Documentation

使用安装:

pip install ww

希望你能…

懒洋洋地切发电机?

>>> from ww import g
>>> gen = g(x * x for x in range(100))
>>> gen
<IterableWrapper generator>
>>> for element in g(x * x for x in range(100))[3: 6]:
...     print(element)
...
9
16
25

添加词典?

>>> from ww import d
>>> dic = d({'a': 1})
>>> dic
{'a': 1}
>>>  dic + {'b': 2}
{'b': 2, 'a': 1}

在列表中有一个len属性?

>>> from ww import l
>>> lst = l([1, 2, 3])
>>> lst
[1, 2, 3]
>>> lst.len
3

join()来自元组?

>>> from ww import t
>>> tpl = t((1, 2, 3))
>>> tpl
(1, 2, 3)
>>> tpl.join(',')  # oh, it also autocasts to string. And its configurable.
u'1,2,3'

replace()字符串中同时有多个字符?

>>> from ww import s
>>> string = s('fizz buzz')
>>> string  # strings try very hard to be consistent on Python 2 and 3
u'fizz buzz'
>>> string.replace(('i', 'u'), 'o')  # the original signature is ok too
u'fozz bozz'

还有很多,很多,更多的好东西。

警告

该软件目前处于早期阶段。只考虑s()和g() 有据可查,经得起考验,就连他们也应该得到更多的爱。 你还会遇到一些空文件,以备将来参考。

在同事们的迫切要求下,我们决定提前发布 渴望尝试,但它不是最终产品。质量在路上。

另外,我们将中断api,直到达到1.0,然后从中切换 以确保API的安全。

开发

你可以用你对WW的贡献来提供公关。它们应该包括单元测试, 文档中的docstring、类型定义和新条目。以及 遵循样式惯例:

获取完整的存储库:

git clone https://github.com/Tygs/ww.git

移动到ww目录中。

安装ww和dev的依赖项:

python setup.py develop
pip install -r dev-requirements.txt

停用开发模式:

python setup.py develop –uninstall

在当前python上运行单元测试:

python setup.py test

使用当前的python运行测试覆盖率:

# cmd only coverage
py.test --cov ww tests
# dump an HTML report in htmlcov dir
py.test  --cov-report html --cov ww tests

我们有很多测试环境来构建文档,验证代码 各种checker和linter,或者在几个python解释器上运行单元测试。

您可以使用以下命令列出它们:

tox -l

例如:

$ tox -l
flake8
py35
py34
py33
py27
pypy2
doc
coverage
mypy
bandit

您可以使用以下命令单独运行它们:

tox -e env_name

例如:

tox -e doc # builds the documentation

所有名称以“py”开头的env都要求您具有匹配的 要运行的系统上安装的python解释器。

例如:py33要求在计算机上安装cpython 3.3和pypy2
假设您的计算机上有pypy2。

mypy、bandit和doc env要求安装python3.5。

在所有环境中运行所有测试可以使用:

tox

在你做公关之前,最好能做到这一点,因为它会运行 最多的测试。但是记住如果你没有匹配的翻译 他们将被跳过。

在任何情况下,强烈建议运行跳棋和短绒,因为任何公关 不及格将被拒绝。

版本控制方案

版本控制遵循SemVer,尽管在版本1.0之前我们不会承诺稳定性。

X.Y.Z版本有两种:

  • 如果y是奇数,则版本将添加功能。
  • 如果y是偶数或Z>0,则释放将致力于错误修复, 文件、API改进和性能。

例如:

  • 0.2.1:1>;0因此没有新功能。
  • 1.4.1:4是均匀的,所以没有新特性。
  • 2.1.0:1很奇怪,您可能会在这个版本中看到新功能。

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

推荐PyPI第三方库


热门话题
java如何在jprogressbar上添加文本?   java生成30到32位之间的随机数   我想从我自己的服务器而不是java worldwind中的nasa服务器获取数据   jsp中带有外部java文件的html计数器   java如何找到运行Servlet的主机和端口   我怎么能看到数学。java中的cos方法计算平方根?   java这个docker run命令做什么?   java如何在将表单提交到servlet后将原始JSP保存在URL中?   如何在Java中访问Arraylist中的字典数据?   java JPA如果我有一个实体被用作复合键,那么级联是否也构成复合键的一部分?   连接Java:文件读取/添加到文件程序时未按预期工作(逻辑错误)   java从Android向PLC发送布尔值   java Get build。gradle文件作为一个。类文件   Youtube API V3 Java无需调用浏览器即可上传视频   java如何在Unittest中测试StackOverflower错误   实现方法中的java异常处理   java这个::instanceMethod在java8中用作方法参数有什么用途   java偶尔会获得javax。邮政使用javamail阅读gmail电子邮件时的FolderClosedException