pubmed_client/pubmed/
mod.rs

1//! PubMed client for searching and fetching article metadata
2//!
3//! This module provides functionality to interact with PubMed E-utilities APIs
4//! for searching biomedical literature and retrieving article metadata.
5//!
6//! The client functionality is split across focused modules under [`client`]:
7//! - `client/mod.rs` - Core client struct, constructors, search, and fetch operations
8//! - `client/summary` - ESummary API for lightweight article metadata
9//! - `client/history` - History server operations (EPost, fetch from history, streaming)
10//! - `client/einfo` - Database information (EInfo API)
11//! - `client/elink` - Cross-database linking (ELink API)
12//! - `client/citmatch` - Citation matching (ECitMatch API)
13//! - `client/egquery` - Global database queries (EGQuery API)
14//! - `client/espell` - Spell checking (ESpell API)
15
16pub mod client;
17pub mod query;
18pub mod responses;
19
20// Re-export parser types from pubmed-parser
21pub use pubmed_parser::pubmed::models;
22pub use pubmed_parser::pubmed::parser;
23
24// Re-export formatter types from pubmed-formatter
25pub use pubmed_formatter::pubmed::export;
26
27// Re-export public types
28pub use client::PubMedClient;
29pub use export::ExportFormat;
30pub use models::{
31    AbstractSection, Affiliation, ArticleSummary, Author, ChemicalConcept, CitationMatch,
32    CitationMatchStatus, CitationMatches, CitationQuery, Citations, DatabaseCount, DatabaseInfo,
33    EPostResult, FieldInfo, GlobalQueryResults, HistorySession, LinkInfo, MeshHeading,
34    MeshQualifier, MeshTerm, PmcLinks, PubMedArticle, RelatedArticles, SearchResult,
35    SpellCheckResult, SpelledQuerySegment, SupplementalConcept,
36};
37pub use parser::{parse_article_from_xml, parse_articles_from_xml};
38pub use query::{ArticleType, Language, PubDate, SearchQuery, SortOrder};