Skip to content

edde746/plezy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Plezy Logo Plezy

Plezy is a modern Plex media client that provides a seamless streaming experience across desktop and mobile platforms. Built with Flutter, it offers native performance and a clean, intuitive interface for browsing and playing your Plex media library.

Plezy macOS Home Screen

See more screenshots in the screenshots folder

Download

Mobile

Download on the App Store Get it on Google Play

Google Play version is in closed testing (required by Google). Join the Google Group to get access.

Desktop

Download the latest release from the Releases page

Features

πŸ” Authentication & Server Management

  • Sign in with Plex
  • Automatic server discovery with smart connection selection
  • Persistent sessions with auto-login

πŸ“š Media Browsing

  • Browse libraries with rich metadata
  • Discover featured content
  • Advanced search across all media
  • Season and episode navigation

🎬 Video Playback

  • Wide codec support including HEVC, AV1, VP9, and more
  • Advanced subtitle rendering with full ASS/SSA support
  • Audio and subtitle track selection with user profile preferences
  • Playback progress sync and resume functionality
  • Auto-play next episode

Prerequisites

  • Flutter SDK 3.8.1 or higher
  • A Plex account
  • Access to a Plex Media Server (local or remote)

Installation

  1. Clone the repository:
git clone https://github.com/edde746/plezy.git
cd plezy
  1. Install dependencies:
flutter pub get
  1. Generate required code:
dart run build_runner build
  1. Run the application:
flutter run

Development

Code Quality

Before submitting changes, ensure your code passes all quality checks:

# Format code (including generated files)
dart format .

# Analyze code for issues
flutter analyze

# Run tests (if available)
flutter test

Note: CI checks exclude generated files (.g.dart, .freezed.dart) from formatting and analysis checks. You can run dart format . locally to format everything, but only your hand-written code will be validated in CI.

These checks are automatically run in CI for all pull requests.

Code Generation

The project uses code generation for JSON serialization. After modifying model classes, run:

dart run build_runner build --delete-conflicting-outputs

Building for Production

Android

flutter build apk --release
# or
flutter build appbundle --release

Desktop

flutter build macos --release
flutter build windows --release
flutter build linux --release

Acknowledgments