.. automodule:: graph_tool :no-members: :no-undoc-members: .. container:: sec_title Basic classes .. autoclass:: Graph :no-members: :no-undoc-members: .. automethod:: copy .. container:: sec_title Iterating over vertices and edges See :ref:`sec_iteration` for more documentation and examples. Iterator-based interface with descriptors: .. automethod:: vertices .. automethod:: edges Iterator-based interface without descriptors: .. automethod:: iter_vertices .. automethod:: iter_edges .. automethod:: iter_out_edges .. automethod:: iter_in_edges .. automethod:: iter_all_edges .. automethod:: iter_out_neighbors .. automethod:: iter_in_neighbors .. automethod:: iter_all_neighbors Array-based interface: .. automethod:: get_vertices .. automethod:: get_edges .. automethod:: get_out_edges .. automethod:: get_in_edges .. automethod:: get_all_edges .. automethod:: get_out_neighbors .. automethod:: get_in_neighbors .. automethod:: get_all_neighbors .. automethod:: get_out_degrees .. automethod:: get_in_degrees .. automethod:: get_total_degrees .. container:: sec_title Obtaining vertex and edge descriptors .. automethod:: vertex .. automethod:: edge .. container:: sec_title Number of vertices and edges .. automethod:: num_vertices .. automethod:: num_edges .. container:: sec_title Modifying vertices and edges The following functions allow for addition and removal of vertices in the graph. .. automethod:: add_vertex .. automethod:: remove_vertex The following functions allow for addition and removal of edges in the graph. .. automethod:: add_edge .. automethod:: remove_edge .. automethod:: add_edge_list .. automethod:: set_fast_edge_removal .. automethod:: get_fast_edge_removal The following functions allow for easy removal of vertices and edges from the graph. .. automethod:: clear .. automethod:: clear_vertex .. automethod:: clear_edges After the removal of many edges and/or vertices, the underlying containers may have a capacity that significantly exceeds the size of the graph. The function below corrects this. .. automethod:: shrink_to_fit .. container:: sec_title Directedness and reversal of edges .. note:: These functions do not actually modify the graph, and are fully reversible. They are also very cheap, with an :math:`O(1)` complexity. .. automethod:: set_directed .. automethod:: is_directed .. automethod:: set_reversed .. automethod:: is_reversed .. container:: sec_title Creation of new property maps .. automethod:: new_property .. automethod:: new_vertex_property .. automethod:: new_vp .. automethod:: new_edge_property .. automethod:: new_ep .. automethod:: new_graph_property .. automethod:: new_gp New property maps can be created by copying already existing ones. .. automethod:: copy_property .. automethod:: degree_property_map .. container:: sec_title Index property maps .. autoattribute:: vertex_index .. autoattribute:: edge_index .. autoattribute:: edge_index_range .. automethod:: reindex_edges .. container:: sec_title Internal property maps Internal property maps are just like regular property maps, with the only exception that they are saved and loaded to/from files together with the graph itself. See :ref:`internal property maps ` for more details. .. note:: All dictionaries below are mutable. However, any dictionary returned below is only an one-way proxy to the internally-kept properties. If you modify this object, the change will be propagated to the internal dictionary, but not vice-versa. Keep this in mind if you intend to keep a copy of the returned object. .. autoattribute:: properties .. autoattribute:: vertex_properties .. autoattribute:: vp .. autoattribute:: edge_properties .. autoattribute:: ep .. autoattribute:: graph_properties .. autoattribute:: gp .. automethod:: own_property .. automethod:: list_properties .. container:: sec_title Filtering of vertices and edges. See :ref:`sec_graph_filtering` for more details. .. note:: These functions do not actually modify the graph, and are fully reversible. They are also very cheap, and have an :math:`O(1)` complexity. .. automethod:: set_filters .. automethod:: set_vertex_filter .. automethod:: get_vertex_filter .. automethod:: set_edge_filter .. automethod:: get_edge_filter .. automethod:: clear_filters .. warning:: The purge functions below irreversibly remove the filtered vertices or edges from the graph. Note that, contrary to the functions above, these are :math:`O(V)` and :math:`O(E)` operations, respectively. .. automethod:: purge_vertices .. automethod:: purge_edges .. container:: sec_title I/O operations See :ref:`sec_graph_io` for more details. .. automethod:: load .. automethod:: save .. autoclass:: GraphView :show-inheritance: .. autoclass:: Vertex .. autoclass:: Edge .. autoclass:: PropertyMap .. autoclass:: VertexPropertyMap :show-inheritance: .. autoclass:: EdgePropertyMap :show-inheritance: .. autoclass:: GraphPropertyMap :show-inheritance: .. autoclass:: PropertyArray :show-inheritance: :no-members: :members: prop_map .. container:: sec_title I/O functions .. autofunction:: load_graph .. autofunction:: load_graph_from_csv .. container:: sec_title Property map operations .. autofunction:: group_vector_property .. autofunction:: ungroup_vector_property .. autofunction:: map_property_values .. autofunction:: infect_vertex_property .. autofunction:: edge_endpoint_property .. autofunction:: incident_edges_op .. autofunction:: perfect_prop_hash .. autofunction:: value_types .. container:: sec_title OpenMP control .. autofunction:: openmp_enabled .. autofunction:: openmp_get_num_threads .. autofunction:: openmp_set_num_threads .. autofunction:: openmp_get_schedule .. autofunction:: openmp_set_schedule .. container:: sec_title Misc .. autofunction:: show_config Available subpackages ===================== .. toctree:: :maxdepth: 1 centrality clustering collection correlations dynamics draw flow generation inference search_module spectral stats topology util