popsam_core/lib.rs
1//! Core library for selecting semantically representative texts from a larger collection.
2//!
3//! The public API is organized around three concerns:
4//! - input and result data models in [`model`]
5//! - embedding providers in [`embedding`]
6//! - the elimination algorithm in [`election`]
7
8#![deny(missing_docs)]
9
10/// Embedding provider traits and implementations.
11pub mod embedding;
12/// Election configuration and execution.
13pub mod election;
14/// Error types returned by the library.
15pub mod error;
16/// Serializable data models used by the public API.
17pub mod model;
18
19pub use embedding::{
20 CandleEmbeddingModelFiles, CandleEmbeddingModelSpec, CandleEmbeddingProvider, EmbeddingProvider,
21 OpenAiCompatibleEmbeddingProvider,
22};
23pub use election::{run_election, ElectionConfig};
24pub use error::{PopsamError, PopsamResult};
25pub use model::{
26 CandidateRoundVotes, EmbeddedText, EmbeddedTextInput, ElectionResult, InputRecord, RoundSummary,
27};