Skip to content

Doezer/plezy

 
 

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

About

Modern cross-platform Plex client built with Flutter

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 94.1%
  • Shell 2.3%
  • C++ 1.6%
  • CMake 1.2%
  • Ruby 0.3%
  • Swift 0.2%
  • Other 0.3%