Skip to main content

Plexer

PyPI - Version

GitHub License Supported Python Versions

GitHub Issues or Pull Requests GitHub Downloads (all assets, all releases)

OpenSSF Scorecard OpenSSF Best Practices

Run Full Suite of Checks and Tests Release

Summary

A CLI tool made to make organizing your media for Plex Media Server easy. Normalize names of media files and directories to match the hierarchial requirements that Plex requires.

Features

Support

Currently, Plexer only supports organizing movies and other individual video files.

Roadmap

  • Support for TV Shows (#28)
  • Docker implementations (#29)
  • MacOS support (#30)
  • Windows support (#31)
  • Metadata inference using file/directory info (i.e. analyze the video files to "guess" what the name, year, etc is) (#32)

Install

Docker

The most portable way to install and run Plexer is by using Docker.

Via Container Registry

The easiest way to run Plexer in Docker is by using the public containers hosted on container registries. Plexer images are available on both Docker Hub and GitHub Container Registry. See the commands below for how to run Plexer using each registry.

Docker Hub
docker run --rm -it magneticstain/plexer-cli
Github Container Registry
docker run --rm -it ghcr.io/magneticstain/plexer-cli

Via Local Image Build

In the case that container registries are unavailable, there's also the option to build the image locally. To do that, check out the main branch of this repo, build the Plexer image, and run it.

git clone https://github.com/magneticstain/plexer-cli.git
docker build -t plexer_cli .
docker run --rm -it plexer_cli

Requirements

Linux and MacOS Native Install

If you've installed plexer-cli natively (i.e. outside of a Docker container) on Ubuntu, Devian, Fedora, etc, or MacOS, you will also need to install additional dependencies:

Python-Magic

While python-magic is imported in the standard fashion (via pip/python requirements), it itself depends on the presence of the libmagic C library. To install this library, follow the installation instructions provided in the python-magic README.

Media Metadata

The most important requirement before running plexer is to ensure that you've created a .plexer file in each of your target directories.

This is a JSON-formatted file that includes the movie metadata required by Plexer to perform its jobs.

Usage

The source directory is the directory containing the raw media. The destination is where you'd like to save the processed media to.

usage: plexer.py [-h] [-v] [--version] -s SOURCE_DIR -d DESTINATION_DIR

options:
  -h, --help            show this help message and exit
  -v, --verbose         Verbosity (-v, -vv, etc)
  --version             show program's version number and exit
  -s SOURCE_DIR, --source-dir SOURCE_DIR
  -d DESTINATION_DIR, --destination-dir DESTINATION_DIR

Support & Feedback

If you run into issues while using Plexer, think you know a way to make it better, or just need help using it, create a new issue within this project and they will triaged when possible.

Development

Software Stack

Hatch project Ruff

For developing with Plexer, there are several tools that are in use:

  1. Build Backend, Packaging, and Dependency Management:
    1. Hatch
  2. Analysis Tools:
    1. Ruff
  3. Testing:
    1. Pytest
    2. Tox

Coding Standards and Conventions

  • Pre-commit hooks are utilized and managed in .pre-commit-config.yml
    • For example, ruff is run as part of every commit
    • These pre-commit hooks MUST be installed and utilized by all developers

Testing

  • All functions MUST have unit tests created for them
  • Tests are executed using VS Code with the launch.json config file in .vscode

Metadata

Release files for plexer-cli 0.1.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for plexer-cli 0.1.15
File Size Uploaded Provenance
plexer_cli-0.1.15.tar.gz 65.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for plexer-cli 0.1.15
File Interpreter ABI Platform
plexer_cli-0.1.15-py3-none-any.whl Python 3 none any Details

Total release size: 76.4 kB

Release files / plexer_cli-0.1.15.tar.gz

Download URL plexer_cli-0.1.15.tar.gz
Size 65.0 kB
Tags Source
SHA-256 checksum
How to use checksums
74e228be7de741ddbfb258417f0a717d01f21ababb7f2f7d1013aaa238e6b37e
BLAKE2b-256 checksum
How to use checksums
2cee65853d85a6bb458e04dbd8917874aaff58f0887bb21cfde74a5a23445e1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Release files / plexer_cli-0.1.15-py3-none-any.whl

Download URL plexer_cli-0.1.15-py3-none-any.whl
Size 11.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3244597a9cc9bd64ae043516958f6ed0d4ff7fc6d33e35bd630d925e6d46e47e
BLAKE2b-256 checksum
How to use checksums
8929b161885a422365b01e3af5f639aa9e27c3a208323fb0c79c68d721a074df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

Security for plexer-cli 0.1.15

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for plexer_cli-0.1.15.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page