prototype whatever in the Jupyter notebook
Project description
whatever-forever
Create reusable, higher-order functions using declarative syntaxes in Python.
Installation
pip install whatever-forever
Basic Usage
Chaining in Python
from whatever import *
my_chain = Chain(5).range.map(lambda x: x+3).list
my_chain
[3, 4, 5, 6, 7]
A random list
from random import random
random_list = _X(5).range.map(lambda x: random()).list.value()
str(random_list)
'[0.9797835854505124, 0.7465362603228028, 0.9564821512434867, 0.25918443126809687, 0.8989533853121069]'
Syntactic Sugar
from random import random
_X(random_list) * (lambda s: '%3.2f' % s) | list
['0.98', '0.75', '0.96', '0.26', '0.90']
from random import random
((_X(random_list) + (lambda x: x >.5) )
* (lambda s: '%3.2f' % s)
| list
)
['0.98', '0.75', '0.96', '0.90']
Development
Running the Build and Tests
pip install -r requirements-dev.txt
python setup.py develop
watchmedo tricks tricks.yaml
The watchmedo script will convert your notebooks to scripts and html files. py.test-ipynb will test all notebooks matching test-*.ipynb.
Running the docs
jekyll serve docs -wit
Docs are hosted at http://localhost:4000/whatever-forever/.
License
whatever-forever is released as free software under the BSD 3-Clause license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
whatever-forever-0.1.3.tar.gz
(5.8 kB
view hashes)
Built Distribution
whatever_forever-0.1.3-py3.5.egg
(11.8 kB
view hashes)
Close
Hashes for whatever_forever-0.1.3-py3.5.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e8b8fd1bc3b3909eb042a6d524031c4dd061c8d798685274f591b1ffe3b4918 |
|
MD5 | 00a2e2329d7e73ab94612ba6d069e206 |
|
BLAKE2b-256 | 15e71137eaed0a35dcc36ab6285f72563450f5b7747f18b53c2f2397fb9a0613 |