crispy-xtream 0.1.1

Async Xtream Codes API client
Documentation

crispy-xtream

Async Xtream Codes API client for IPTV services.

What This Crate Is

crispy-xtream provides a typed async client for Xtream Codes compatible IPTV providers. It wraps the common Xtream API surface used by IPTV apps and sync pipelines without dragging in any app-specific persistence or UI code.

What It Provides

  • credentials and client configuration types
  • authentication
  • live, VOD, and series category fetches
  • live stream, VOD stream, and series listing fetches
  • short/full EPG fetches
  • typed Xtream response models
  • helper URL generation

Installation

[dependencies]
crispy-xtream = "0.1.1"

MSRV: Rust 1.85

Quick Start

use crispy_xtream::{XtreamClient, XtreamCredentials};

# async fn demo() -> Result<(), crispy_xtream::XtreamError> {
let client = XtreamClient::new(XtreamCredentials::new(
    "http://example.com:8080",
    "username",
    "password",
))?;

let profile = client.authenticate().await?;
let _live = client.get_live_streams(None).await?;
let _xmltv = client.xmltv_url();

assert!(!profile.user_info.username.is_empty());
# Ok(())
# }

Main Public Types

  • XtreamClient
  • XtreamCredentials
  • XtreamClientConfig
  • XtreamError
  • protocol models re-exported from types

Typical Uses

  • syncing IPTV provider content into an app/backend
  • validating account credentials
  • building provider-specific import tools

Current Limitations

  • this crate only covers Xtream-compatible providers; it does not try to normalize every broken vendor variation
  • it does not persist results
  • it does not handle playback probing or stream health

License

See LICENSE.md and NOTICE.md.