2025-04-05 23:27:00 +03:00
2025-04-05 23:27:00 +03:00
2025-04-05 23:27:00 +03:00
2025-04-05 23:27:00 +03:00
2025-04-05 23:27:00 +03:00

Exportify to TuneMyMusic Converter (ett)

A Rust CLI tool to convert Spotify playlist CSV exports from Exportify to TuneMyMusic CSV format.

Features

  • Convert CSV files from Exportify format to TuneMyMusic format
  • Process single files or entire directories of CSV files
  • Automatically detects when a directory is provided as input
  • Detailed validation and statistics reporting

Build from Source

  1. Clone this repository:

    git clone <repository-url>
    cd exportify-to-tunemusic
    
  2. Build the project:

    cargo build --release
    
  3. The binary will be available at target/release/ett

Usage

Single File Processing

Convert a single Exportify CSV file to TuneMyMusic format:

ett [INPUT_FILE] [OUTPUT_FILE]

Where:

  • [INPUT_FILE] is the path to your Exportify CSV file (defaults to exportify.csv)
  • [OUTPUT_FILE] is the path where the converted file will be saved (defaults to converted_tunemymusic.csv)

Example:

ett my_playlist.csv tunemymusic_output.csv

Directory Processing

Process all CSV files in a directory:

ett --dir [INPUT_DIRECTORY] [OUTPUT_DIRECTORY]

or using the short flag:

ett -d [INPUT_DIRECTORY] [OUTPUT_DIRECTORY]

Where:

  • [INPUT_DIRECTORY] is the directory containing Exportify CSV files
  • [OUTPUT_DIRECTORY] is the directory where converted files will be saved

Example:

ett --dir ~/Downloads/playlists ~/converted_playlists

Note: You can also omit the --dir flag - the tool will automatically detect if the input is a directory:

ett ~/Downloads/playlists ~/converted_playlists

Options

  • -d, --dir: Process all CSV files in a directory
  • -h, --help: Show help message
  • -V, --version: Show version information

Output Format

The output file will have the following columns, exactly matching TuneMyMusic's import format:

  • Track name
  • Artist name
  • Album
  • Playlist name
  • Type
  • ISRC
  • Spotify - id

Dependencies

This project uses the following crates:

  • csv: For CSV reading and writing
  • serde: For serialization/deserialization of CSV records
  • clap: For command-line argument parsing with a modern API

License

MIT

Description
Convert Exportify CSV files to TuneMyMusic CSV format
Readme 35 KiB
Languages
Rust 100%