iptv_org_api 1.0.0
iptv_org_api: ^1.0.0 copied to clipboard
Fully typed, cached, isolate-parsed relational Dart client for the public iptv-org global dataset.
iptv_org_api #
A fully typed, cached, isolate-parsed relational Dart client for the public iptv-org global dataset (channels, feeds, logos, streams, guides, categories, languages, countries, timezones, and blocklists).
Features #
- 13 Relational Datasets: Strongly typed models for
channels,streams,feeds,logos,guides,categories,languages,countries,subdivisions,cities,regions,timezones, andblocklist. - Isolate Offloading: Uses
run_off_mainto decode large dataset JSON responses away from the UI thread. - ETag Caching: HTTP ETag caching transport to minimize redundant network requests.
- Relational Indexing: Build fast in-memory indexes connecting channels to their respective streams, logos, and EPG guides.
Installation #
dependencies:
iptv_org_api: ^1.0.0
Usage #
import 'package:iptv_org_api/iptv_org_api.dart';
void main() async {
final client = IptvOrgApiClient();
// Fetch typed channel catalog
final channels = await client.fetchChannels();
print('Loaded ${channels.length} global channels!');
// Fetch streams
final streams = await client.fetchStreams();
print('Loaded ${streams.length} live stream endpoints!');
}
License #
MIT License - see LICENSE for details.