Expand description
§cameo
Unified movie/TV show database SDK for Rust.
§Quick Start
use cameo::providers::tmdb::{TmdbClient, TmdbConfig};
use cameo::unified::{CameoClient, SearchProvider};
// Low-level TMDB client
let client = TmdbClient::new(TmdbConfig::new("your-tmdb-token"))?;
let results = client.search_movies("Inception", None).await?;
// High-level unified facade
let cameo = CameoClient::builder()
.with_tmdb(TmdbConfig::new("your-tmdb-token"))
.build()?;
let movies = cameo.search_movies("Dune", None).await?;§AniList (anime/manga)
use cameo::providers::anilist::{AniListClient, AniListConfig};
use cameo::unified::{CameoClient, SearchProvider};
// Low-level AniList client (no auth required)
let client = AniListClient::new(AniListConfig::new())?;
let results = client.search_movies("Your Name", None).await?;
// High-level unified facade (AniList only)
let cameo = CameoClient::builder()
.with_anilist(AniListConfig::new())
.build()?;
let anime = cameo.search_tv_shows("Attack on Titan", None).await?;Re-exports§
pub use core::error::CameoError;pub use core::config::TimeWindow;pub use core::pagination::PaginatedResponse;pub use core::pagination::into_stream;pub use cache::CacheBackend;pub use cache::CacheError;pub use cache::CacheKey;pub use cache::CacheTtlConfig;pub use cache::MediaType;pub use cache::SqliteCache;pub use providers::anilist::error::AniListGqlError;pub use providers::anilist::AniListClient;pub use providers::anilist::AniListConfig;pub use providers::anilist::AniListError;pub use providers::tmdb::TmdbClient;pub use providers::tmdb::TmdbConfig;pub use providers::tmdb::TmdbError;pub use unified::CameoClient;pub use unified::CameoClientBuilder;pub use unified::CameoClientError;pub use unified::DetailProvider;pub use unified::DiscoveryProvider;pub use unified::Genre;pub use unified::MediaProvider;pub use unified::RecommendationProvider;pub use unified::SearchProvider;pub use unified::SeasonProvider;pub use unified::UnifiedEpisode;pub use unified::UnifiedMovie;pub use unified::UnifiedMovieDetails;pub use unified::UnifiedPerson;pub use unified::UnifiedPersonDetails;pub use unified::UnifiedSearchResult;pub use unified::UnifiedSeasonDetails;pub use unified::UnifiedStreamingService;pub use unified::UnifiedTvShow;pub use unified::UnifiedTvShowDetails;pub use unified::UnifiedWatchProviderEntry;pub use unified::UnifiedWatchProviders;pub use unified::UnknownGenre;pub use unified::WatchProviderTrait;
Modules§
- cache
- Caching layer for transparent API response caching. Caching layer for the cameo SDK.
- core
- Shared core types: pagination, configuration, errors.
- generated
- Auto-generated low-level API client code (from progenitor).
- providers
- Provider implementations.
- unified
- Unified cross-provider types, traits, and facade client.