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
Metadata
Release files for plex-fuse 0.11.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| plex_fuse-0.11.1.tar.gz | 19.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plex_fuse-0.11.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 48.8 kB
Release files / plex_fuse-0.11.1.tar.gz
| Download URL | plex_fuse-0.11.1.tar.gz |
|---|---|
| Size | 19.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
889afdcf96afbb4d307d1cc16b4aeeb3583f86d98b75a0a9e1eb181a20bc8fc7
|
|
BLAKE2b-256 checksum How to use checksums |
3387e5c748614054bc70b73482fe25b4e8db0cc44cb77cd5341fa706a33e0607
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|
Release files / plex_fuse-0.11.1-py3-none-any.whl
| Download URL | plex_fuse-0.11.1-py3-none-any.whl |
|---|---|
| Size | 29.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1fe9bbc412fafadb3d6e693fd9a7263e516be737164abd7b91e790eccd467b8f
|
|
BLAKE2b-256 checksum How to use checksums |
ce0a47a06b4022b02716afb0b6c810db21170292a22bd9ad90d76bcfbe5a077e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.8
|