具有高级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如何将JButton合并到图形中?   java在每个循环中使用基类类型或派生类类型   JavaSwingGUI应用程序完全是空白的,没有任何内容,而按钮被添加到面板中   java Android获取getDefaultSensor括号时出错   java Spring引导和安全性与AngularJS登录页面   java注销appengine应用程序而不从google注销。通用域名格式   java仅在发生错误或异常时创建日志文件,而不使用log4j   java get json数组和Retrift 2   swing中的java响应映像   为什么java的inputstream。close()块?   java驱动管理器。getConnection()非常冗长   java如何使用joml将标准化向量旋转到一个点   ubuntu将Java程序的输出结果保存到一个文件中   java动态可拖动、可编辑和自动调整大小的文本字段