Skip to main content

rust_igraph/
prelude.rs

1//! Minimal import set for common use cases.
2//!
3//! ```
4//! use rust_igraph::prelude::*;
5//! ```
6//!
7//! This re-exports only the essential types and the most frequently used
8//! algorithms. For the full API, import directly from the crate root:
9//!
10//! ```rust,no_run
11//! use rust_igraph::{Graph, louvain, pagerank, betweenness};
12//! ```
13
14pub use crate::core::attributes::AttributeValue;
15pub use crate::core::builder::GraphBuilder;
16pub use crate::core::error::{IgraphError, IgraphResult};
17pub use crate::core::graph::{EdgeIter, Graph, NeighborsIter, VertexId};
18
19// Traversal
20pub use crate::algorithms::traversal::bfs::{bfs, bfs_simple, bfs_tree};
21pub use crate::algorithms::traversal::dfs::{dfs, dfs_tree};
22
23// Shortest paths
24pub use crate::algorithms::paths::dijkstra::{dijkstra_distances, dijkstra_paths};
25pub use crate::algorithms::paths::radii::{diameter, eccentricity, radius};
26pub use crate::algorithms::paths::shortest_paths::get_shortest_paths;
27
28// Centrality
29pub use crate::algorithms::properties::betweenness::betweenness;
30pub use crate::algorithms::properties::closeness::closeness;
31pub use crate::algorithms::properties::eigenvector::eigenvector_centrality;
32pub use crate::algorithms::properties::harmonic::harmonic_centrality;
33pub use crate::algorithms::properties::hits::{HitsScores, hub_and_authority_scores};
34pub use crate::algorithms::properties::katz_centrality::katz_centrality;
35pub use crate::algorithms::properties::pagerank::pagerank;
36
37// Community detection
38pub use crate::algorithms::community::leiden::leiden;
39pub use crate::algorithms::community::louvain::louvain;
40pub use crate::algorithms::community::modularity::modularity;
41
42// Connectivity
43pub use crate::algorithms::connectivity::articulation::articulation_points;
44pub use crate::algorithms::connectivity::bridges::bridges;
45pub use crate::algorithms::connectivity::components::connected_components;
46pub use crate::algorithms::connectivity::is_connected::{ConnectednessMode, is_connected};
47pub use crate::algorithms::connectivity::strong::strongly_connected_components;
48
49// Properties
50pub use crate::algorithms::properties::basic::{density, mean_distance};
51pub use crate::algorithms::properties::coreness::coreness;
52pub use crate::algorithms::properties::degree::{DegreeMode, degree_sequence};
53pub use crate::algorithms::properties::is_bipartite::{BipartiteResult, is_bipartite};
54pub use crate::algorithms::properties::is_simple::is_simple;
55pub use crate::algorithms::properties::list_triangles::list_triangles;
56pub use crate::algorithms::properties::summary::{GraphSummary, graph_summary};
57pub use crate::algorithms::properties::topological_sorting::topological_sorting;
58pub use crate::algorithms::properties::triangles::{count_triangles, transitivity_undirected};
59
60// Cliques
61pub use crate::algorithms::cliques::clique_number;
62
63// Flow
64pub use crate::algorithms::flow::max_flow::max_flow;
65pub use crate::algorithms::spanning::mst::{MstAlgorithm, minimum_spanning_tree};
66
67// Isomorphism
68pub use crate::algorithms::isomorphism::vf2::isomorphic_vf2;
69
70// Generators
71pub use crate::algorithms::constructors::famous::famous;
72pub use crate::algorithms::constructors::full::full_graph;
73pub use crate::algorithms::constructors::ring::cycle_graph;
74pub use crate::algorithms::games::barabasi::barabasi_game_bag;
75pub use crate::algorithms::games::erdos_renyi::erdos_renyi_gnp;
76pub use crate::algorithms::games::watts::watts_strogatz_game;