ytmusic-organizer
your likes are not a playlist system. they are a pile.
ytmusic-organizer turns that pile into reusable youtube music playlists with a guided setup and a weekly sync that handles the boring part.
██╗ ██╗████████╗███╗ ███╗ ██████╗
╚██╗ ██╔╝╚══██╔══╝████╗ ████║██╔═══██╗
╚████╔╝ ██║ ██╔████╔██║██║ ██║
╚██╔╝ ██║ ██║╚██╔╝██║██║ ██║
██║ ██║ ██║ ╚═╝ ██║╚██████╔╝
╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝
Y T M O • playlist automation, human taste.
demo
good fit
- you dump tracks into youtube music likes and want usable playlists out of it.
- you want a weekly sync instead of another manual cleanup ritual.
- you prefer a cli that does the job over hand-curating playlists every week.
what it does
- builds an initial playlist structure from your liked songs.
- applies weekly incremental updates as you like new tracks.
- supports
manualmode when you want to provide JSON plans andapimode when you want openai-backed planning. - keeps state in
~/.ytmusic-organizerby default so runs stay repeatable.
install
recommended:
pipx install ytmusic-organizer
from source:
pipx install .
first run
- run guided setup:
ytmo setup
- run your weekly sync:
ytmo sync
- if you want end-to-end planning, use api mode:
export OPENAI_API_KEY=...
ytmo sync --mode api
safety model
- deletes only playlists listed in
managed_playlists.json, using playlist ids. - never performs arbitrary playlist deletion.
rebuildandcleanupare destructive and require explicit confirmation unless--yesis passed.--dry-rundoes not write playlists or workspace artifacts, but it may still require auth and network reads.
core commands
ytmo setup- guided bootstrap and initial playlist buildytmo sync- weekly incremental updatesytmo rebuild --yes- full destructive rebuildytmo cleanup --yes- remove managed playlists and local managed artifactsytmo stats- read-only workspace diagnosticsytmo demo- simulation walkthrough with no auth, network, or writes
docs
- cli and reference details: docs/reference.md
- automation integration: docs/automation.md
- demo asset workflow: docs/demo.md
- collaborator workflows: docs/collaborators.md
Metadata
Release files for ytmusic-organizer 0.2.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 | Provenance | Actions |
|---|---|---|---|---|
| ytmusic_organizer-0.2.1.tar.gz | 51.6 kB | With provenance | Details for ytmusic_organizer-0.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ytmusic_organizer-0.2.1-py3-none-any.whl | Python 3 | none | any | Details for ytmusic_organizer-0.2.1-py3-none-any.whl |
Total release size: 89.4 kB
Release files / ytmusic_organizer-0.2.1.tar.gz
| Download URL | ytmusic_organizer-0.2.1.tar.gz |
|---|---|
| Size | 51.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
99b0ba56ae2acbe10d0b818c3603b4ac4fcf49e9adb178dabc6f915c25298826
|
|
BLAKE2b-256 checksum How to use checksums |
cd12e4de8f72347aa72777174ab2e510ecab896a58f79d916759c5a277e2173e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 25, 2026.
Transparency logRelease files / ytmusic_organizer-0.2.1-py3-none-any.whl
| Download URL | ytmusic_organizer-0.2.1-py3-none-any.whl |
|---|---|
| Size | 37.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ef4987fd24d5c994782a4935721ed73aa4a5cb04cd3ff36cfc4bdaefb493d5b1
|
|
BLAKE2b-256 checksum How to use checksums |
e905576ad2ddf8b98ab0c1cade86719135e846763cc1d00cd3dffb3bd120cd5a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 25, 2026.
Transparency logSecurity for ytmusic-organizer 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for ytmusic_organizer-0.2.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 25, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.