Getting started¶
plistsync is a Python toolbox designed to solve the common problem of fragmented music libraries across different platforms. Whether you’re a DJ moving playlists between Traktor and streaming services, a music enthusiast syncing collections between Plex and Spotify, or simply organizing your music across multiple platforms, plistsync provides a unified interface to transfer, convert, and match your music data.
The core of plistsync is its abstraction layer that normalizes tracks, collections, and playlists from various services into a common format, enabling seamless synchronization while handling the complexities of different APIs, authentication methods, and metadata formats.
Installation¶
You can install plistsync from PyPi.
pip install plistsync
uv add plistsync
To keep the package slim and flexible, all services (like spotify or tidal) are optional. But to get started, we recommend grabbing them:
pip install plistsync[allservices]
uv add plistsync[allservices]
Pre-v1.0.0
The library is currently pre-release (<1.0.0). While fully usable, breaking changes to the public API (e.g., function signatures, module structure) may occur without deprecation warnings. Once v1.0.0 is released, we will follow semantic versioning strictly and properly deprecate public-facing methods before removal.
Note
plistsync follows Semantic Versioning. While we strive to maintain backward compatibility within the same major version, we strongly recommend using a lockfile (such as requirements.txt for pip or uv.lock for uv) to prevent unexpected breaking changes when upgrading between major versions.
First steps¶
To get started with plistsync, you have a few recommended paths:
Understand the key abstractions and notation of plistsync. Learn about Tracks, Collections, Matches, and Services, which form the foundation of the library.
Follow step-by-step guides to see plistsync in action. Great for hands-on learning and testing common workflows. TODO
Find in-depth reference material, API documentation, and additional resources to deepen your understanding of plistsync.