------------------------
The package is moved to `Marohn Group <https://github.com/Marohn-Group/mmodel>`_.
API Change
^^^^^^^^^^
- Change graph API where individual nodes can only have a single output.
- Change node attribute "base_func" to "_func".
- Change model attribute "base_graph" to "graph".
- Change edge attribute "val" to "var".
- Change ``view_node`` to ``node_metadata``.
- Change ``util.modify_subgraph`` function to ``util.replace_subgraph``.
- Change ``subgraph_by_parameters`` and ``subgraph_by_returns`` to
``subnodes_by_inputs`` and ``subnodes_by_outputs``.
- Change ``model_signature`` and ``model_returns`` to
``modelgraph_signature`` and ``modelgraph_returns``
add both as methods in the graph class.
- Change "returns" to "output". The value should be a string.
- Parameter "returns" is a Model exclusive parameter that denotes the graph output.
- Change ``Model.get_node_object`` to ``Model.get_node_func``, the base function is
returned.
Fixed
^^^^^
- Fix the issue where modify subgraph cannot add inputs or modifiers.
- Fix the issue in tests that node attributes are not compared in `graph_equal()`.
- Fix the issue that the original graph freezes when creating a model.
- Fix the inconsistency between node and model metadata.
- Fix the issue that "None" is included in the returns list.
Changed
^^^^^^^^
- Model string output wraps each line at 80 characters.
- ``signature_modifier`` can modify the function with "kwargs".
- Default keyword argument does not show up in the model signature.
- Model's graph checking generates more detailed exception messages.
- Allow isolated graphs in the model (for single-node models).
- The subgraph method of the graph is modified to create a subgraph with
inputs and outputs.
- ``model.graph`` is a property method. A new copy of the graph is created
every time.
- Specified inputs are no longer added to the modifier list, and the base function is
modified.
- Model and graph drawing no longer take method as input. Instead, three style
options are given, plain, short, and full.
Added
^^^^^^
- Add graph modification when less than graph returns are specified.
- Add "__name__" attribute to handler instance.
- ``pos_signature_modifier`` allows for node objects to have positional-only parameters.
- Graph node definition allows for built-in and numpy.ufunc functions.
- Graph node inputs allow default value with a (parameter, default) tuple.
- Add name attribute to Model.
- Add export to graph and model's ``draw`` method.
- Add a "parser" module that parses functions based on different types.
- Add function documentation in metadata.
- Add Python 3.11 testing with tox.