1. Refactoring, and introduction of Input and Output objects.
2. Contracts feature.:
python
graph.add_node(
my_function,
inputs=[Input(name='a', contract='>0'), Input(name='b', contract='float')],
outputs=[Output(name='g', contract='float')]
)
3. Nodes IDs refactoring (now uses uuid).
4. Run topological sort only when needed.
5. Everything accessible from pyungo __init__ (nelsontodd)
6. Docstrings / Sphinx doc / GitHub page