[package]
edition = "2024"
rust-version = "1.85"
name = "rust-igraph"
version = "0.6.0"
authors = ["rust-igraph contributors"]
build = false
include = [
"/src/**/*.rs",
"/examples/**/*.rs",
"/fixtures/karate.edges",
"/Cargo.toml",
"/README.md",
"/LICENSE",
"/CHANGELOG.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pure-Rust, high-performance graph & network analysis library — 1200+ APIs, zero unsafe, igraph-compatible"
homepage = "https://Totoro-jam.github.io/rust-igraph"
documentation = "https://docs.rs/rust-igraph"
readme = "README.md"
keywords = [
"graph",
"network-analysis",
"igraph",
"graph-algorithms",
"complex-networks",
]
categories = [
"algorithms",
"data-structures",
"science",
"mathematics",
]
license = "GPL-2.0-or-later"
repository = "https://github.com/Totoro-jam/rust-igraph"
[features]
default = []
oracle-tests = []
proptest-harness = []
[lib]
name = "rust_igraph"
path = "src/lib.rs"
[[example]]
name = "adjacency_demo"
path = "examples/adjacency_demo.rs"
[[example]]
name = "all_st_cuts_demo"
path = "examples/all_st_cuts_demo.rs"
[[example]]
name = "atlas_demo"
path = "examples/atlas_demo.rs"
[[example]]
name = "barabasi_aging_demo"
path = "examples/barabasi_aging_demo.rs"
[[example]]
name = "barabasi_demo"
path = "examples/barabasi_demo.rs"
[[example]]
name = "barabasi_psumtree_demo"
path = "examples/barabasi_psumtree_demo.rs"
[[example]]
name = "bfs_karate"
path = "examples/bfs_karate.rs"
[[example]]
name = "bipartite_game_demo"
path = "examples/bipartite_game_demo.rs"
[[example]]
name = "callaway_traits_demo"
path = "examples/callaway_traits_demo.rs"
[[example]]
name = "centralization_demo"
path = "examples/centralization_demo.rs"
[[example]]
name = "chordality_demo"
path = "examples/chordality_demo.rs"
[[example]]
name = "chung_lu_demo"
path = "examples/chung_lu_demo.rs"
[[example]]
name = "circulant_demo"
path = "examples/circulant_demo.rs"
[[example]]
name = "cited_type_demo"
path = "examples/cited_type_demo.rs"
[[example]]
name = "citing_cited_type_demo"
path = "examples/citing_cited_type_demo.rs"
[[example]]
name = "coloring_demo"
path = "examples/coloring_demo.rs"
[[example]]
name = "community_detection_demo"
path = "examples/community_detection_demo.rs"
[[example]]
name = "community_to_membership_walktrap_karate"
path = "examples/community_to_membership_walktrap_karate.rs"
[[example]]
name = "community_voronoi_karate"
path = "examples/community_voronoi_karate.rs"
[[example]]
name = "compare_communities_walktrap_louvain_karate"
path = "examples/compare_communities_walktrap_louvain_karate.rs"
[[example]]
name = "constraint_demo"
path = "examples/constraint_demo.rs"
[[example]]
name = "correlated_pair_demo"
path = "examples/correlated_pair_demo.rs"
[[example]]
name = "create_demo"
path = "examples/create_demo.rs"
[[example]]
name = "de_bruijn_demo"
path = "examples/de_bruijn_demo.rs"
[[example]]
name = "degree_sequence_configuration_simple_demo"
path = "examples/degree_sequence_configuration_simple_demo.rs"
[[example]]
name = "degree_sequence_demo"
path = "examples/degree_sequence_demo.rs"
[[example]]
name = "degree_sequence_edge_switching_simple_demo"
path = "examples/degree_sequence_edge_switching_simple_demo.rs"
[[example]]
name = "degree_sequence_fast_heur_demo"
path = "examples/degree_sequence_fast_heur_demo.rs"
[[example]]
name = "degree_sequence_vl_demo"
path = "examples/degree_sequence_vl_demo.rs"
[[example]]
name = "dominator_tree_demo"
path = "examples/dominator_tree_demo.rs"
[[example]]
name = "dot_product_demo"
path = "examples/dot_product_demo.rs"
[[example]]
name = "eb_community_directed_path"
path = "examples/eb_community_directed_path.rs"
[[example]]
name = "eb_community_karate"
path = "examples/eb_community_karate.rs"
[[example]]
name = "eb_community_weighted_karate"
path = "examples/eb_community_weighted_karate.rs"
[[example]]
name = "ecc_karate"
path = "examples/ecc_karate.rs"
[[example]]
name = "edge_connectivity_demo"
path = "examples/edge_connectivity_demo.rs"
[[example]]
name = "edge_disjoint_paths_demo"
path = "examples/edge_disjoint_paths_demo.rs"
[[example]]
name = "eigen_demo"
path = "examples/eigen_demo.rs"
[[example]]
name = "erdos_renyi_demo"
path = "examples/erdos_renyi_demo.rs"
[[example]]
name = "establishment_demo"
path = "examples/establishment_demo.rs"
[[example]]
name = "extended_chordal_ring_demo"
path = "examples/extended_chordal_ring_demo.rs"
[[example]]
name = "famous_demo"
path = "examples/famous_demo.rs"
[[example]]
name = "fast_greedy_karate"
path = "examples/fast_greedy_karate.rs"
[[example]]
name = "file_io_demo"
path = "examples/file_io_demo.rs"
[[example]]
name = "fluid_karate"
path = "examples/fluid_karate.rs"
[[example]]
name = "forestfire_demo"
path = "examples/forestfire_demo.rs"
[[example]]
name = "full_citation_demo"
path = "examples/full_citation_demo.rs"
[[example]]
name = "full_demo"
path = "examples/full_demo.rs"
[[example]]
name = "full_multipartite_demo"
path = "examples/full_multipartite_demo.rs"
[[example]]
name = "generalized_petersen_demo"
path = "examples/generalized_petersen_demo.rs"
[[example]]
name = "gomory_hu_tree_demo"
path = "examples/gomory_hu_tree_demo.rs"
[[example]]
name = "graphicality_demo"
path = "examples/graphicality_demo.rs"
[[example]]
name = "grg_demo"
path = "examples/grg_demo.rs"
[[example]]
name = "growing_random_demo"
path = "examples/growing_random_demo.rs"
[[example]]
name = "hamming_demo"
path = "examples/hamming_demo.rs"
[[example]]
name = "hexagonal_lattice_demo"
path = "examples/hexagonal_lattice_demo.rs"
[[example]]
name = "hits_karate"
path = "examples/hits_karate.rs"
[[example]]
name = "hsbm_demo"
path = "examples/hsbm_demo.rs"
[[example]]
name = "hypercube_demo"
path = "examples/hypercube_demo.rs"
[[example]]
name = "iea_game_demo"
path = "examples/iea_game_demo.rs"
[[example]]
name = "islands_demo"
path = "examples/islands_demo.rs"
[[example]]
name = "k_regular_demo"
path = "examples/k_regular_demo.rs"
[[example]]
name = "kary_tree_demo"
path = "examples/kary_tree_demo.rs"
[[example]]
name = "kautz_demo"
path = "examples/kautz_demo.rs"
[[example]]
name = "lastcit_demo"
path = "examples/lastcit_demo.rs"
[[example]]
name = "layout_demo"
path = "examples/layout_demo.rs"
[[example]]
name = "lcf_demo"
path = "examples/lcf_demo.rs"
[[example]]
name = "leiden_karate"
path = "examples/leiden_karate.rs"
[[example]]
name = "linegraph_demo"
path = "examples/linegraph_demo.rs"
[[example]]
name = "louvain_karate"
path = "examples/louvain_karate.rs"
[[example]]
name = "lpa_karate"
path = "examples/lpa_karate.rs"
[[example]]
name = "matching_demo"
path = "examples/matching_demo.rs"
[[example]]
name = "max_flow_demo"
path = "examples/max_flow_demo.rs"
[[example]]
name = "method_api_demo"
path = "examples/method_api_demo.rs"
[[example]]
name = "mincut_value_demo"
path = "examples/mincut_value_demo.rs"
[[example]]
name = "mst_karate"
path = "examples/mst_karate.rs"
[[example]]
name = "mycielskian_demo"
path = "examples/mycielskian_demo.rs"
[[example]]
name = "network_analysis_pipeline"
path = "examples/network_analysis_pipeline.rs"
[[example]]
name = "pagerank_linsys_demo"
path = "examples/pagerank_linsys_demo.rs"
[[example]]
name = "path_length_hist_demo"
path = "examples/path_length_hist_demo.rs"
[[example]]
name = "preference_demo"
path = "examples/preference_demo.rs"
[[example]]
name = "prufer_demo"
path = "examples/prufer_demo.rs"
[[example]]
name = "quickstart"
path = "examples/quickstart.rs"
[[example]]
name = "recent_degree_aging_demo"
path = "examples/recent_degree_aging_demo.rs"
[[example]]
name = "recent_degree_demo"
path = "examples/recent_degree_demo.rs"
[[example]]
name = "regular_tree_demo"
path = "examples/regular_tree_demo.rs"
[[example]]
name = "reindex_membership_walktrap_karate"
path = "examples/reindex_membership_walktrap_karate.rs"
[[example]]
name = "rich_club_karate"
path = "examples/rich_club_karate.rs"
[[example]]
name = "ring_demo"
path = "examples/ring_demo.rs"
[[example]]
name = "sbm_demo"
path = "examples/sbm_demo.rs"
[[example]]
name = "simple_paths_demo"
path = "examples/simple_paths_demo.rs"
[[example]]
name = "social_network_demo"
path = "examples/social_network_demo.rs"
[[example]]
name = "split_join_distance_louvain_vs_leiden_karate"
path = "examples/split_join_distance_louvain_vs_leiden_karate.rs"
[[example]]
name = "square_lattice_demo"
path = "examples/square_lattice_demo.rs"
[[example]]
name = "st_edge_connectivity_demo"
path = "examples/st_edge_connectivity_demo.rs"
[[example]]
name = "st_mincut_demo"
path = "examples/st_mincut_demo.rs"
[[example]]
name = "st_mincut_partition_demo"
path = "examples/st_mincut_partition_demo.rs"
[[example]]
name = "st_vertex_connectivity_demo"
path = "examples/st_vertex_connectivity_demo.rs"
[[example]]
name = "star_demo"
path = "examples/star_demo.rs"
[[example]]
name = "static_fitness_demo"
path = "examples/static_fitness_demo.rs"
[[example]]
name = "strength_demo"
path = "examples/strength_demo.rs"
[[example]]
name = "summary_demo"
path = "examples/summary_demo.rs"
[[example]]
name = "symmetric_tree_demo"
path = "examples/symmetric_tree_demo.rs"
[[example]]
name = "tree_from_parent_vector_demo"
path = "examples/tree_from_parent_vector_demo.rs"
[[example]]
name = "tree_game_demo"
path = "examples/tree_game_demo.rs"
[[example]]
name = "triangular_lattice_demo"
path = "examples/triangular_lattice_demo.rs"
[[example]]
name = "trussness_demo"
path = "examples/trussness_demo.rs"
[[example]]
name = "turan_demo"
path = "examples/turan_demo.rs"
[[example]]
name = "vertex_connectivity_demo"
path = "examples/vertex_connectivity_demo.rs"
[[example]]
name = "vertex_disjoint_paths_demo"
path = "examples/vertex_disjoint_paths_demo.rs"
[[example]]
name = "voronoi_karate"
path = "examples/voronoi_karate.rs"
[[example]]
name = "walktrap_karate"
path = "examples/walktrap_karate.rs"
[[example]]
name = "watts_demo"
path = "examples/watts_demo.rs"
[[example]]
name = "weighted_adjacency_demo"
path = "examples/weighted_adjacency_demo.rs"
[[example]]
name = "wheel_demo"
path = "examples/wheel_demo.rs"
[dependencies.thiserror]
version = "2"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[lints.clippy]
large_stack_arrays = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "deny"
[profile.release]
lto = "thin"
codegen-units = 1