#![warn(missing_docs)]
#![cfg_attr(
test,
allow(
clippy::unwrap_used,
clippy::expect_used,
clippy::useless_vec,
clippy::needless_range_loop
)
)]
#[cfg(feature = "cluster")]
pub mod cluster;
#[cfg(feature = "community")]
pub mod community;
pub mod error;
pub mod hierarchy;
pub mod learnable_sheaf;
pub mod metrics;
pub mod reconciliation;
pub mod sheaf_laplacian;
#[cfg(feature = "summarize")]
pub mod summarize;
#[cfg(any(feature = "rkhs", feature = "wass"))]
pub mod distribution_distance;
#[cfg(test)]
mod reconciliation_tests;
#[cfg(feature = "cluster")]
pub use crate::cluster::ItDendrogram;
pub use crate::hierarchy::{HierarchicalConformal, HierarchyTree};
pub use crate::learnable_sheaf::{LearnableSheaf, RestrictionFamily};
pub use crate::reconciliation::{reconcile, ReconciliationMethod, SummingMatrix};
pub use crate::sheaf_laplacian::CellularSheaf;
pub use error::{Error, Result};
pub use metrics::{ari, completeness, fowlkes_mallows, homogeneity, nmi, purity, v_measure};
#[cfg(any(feature = "rkhs", feature = "wass"))]
pub use distribution_distance::{DistributionDistance, DistributionDistanceConfig};
#[cfg(feature = "cluster")]
pub use cluster::{
Clustering, Constraint, CopKmeans, CorrelationClustering, CorrelationResult, CosineDistance,
DataRef, DenStream, DistanceMetric, Euclidean, FlatRef, Gmm, HierarchicalClustering, Kmeans,
Linkage, MiniBatchKmeans, SignedEdge, SoftClustering, SquaredEuclidean,
};
#[cfg(feature = "community")]
pub use community::{CommunityDetection, LabelPropagation, Leiden, Louvain};
#[cfg(feature = "knn-graph")]
pub use community::{
knn_graph_from_embeddings, knn_graph_with_config, KnnGraphConfig, WeightFunction,
};
#[cfg(feature = "summarize")]
pub use summarize::Summarizer;
pub use hierarchy::{Dendrogram, RaptorTree, TreeConfig};