At the moment library provides some basic functionality and can be used with caution. Breaking changes are expected with every release at this stage.
Huge thanks to @Mossop for all his contributions.
My goal (not sure, when I would be able to achieve it, or even if I'll achieve it) is to create an API, similar to python-plexapi. Actually, my final goal is to rewrite my plexiglas project into Rust from Python :) And to "simplify" the task I've decided to have a separate project with the API.
Any help is welcome. And just in case: I'm far from being an expert in Rust, so if you know how to do things in proper, Rust-way — feel free to create an issue (or, better, pull-request) to correct the code.
- MyPlex access
- Authentication using Token, Login+Password or Login+Password+OTP
- Listing known devices and connecting to them via MyPlex object
- Requesting Claim Token
- Changing privacy settings
- Controling webhooks
- Link Codes support
- Sharing: accepting/rejecting friendship, inviting somebody, sharing a server
- Working with Plex announcements
- Switching to another Plex Home user
- Watchlist
- Creating/changing managed users
- ???
- Player access
- Connecting to the player (directly or via server)
- Doing anything useful
- Basic server access
- Navigating the libraries
- Downloading media
- Transcoding
- Managing the server preferences
- Advanced server access
- Managing the libraries
- Changing items' metadata
- Changing items' preferences (e.g. metadata language)
- Listening for the server's events/alers
- Server stats reading
- Managing optimized versions of media
- ???
The codebase is regularly tested against three different PMS versions. The exact list of the releases is generated automatically on a daily basis, to keep up with all the recent PMS versions. We take every other minor release from the latest 5 minor releases. At the moment the following versions are tested:
- 1.40.1.8227-c0dd5a73e
- 1.32.8.7639-fb6452ebf
- 1.30.2.6563-3d4dc0cce
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.
You can find the contribution documentation in the CONTRIBUTING.md file.