r"""

**openpnm.io**

----

This module contains functionality for importing and exporting data between
OpenPNM and other formats.

Note that saving and loading OpenPNM data in its own format is done through
the Workspace and Project objects.  Saving data through these classes losses
lots of vital information about the simulation, such as pore scale-models and
parameters.

----

**Available Import and Export Options**

+----------+------------------------------------------------------------------+
| Format   | Description                                                      |
+==========+==================================================================+
| Dict     | Generates hierarchical ``dicts`` with a high degree of control   |
|          | over the structure                                               |
+----------+------------------------------------------------------------------+
| Pandas   | Combines all data arrays into a Pandas DataFrame object          |
+----------+------------------------------------------------------------------+
| CSV      | Reads and writes CSV (comma-separated-value files) containing    |
|          | pore and throat data                                             |
+----------+------------------------------------------------------------------+
| HDF5     | The HDF5 (Hierarchical Data Format) file is good for high-       |
|          | peformance, long term data storage                               |
+----------+------------------------------------------------------------------+
| XDMF     | The eXtensible Data Model Format combines XML descriptors with   |
|          | HDF5 data storage                                                |
+----------+------------------------------------------------------------------+
| VTK      | The Visualization Toolkit (VTK) format defined by Kitware and    |
|          | used by Paraview                                                 |
+----------+------------------------------------------------------------------+
| NetworkX | NetworkX is a common tool for dealing with network structures    |
+----------+------------------------------------------------------------------+
| MAT      | MAT files are a format used by Matlab                            |
+----------+------------------------------------------------------------------+
| iMorph   | iMorph is a graphical interface program that provides some image |
|          | analysis tools for porous media                                  |
+----------+------------------------------------------------------------------+
| MARock   | 3DMA-Rock is a network extraction algorithm                      |
+----------+------------------------------------------------------------------+
| Statoil  | The StatOil format is used by the Maximal Ball network extraction|
|          | code of the Imperial College London group                        |
+----------+------------------------------------------------------------------+

Of the above, the last three only support *reading* from files and there are
no plans to implement writing such files.

"""
from .GenericIO import GenericIO
from .Dict import Dict
from .VTK import VTK
from .CSV import CSV
from .NetworkX import NetworkX
from .MAT import MAT
from .iMorph import iMorph
from .MARock import MARock
from .Statoil import Statoil
from .Pandas import Pandas
from .HDF5 import HDF5
from .XDMF import XDMF

@@ -2336,16 +2336,256 @@
 ------+%0A
+%7C JGF      %7C The JSON Graph Format is a schema specification of how to write  %7C%0A%7C          %7C a graph object into JSON format                                  %7C%0A+----------+------------------------------------------------------------------+%0A
 %7C iMorph
@@ -3647,8 +3647,53 @@
 rt XDMF%0A
+from .JSONGraphFormat import JSONGraphFormat%0A

Include `JSONGraphFormat` into `io/__init__.py`