library
dart_jellyfin & dart_plex
Two pure-Dart clients that cover libraries, playlists, audio streaming, search and playback reporting through typed objects, and handle sign-in and session lifecycle for you. Built on the servers' own API contracts and tested against real servers.
- GitHub stars
- 0
- pub.dev likes
- 5
- pub points
- 160/160
- Downloads /30d
- 270

Overview
Both packages have the same structure: a client object (JellyfinClient, PlexClient) holds identity,
server and token, and typed sub-APIs are accessed through it.
dart_jellyfin
- Built on the official OpenAPI spec: endpoint names, field names and casing match api.jellyfin.org.
- Typed DTOs: every response is a typed object that also keeps its
.rawmap, so fields added by newer servers are kept. - Both auth flows:
authenticateByName()and the Quick Connect link flow. - Synced lyrics: parsed lines with tick-to-ms helpers and
.toLrc()output.
dart_plex
- plex.tv sign-in: legacy credentials or the official 4-character PIN flow at plex.tv/link.
- Server discovery: owned and shared servers with connection candidates;
bestConnection()picks local first, then HTTPS, then relay. - Streaming URLs:
universalAudioUrl()builds HLS or DASH manifests,directFileUrl()the zero-transcode original. - Semantic errors: every failure is a
PlexExceptionyou can branch on, instead of raw network errors.
Both are pure Dart (no native plugin, no Flutter dependency) and run anywhere Dart does.
Next project
mpv_audio_kit
Audio engine for Flutter and Dart, built on mpv 0.41.