ANN: knife 0.5.1
L. C. Rees
lcrees at gmail.com
Sun Apr 22 06:33:32 CEST 2012
knife is a powerful Python multitool loosely inspired by underscore.js
but remixed for maximum pythonicity. knife concentrates power normally
found dispersed across the universe of Python packages in one
convenient shrink-wrapped package.
knife works with Python 2.6, 2.7, and 3.2.
knife documentation can be found at http://readthedocs.org/docs/knife/en/latest/
or http://packages.python.org/knife/
3 second knife
---------------------
Things go in:
>>> gauntlet = __(5, 4, 3, 2, 1)
Things get knifed:
>>> gauntlet.initial().rest().slice(1, 2).last()
Things come out:
>>> gauntlet.get()
3
Slightly More
-------------------
knife features over 40 methods that can be chained into pipelines:
>>> from knife import __
>>> __(5, 4, 3, 2, 1).initial().rest().slice(1, 2).last().get()
3
Or object-oriented style:
>>> from knife import knife
>>> oo = knife(('a', 1), ('b', 2), ('c', 3))
>>> oo.wrap(dict)
>>> oo.map()
>>> oo.get()
{'a': 1, 'b': 2, 'c': 3}
knife knives can roll thing in its pipeline back to the results of
the immediately preceding steps, a baseline snapshot, or even the
original
arguments.
>>> undone = __(1, 2, 3).prepend(1, 2, 3, 4, 5, 6)
>>> undone.peek()
[1, 2, 3, 4, 5, 6, 1, 2, 3]
>>> undone.append(1).undo().peek()
[1, 2, 3, 4, 5, 6, 1, 2, 3]
>>> undone.append(1, 2).undo(2).peek()
[1, 2, 3, 4, 5, 6, 1, 2, 3, 1]
undone.snapshot().append(1, 2).baseline().peek()
[1, 2, 3, 4, 5, 6, 1, 2, 3, 1]
undone.original().peek()
[1, 2, 3]
>>> one.original().minmax().pipe(two).merge().back().max().get()
1000
>>> one.original().minmax().pipe(two).merge().back().sum().get()
1002
Installation
----------------
knife can be installed the usual ways from:
http://pypi.python.org/pypi/knife/
Development
-------------------
* Public repository: https://bitbucket.org/lcrees/knife.
* Mirror: https://github.com/kwarterthieves/knife/
* Issue tracker: https://bitbucket.org/lcrees/knife/issues
* License: BSD
More information about the Python-announce-list
mailing list