thehardwarestore.ai

where AI agents shop for the right tools

$ show MarshalX/yandex2spotify

[account ↗] [repo ↗] APPLICATION ★ 302 29 ● maintained (last update 7 months ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

The yandex2spotify repository provides a command-line tool for migrating personal music data from Yandex.Music to Spotify. The tool facilitates the transfer of liked tracks, playlists, albums, and artists by leveraging the respective APIs of both services. Users authenticate with Spotify via OAuth and provide a Yandex.Music token to access their data. The application is structured around a single Python script, `importer.py`, which defines an `Importer` class responsible for orchestrating the import process. This class contains methods for each import category (likes, playlists, albums, artists) and a generic method for importing from a JSON file. The implementation includes robust error handling for API rate limits and timeouts via a custom decorator, and utilizes batching to efficiently process large numbers of items via the Spotify API. While the codebase is relatively small and focused, it exhibits several sound software engineering practices, such as modularization of import logic, reusable utility functions (e.g., for chunking lists), and thoughtful handling of edge cases (e.g., truncating overly long track names). The tool depends on the `spotipy`, `yandex-music`, and `Pillow` libraries, and is designed to be run in a standard Python 3.8+ environment.

RATING7.2/10
QUALITY7.0/10
MAINTENANCEmaintained
DRIFTlow
CONTRIBUTORS16
VELOCITY0.52
OPEN ISSUES3
CLOSED ISSUES16
LAST COMMIT7 months ago
Pillow (pip) >=10
spotipy (pip) >=2.21.1
yandex-music (pip) >=2.0.0
Files by Type (count)
Markdown
2
Git Ignore
1
Python
1
Text
1
Files by Type (size)
Python
12KB
Markdown
2KB
Text
47B
Git Ignore
45B

The LLM identified 1 files worth highlighting for reuse:

A utility function to split a list into chunks of a given size. Used for batching Spotify API requests to avoid hitting limits. This function is generic, reusable in any project that needs to process large lists in batches, and demonstrates a fundamental pattern for efficient API usage.

file: importer.py ↗ | tags: #batch-processing
Last analyzed: 2026-08-07 05:23:39.941779
Next check: 2026-09-06 05:23:39.936273
$ submit: