Releases: cedricleroy/pyungo
Releases · cedricleroy/pyungo
v0.9.0
- Drop support / compatibility for Python 2.7.
- Inputs / outputs names are now optional:
@graph.register()
def f_my_function(a, b):
c = a + b
return c
- Additional argument to Graph to prevent inputs deepcopy (@Tosa95). This is useful when having large inputs when the deepcopy might be slow, but remove inputs immutability.
v0.8.1
Allow optional input data for kwargs (@veronicaguo)
v0.8.0
- Can pass list of
Input
/Output
toGraph
. - Names mapping.
- Inputs validation with JSON Schema.
- Some misc. refactoring and styling.
v0.7.0
-
Refactoring, and introduction of Input and Output objects.
-
Contracts feature.:
graph.add_node(
my_function,
inputs=[Input(name='a', contract='>0'), Input(name='b', contract='float')],
outputs=[Output(name='g', contract='float')]
)
-
Nodes IDs refactoring (now uses uuid).
-
Run topological sort only when needed.
-
Everything accessible from pyungo init (@nelsontodd)
-
Docstrings / Sphinx doc / GitHub page
v0.6.0
- Fix "false parallelism" implementation. This require an optional dependency (
multiprocess
module) which is more friendly to work with stateful objects and multiprocessing. - Ability to pass predefined inputs at the node definition:
@graph.register(inputs=['a', {'b': 2}], outputs=['c'])
def f_my_function(a, b):
return a + b
v0.5.0
- Nodes can be run in parallel using Python multiprocessing module:
graph = Graph(parallel=True, , pool_size=3)
-
inputs
andoutputs
parameters are mandatory and will raise an explicit error when missing. -
Add a longer test using
pvlib
v0.4.0
- Fix single output when dealing with iterables
Previously, returning one output with an iterable was resulting in taking the first element. See #4 and #6. - Possible to use kwargs in functions
Args and kwargs can be used in functions, see #3.
@graph.register(
inputs=['a', 'b'],
args=['c'],
kwargs=['d'],
outputs=['e']
)
def f_my_function(a, b, *args, **kwargs):
return a + b + args[0] + kwargs['d']
- Can create a Node without using the decorator, #2
graph.add_node(f_my_function, inputs=['a', 'b'], outputs=['c'])
- Dag pretty print, #1
Usegraph.dag
v0.3.0
first version in pypi