Skip to main content

This script will set all movies and shows in your local Plex library to English non forced subtitles by default.

Project description

PlexPreferNonForcedSubs

Short Description

This Python script sets all movies and shows in your local Plex library to English non-forced subtitles by default. It designed to work on Python 3.5 or later and compatible on any operating system where Python is installed (Windows, macOS, Linux, etc).

Long Description

This script utilizes the Plex Python API and sets all movies and shows in your local Plex library to English non-forced subtitles by default. The subtitle preferences will be applied to your Plex profile and remembered on other devices. By default, Plex prefers forced subtitles when available for a given item. However, Plex does not natively allow you to prefer non-forced subtitles, which is why this script was created.

The script has been thoroughly tested and confirmed to be working. Feel free to use the code for your own purposes. I will be running this code periodically on my home server along with some other Plex scripts, such as Plex Auto Delete. Special thanks to everyone who provided assistance! If you encounter any bugs while using this script, please open an issue. Cheers!

What are "non-forced" subtitles?

Non-forced subtitles provide subtitles everytime a characters speaks.

What are "forced" subtitles?

Forced subtitles only provide subtitles when the characters speak a foreign or alien language.

Installation Instructions

  1. Install Python (v3.5 or later).
  2. Install the script by executing the following in the command line: python -m pip install PlexPreferNonForcedSubs.
  3. Ensure that your Plex media server is running, then run the script using PlexPreferNonForcedSubs in the command line.
  4. On the first run, the script will prompt you to enter your Plex token. The token will be saved locally in the same folder as token.txt.
  5. Done, setup complete. The script will continue to run and set all movies and shows in your local Plex library to use English non-forced subtitles.

See the section below for instructions on how to run, update, and uninstall the script.

Installing the Script:

python -m pip install PlexPreferNonForcedSubs

Execute in your operating system's native command line.

Running the Script:

PlexPreferNonForcedSubs

Execute in your operating system's native command line.

Updating the Script:

python -m pip install PlexPreferNonForcedSubs --upgrade

Execute in your operating system's native command line.

Uninstalling the Script:

python -m pip uninstall PlexPreferNonForcedSubs

Execute in your operating system's native command line.

Installing a Specific Version:

python -m pip install PlexPreferNonForcedSubs==VERSION_NUMBER

Replace VERSION_NUMBER with your desired version (e.g. 2.1.4) and execute in your operating system's native command line.

Alternative Manual Installation Method (without pip install):

  1. Install Python (v3.5 or later).
  2. Download the latest .py script from the releases page and move it to the desired directory.
  3. Execute the script by running PlexPreferNonForcedSubs.py, or open the terminal and navigate to the folder where PlexPreferNonForcedSubs.py is located, then run PlexPreferNonForcedSubs.py in the terminal.
  4. On the first run, the script will prompt you to enter your Plex token. The token will be saved locally in the same folder as token.txt.
  5. Done.

See the section above for instructions on how to run, update, and uninstall the script.

Known Issues/Future Outlook

  • Some lines of redundant code can be shortened and/or removed. Refer to this issue for more details.

Also Posted On

Screenshots:

Plex subtitle dropdown after script is done running:

Plex Subtitle Dropdown

PlexPreferNonForcedSubs.py script in action:

PlexPreferNonForcedSubs.py Script in Action

Sponsorships, Donations, and Custom Projects

If you find my scripts helpful, you can become a sponsor and support my projects! If you need help with a project, open an issue, and I'll do my best to assist you. For other inquiries and custom projects, you can contact me on Twitter.

More Donation Options:

  • Cashapp: $rileyxx
  • Venmo: @rileyxx
  • Bitcoin: bc1qrjevwqv49z8y77len3azqfghxrjmrjvhy5zqau
  • Amazon Wishlist: Link ↗

License: MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PlexPreferNonForcedSubs-2.1.8.tar.gz (6.1 kB view hashes)

Uploaded Source

Built Distribution

PlexPreferNonForcedSubs-2.1.8-py3-none-any.whl (6.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page