The pywrparser Library
Usage
Overview
The PywrNetwork
class provides a simple interface for Pywr JSON
to be parsed, validated, and represented as a Python object.
Two factory methods are provided to create a PywrNetwork
instance:
…which operate on a file and a JSON string respectively.
For example, to create a PywrNetwork
from a filename using the default
arguments:
from pywrparser.types.network import PywrNetwork
network, errors, warnings = PywrNetwork.from_file("MyPywrNetwork.json")
If the input file contains a valid network, an instance of PywrNetwork
will be returned in the network
variable, the errors
variable will be None,
and warnings generated during parsing will be present in the warnings
variable,
or this will be None if no warnings were generated. As such, either one of network
or errors
will be not None
, but not both.
The errors
and warnings
objects
When present, the errors
and warnings
objects returned by the PywrNetwork
factory methods are each a dictionary mapping the string names of Pywr network components
(nodes, parameters, etc.) to a list of the errors or warnings generated when
parsing instances of those components. Each error is warning is represented by
an instance of PywrTypeValidationError
or PywrTypeValidationWarning
respectively.
The results_as_dict()
and results_as_json()
functions in the pywrparser.display
module provide a convenient means to translate errors
and warnings
objects
into dict and JSON forms respectively.