Skip to main content
github_url:

https://github.com/LizardByte/plexhints/tree/nightly/README.rst

Overview

LizardByte has the full documentation hosted on Read the Docs.

About

Plexhints is a set of tools to aid in the development of plugins for Plex Media Server. It is not a framework, but rather a set of tools that can be used to make your life easier.

Features

  • Python library providing type hints to aid in the development of Plex plugins. Get rid of all those IDE warnings and errors!

  • A GitHub Action that will install and bootstrap a Plex Media Server in a CI environment. The action can install plugins and setup dummy libraries. Additionally the Plex token is provided as an output. This is useful for testing your plugin or other Plex project in a CI environment.

Integrations

GitHub Workflow Status (CI) Read the Docs Codecov GitHub Releases PyPI
github_url:

https://github.com/LizardByte/plexhints/tree/nightly/docs/source/about/installation.rst

Installation

Python Package

This library is available on PyPI as plexhints. It can be installed in several ways.

PyPI

python -m pip install plexhints

git

python -m pip install git+https://github.com/lizardbyte/plexhints.git@dist#egg=plexhints

github archive

python -m pip install https://github.com/lizardbyte/plexhints/archive/dist.zip#egg=plexhints
github_url:

https://github.com/LizardByte/plexhints/tree/nightly/docs/source/about/usage.rst

Usage

Plexhints can be used by just importing the plexhints module and running a couple of functions. After doing so you can use plexhints in your IDE and run most of your code outside of Plex. This is useful for debugging and testing.

Main Entry Point

Place this at the top of your Contents/Code/__init__.py file. It is important to only import these when running outside of Plex.

# plex debugging
try:
    import plexhints  # noqa: F401
except ImportError:
    pass
else:  # the code is running outside of Plex
    from plexhints import plexhints_setup, update_sys_path
    plexhints_setup()  # reads the plugin plist file and determine if plexhints should use elevated policy or not
    update_sys_path()  # when running outside plex, append the path

Submodules

In files other than the main __init__.py file, you can simply import the plexhints module and use it as shown.

# plex debugging
try:
    import plexhints  # noqa: F401
except ImportError:
    pass
else:  # the code is running outside of Plex
    from plexhints.log_kit import Log

Available Imports

from plexhints.agent_kit import Agent, Media  # agent kit
from plexhints.core_kit import Core  # core kit
from plexhints.decorator_kit import handler, indirect, route  # decorator kit
from plexhints.exception_kit import Ex  # exception kit
from plexhints.locale_kit import Locale  # locale kit
from plexhints.log_kit import Log  # log kit
from plexhints.model_kit import Movie, VideoClip, VideoClipObject  # model kit
from plexhints.network_kit import HTTP  # network kit
from plexhints.object_kit import Callback, IndirectResponse, MediaObject, MessageContainer, MetadataItem, \
    MetadataSearchResult, PartObject, SearchResult  # object kit
from plexhints.parse_kit import HTML, JSON, Plist, RSS, XML, YAML  # parse kit
from plexhints.prefs_kit import Prefs  # prefs kit
from plexhints.proxy_kit import Proxy  # proxy kit
from plexhints.resource_kit import Resource  # resource kit
from plexhints.shortcut_kit import L, E, D, R, S  # shortcut kit
from plexhints.util_kit import String, Util  # util kit

from plexhints.constant_kit import CACHE_1MINUTE, CACHE_1HOUR, CACHE_1DAY, CACHE_1WEEK, CACHE_1MONTH  # constant kit
from plexhints.constant_kit import ClientPlatforms, Protocols, OldProtocols, ServerPlatforms, ViewTypes, \
    SummaryTextTypes, AudioCodecs, VideoCodecs, Containers, ContainerContents, \
    StreamTypes  # constant kit, more commonly used in URL services

# extra objects
from plexhints.extras_kit import BehindTheScenesObject, \
    ConcertVideoObject, \
    DeletedSceneObject, \
    FeaturetteObject, \
    InterviewObject, \
    LiveMusicVideoObject, \
    LyricMusicVideoObject, \
    MusicVideoObject, \
    OtherObject, \
    SceneOrSampleObject, \
    ShortObject, \
    TrailerObject

Metadata

Release files for plexhints 2023.1210.144619

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

Source distribution (sdist)

Source distribution for plexhints 2023.1210.144619
File Size Uploaded
plexhints-2023.1210.144619.tar.gz 47.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for plexhints 2023.1210.144619
File Interpreter ABI Platform
plexhints-2023.1210.144619-py2-none-any.whl Python 2 none any Details

Total release size: 121.9 kB

Release files / plexhints-2023.1210.144619.tar.gz

Download URL plexhints-2023.1210.144619.tar.gz
Size 47.9 kB
Tags Source
SHA-256 checksum
How to use checksums
765f7d83c28285612399273d06549089c77ec0862ec6d8413291d398e2192ceb
BLAKE2b-256 checksum
How to use checksums
0300af2dbbdba240814a5010808d6f4cbee2901c9cbe778068ff5c56c7180a47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / plexhints-2023.1210.144619-py2-none-any.whl

Download URL plexhints-2023.1210.144619-py2-none-any.whl
Size 74.0 kB
Tags Python 2
SHA-256 checksum
How to use checksums
b6e2c7d05966138935f616d2decd539058fb466ab1a02ac6b7256cfff6a56a52
BLAKE2b-256 checksum
How to use checksums
1300d429b10fc05beaf128fc477c8899ff900d611765a8b77d03db3258d8e8ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.7

Release history Release notifications | RSS feed

This release

2023.1210.144619 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.0

2 release files

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