Plex FUSE Filesystem
An attempt to create fuse filesystem to access Plex Media Server files as local files.
Development
This project is in very early development.
Currently implemented:
- Listing of root directory
- Connecting to PMS via python-plexapi
- Listing of library types in root directory
- Listing library titles in library type sub-directory
- Listing titles from a library
- Listing of Movie files
- Report file size for media part
- Report accurate nlink for directories
- Memoize readdir and getattr calls
- Fix "/" in directory names
- Download movie files to cache, serve read operations from cache
- Add
-o cache_pathoption - Test that Plex Media Server allows requesting file by range
- Use chunked read for file cache
- Listing of Show seasons
- Listing of Season episodes
- Listing of Episode files
- Downloading episode files
- Unicode normalize titles
- Support .plexmatch for Movies
- Support timestamps for Movies
- Support .plexmatch for Show directories
- Add movie timestamps to .plexmatch files
- Add timestamps to directories
- Add subtitle files for Movies
- Add subtitle files for Episodes
- Cache PlexAPI requests using requests-cache (
-o http_cache) - Publish package to pypi
- Add docker volume driver
- Add cache management (max size?)
- Add cache purge option (special file?)
- Detect need to refresh cache (add event listener)
- Handling of "artist" library type
- Add "status" and "reload" control channels
Requirements
- Python >= 3.11
- fuse, macfuse, osxfuse or fuse-t depending on your OS
Installation
- Install pipx
- Install
plex-fuse:pipx install plex-fuse
Usage
- Check requirements and installation
- Create config.ini for
python-plexapi - Mount the configured PMS somewhere, i.e
plex-server:mkdir plex-server; plex-fuse plex-server -f - Access the
plex-serverdirectory from another terminal umountorfusermount -uthe directory to remove theplex-servermount
Plex Config
Create Plex configuration file:
# ~/.config/plexapi/config.ini
[auth]
server_baseurl = http://127.0.0.1:32400
server_token = XBHSMSJSDJ763JSm
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
plex_fuse-0.11.1.tar.gz
(19.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file plex_fuse-0.11.1.tar.gz.
File metadata
- Download URL: plex_fuse-0.11.1.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
889afdcf96afbb4d307d1cc16b4aeeb3583f86d98b75a0a9e1eb181a20bc8fc7
|
|
| MD5 |
d4d543e5f8147c55d9e934e2498d3e4c
|
|
| BLAKE2b-256 |
3387e5c748614054bc70b73482fe25b4e8db0cc44cb77cd5341fa706a33e0607
|
File details
Details for the file plex_fuse-0.11.1-py3-none-any.whl.
File metadata
- Download URL: plex_fuse-0.11.1-py3-none-any.whl
- Upload date:
- Size: 29.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fe9bbc412fafadb3d6e693fd9a7263e516be737164abd7b91e790eccd467b8f
|
|
| MD5 |
bbd34742434e0e6088c3368de3dfeb88
|
|
| BLAKE2b-256 |
ce0a47a06b4022b02716afb0b6c810db21170292a22bd9ad90d76bcfbe5a077e
|