This documents the development version of NetworkX. Documentation for the current release can be found here.


read_gml(path, label='label', destringizer=None)[source]

Read graph in GML format from path.

pathfilename or filehandle

The filename or filehandle to read from.

labelstring, optional

If not None, the parsed nodes will be renamed according to node attributes indicated by label. Default value: ‘label’.

destringizercallable, optional

A destringizer that recovers values stored as strings in GML. If it cannot convert a string to a value, a ValueError is raised. Default value : None.

GNetworkX graph

The parsed graph.


If the input cannot be parsed.

See also

write_gml, parse_gml


GML files are stored using a 7-bit ASCII encoding with any extended ASCII characters (iso8859-1) appearing as HTML character entities. Without specifying a stringizer/destringizer, the code is capable of handling int/float/str/dict/list data as required by the GML specification. For other data types, you need to explicitly supply a stringizer/destringizer.

For additional documentation on the GML file format, please see the GML url.

See the module docstring networkx.readwrite.gml for more details.


>>> G = nx.path_graph(4)
>>> nx.write_gml(G, "test.gml")
>>> H = nx.read_gml("test.gml")