Skip to main content

Crate cameo

Crate cameo 

Source
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::ProviderError;
pub use core::config::TimeWindow;
pub use core::pagination::Page;
pub use core::pagination::PageToken;
pub use core::pagination::into_stream;
pub use cache::CacheBackend;cache
pub use cache::CacheError;cache
pub use cache::CacheKey;cache
pub use cache::CacheTtlConfig;cache
pub use cache::MediaType;cache
pub use cache::SqliteCache;cache
pub use providers::anilist::error::AniListErrorLocation;anilist
pub use providers::anilist::error::AniListGqlError;anilist
pub use providers::anilist::AniListClient;anilist
pub use providers::anilist::AniListConfig;anilist
pub use providers::anilist::AniListError;anilist
pub use providers::rate_limit::RateLimit;anilist or tmdb
pub use providers::retry::RetryPolicy;anilist or tmdb
pub use providers::tmdb::TmdbAuth;tmdb
pub use providers::tmdb::TmdbClient;tmdb
pub use providers::tmdb::TmdbConfig;tmdb
pub use providers::tmdb::TmdbError;tmdb
pub use unified::CameoClient;
pub use unified::CameoClientBuilder;
pub use unified::CameoClientError;
pub use unified::Capability;
pub use unified::Collection;
pub use unified::Company;
pub use unified::Creator;
pub use unified::DetailProvider;
pub use unified::DiscoveryProvider;
pub use unified::Gender;
pub use unified::Genre;
pub use unified::MediaId;
pub use unified::MediaProvider;
pub use unified::NativeId;
pub use unified::Network;
pub use unified::ParseDateError;
pub use unified::PartialDate;
pub use unified::Provider;
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::UnifiedSeason;
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::WatchAvailabilityProvider;
pub use async_trait;

Modules§

cachecache
Caching layer for transparent API response caching. Caching layer for the cameo SDK.
core
Shared core types: pagination, configuration, errors.
providers
Provider implementations.
unified
Unified cross-provider types, traits, and facade client.