rekordbox-bulk-edit


Namerekordbox-bulk-edit JSON
Version 0.2.5 PyPI version JSON
download
home_pageNone
SummaryTools for bulk editing RekordBox database records and associated track files
upload_time2025-08-02 02:20:15
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
keywords bulk convert database dj edit music rekordbox
VCS
bugtrack_url
requirements pyrekordbox ffmpeg-python click commitizen
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Rekordbox Bulk Edit

A command-line tool for bulk editing and managing Rekordbox music files and database records

## ⚠️ DISCLAIMER

**ALWAYS BACK UP YOUR DATA BEFORE USING THIS TOOL!**

This tool directly modifies your Rekordbox database and can potentially move, rename, or delete your music files. While there are , unexpected issues could result in data loss. Before using this tool:

- Create a backup of your entire music library
- Back up your Rekordbox database files (typically located in `~/Library/Pioneer/rekordbox6/` on macOS)
- Test the tool on a small subset of files first using a filter option
- Use the `--dry-run` option to preview changes before applying them

**Use this tool at your own risk.**

## Credits

I made this project to help me correct poor decisions and bad habits in my library management, but it's only possible thanks to [pyrekordbox](https://github.com/dylanljones/pyrekordbox), which provides a comprehensive Python API into Rekordbox databases and XML files.

## Features

- **Convert**: Convert between lossless audio formats (FLAC, AIFF, WAV) and MP3, updating Rekordbox database records accordingly
- **Read**: Read and display track information from Rekordbox database with format filtering support
- **Audio Analysis**: Get detailed audio file information including format, bitrate, and metadata
- **Safety Checks**: Automatically detects running Rekordbox instances to prevent database corruption
- **Smart Filtering**: Skips files already in target format and excludes lossy formats from conversion input
- **Bit Depth Preservation**: Maintains original bit depth (16/24/32-bit) for lossless conversions

## Installation

1. Create a virtual environment:

   ```bash
   python3 -m venv venv
   ```

2. Activate the virtual environment:

   ```bash
   source venv/bin/activate  # On macOS/Linux
   ```

3. Install dependencies:

   ```bash
   pip install -r requirements.txt
   ```

4. Install the package:
   ```bash
   pip install -e .
   ```

## Usage

The tool provides a command-line interface with the following commands:

### Convert Audio Formats

Convert between lossless audio formats (FLAC, AIFF, WAV) and MP3, and update the Rekordbox database--keeping your analysis, cues, and track metadata:

```bash
rekordbox-bulk-edit convert [OPTIONS]
```

**Supported Conversions:**

- **Input formats**: FLAC, AIFF, WAV (lossless formats only)
- **Output formats**: AIFF, FLAC, WAV, MP3
- **Automatic detection**: Skips MP3/M4A files and files already in target format
- **Safety check**: Exits if Rekordbox is running to prevent database conflicts

**Options:**

- `--format [aiff|flac|wav|mp3]`: Choose output format (default: aiff)
- `--dry-run`: Preview changes without actually performing them
- `--auto-confirm`: Skip confirmation prompts (use with caution)

### Read Track Information

Display detailed information about tracks in your Rekordbox database:

```bash
rekordbox-bulk-edit read [OPTIONS]
```

**Options:**

- `--track-id ID`: Specify a particular track ID to read
- `--format [mp3|flac|aiff|wav|m4a]`: Filter by audio format (shows all formats if not specified)
- `--verbose, -v`: Show detailed information

### General Options

- `--version`: Show the version number
- `--help`: Show help information

## Examples

```bash
# Preview lossless to AIFF conversion without making changes
rekordbox-bulk-edit convert --dry-run

# Convert lossless files to MP3 format
rekordbox-bulk-edit convert --format mp3

# Convert lossless files to FLAC format
rekordbox-bulk-edit convert --format flac

# Convert files with automatic confirmation
rekordbox-bulk-edit convert --auto-confirm

# Read information for a specific track
rekordbox-bulk-edit read --track-id 12345 --verbose

# Show only FLAC files in database
rekordbox-bulk-edit read --format flac

# Show only MP3 files in database
rekordbox-bulk-edit read --format mp3

# Show all available commands
rekordbox-bulk-edit --help
```

## Development

- Add new dependencies to `requirements.txt`
- Activate your virtual environment before working: `source venv/bin/activate`
- Deactivate when done: `deactivate`
- Install in development mode: `pip install -e .`

## Requirements

- Python 3.6+
- Rekordbox database access
- Audio processing capabilities for FLAC/AIFF conversion

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "rekordbox-bulk-edit",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "bulk, convert, database, dj, edit, music, rekordbox",
    "author": null,
    "author_email": "James Viall <jamesviall@pm.me>",
    "download_url": "https://files.pythonhosted.org/packages/e0/7e/0fc81a3bb4debd92be1d479961026da15f8378bfdc6dce574aa6d5230d41/rekordbox_bulk_edit-0.2.5.tar.gz",
    "platform": null,
    "description": "# Rekordbox Bulk Edit\n\nA command-line tool for bulk editing and managing Rekordbox music files and database records\n\n## \u26a0\ufe0f DISCLAIMER\n\n**ALWAYS BACK UP YOUR DATA BEFORE USING THIS TOOL!**\n\nThis tool directly modifies your Rekordbox database and can potentially move, rename, or delete your music files. While there are , unexpected issues could result in data loss. Before using this tool:\n\n- Create a backup of your entire music library\n- Back up your Rekordbox database files (typically located in `~/Library/Pioneer/rekordbox6/` on macOS)\n- Test the tool on a small subset of files first using a filter option\n- Use the `--dry-run` option to preview changes before applying them\n\n**Use this tool at your own risk.**\n\n## Credits\n\nI made this project to help me correct poor decisions and bad habits in my library management, but it's only possible thanks to [pyrekordbox](https://github.com/dylanljones/pyrekordbox), which provides a comprehensive Python API into Rekordbox databases and XML files.\n\n## Features\n\n- **Convert**: Convert between lossless audio formats (FLAC, AIFF, WAV) and MP3, updating Rekordbox database records accordingly\n- **Read**: Read and display track information from Rekordbox database with format filtering support\n- **Audio Analysis**: Get detailed audio file information including format, bitrate, and metadata\n- **Safety Checks**: Automatically detects running Rekordbox instances to prevent database corruption\n- **Smart Filtering**: Skips files already in target format and excludes lossy formats from conversion input\n- **Bit Depth Preservation**: Maintains original bit depth (16/24/32-bit) for lossless conversions\n\n## Installation\n\n1. Create a virtual environment:\n\n   ```bash\n   python3 -m venv venv\n   ```\n\n2. Activate the virtual environment:\n\n   ```bash\n   source venv/bin/activate  # On macOS/Linux\n   ```\n\n3. Install dependencies:\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n4. Install the package:\n   ```bash\n   pip install -e .\n   ```\n\n## Usage\n\nThe tool provides a command-line interface with the following commands:\n\n### Convert Audio Formats\n\nConvert between lossless audio formats (FLAC, AIFF, WAV) and MP3, and update the Rekordbox database--keeping your analysis, cues, and track metadata:\n\n```bash\nrekordbox-bulk-edit convert [OPTIONS]\n```\n\n**Supported Conversions:**\n\n- **Input formats**: FLAC, AIFF, WAV (lossless formats only)\n- **Output formats**: AIFF, FLAC, WAV, MP3\n- **Automatic detection**: Skips MP3/M4A files and files already in target format\n- **Safety check**: Exits if Rekordbox is running to prevent database conflicts\n\n**Options:**\n\n- `--format [aiff|flac|wav|mp3]`: Choose output format (default: aiff)\n- `--dry-run`: Preview changes without actually performing them\n- `--auto-confirm`: Skip confirmation prompts (use with caution)\n\n### Read Track Information\n\nDisplay detailed information about tracks in your Rekordbox database:\n\n```bash\nrekordbox-bulk-edit read [OPTIONS]\n```\n\n**Options:**\n\n- `--track-id ID`: Specify a particular track ID to read\n- `--format [mp3|flac|aiff|wav|m4a]`: Filter by audio format (shows all formats if not specified)\n- `--verbose, -v`: Show detailed information\n\n### General Options\n\n- `--version`: Show the version number\n- `--help`: Show help information\n\n## Examples\n\n```bash\n# Preview lossless to AIFF conversion without making changes\nrekordbox-bulk-edit convert --dry-run\n\n# Convert lossless files to MP3 format\nrekordbox-bulk-edit convert --format mp3\n\n# Convert lossless files to FLAC format\nrekordbox-bulk-edit convert --format flac\n\n# Convert files with automatic confirmation\nrekordbox-bulk-edit convert --auto-confirm\n\n# Read information for a specific track\nrekordbox-bulk-edit read --track-id 12345 --verbose\n\n# Show only FLAC files in database\nrekordbox-bulk-edit read --format flac\n\n# Show only MP3 files in database\nrekordbox-bulk-edit read --format mp3\n\n# Show all available commands\nrekordbox-bulk-edit --help\n```\n\n## Development\n\n- Add new dependencies to `requirements.txt`\n- Activate your virtual environment before working: `source venv/bin/activate`\n- Deactivate when done: `deactivate`\n- Install in development mode: `pip install -e .`\n\n## Requirements\n\n- Python 3.6+\n- Rekordbox database access\n- Audio processing capabilities for FLAC/AIFF conversion\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Tools for bulk editing RekordBox database records and associated track files",
    "version": "0.2.5",
    "project_urls": {
        "Homepage": "https://github.com/jviall/rekordbox-bulk-edit",
        "Issues": "https://github.com/jviall/rekordbox-bulk-edit/issues",
        "Repository": "https://github.com/jviall/rekordbox-bulk-edit"
    },
    "split_keywords": [
        "bulk",
        " convert",
        " database",
        " dj",
        " edit",
        " music",
        " rekordbox"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "718615bc746d614c9398d6b8b5e4c4eef357fa561b4ddb204719c031dc85a1cb",
                "md5": "daff0b544b397394f961644602233f25",
                "sha256": "ed9b2756058cdad1129812da1ac179a06f0a15b2cd6516173d6627b93ca295f4"
            },
            "downloads": -1,
            "filename": "rekordbox_bulk_edit-0.2.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "daff0b544b397394f961644602233f25",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 14419,
            "upload_time": "2025-08-02T02:20:13",
            "upload_time_iso_8601": "2025-08-02T02:20:13.555457Z",
            "url": "https://files.pythonhosted.org/packages/71/86/15bc746d614c9398d6b8b5e4c4eef357fa561b4ddb204719c031dc85a1cb/rekordbox_bulk_edit-0.2.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e07e0fc81a3bb4debd92be1d479961026da15f8378bfdc6dce574aa6d5230d41",
                "md5": "afa1c24932361f3d6bbda325a8b9d284",
                "sha256": "7d97b83508f386bdcd7838761f20180fe6d8a084942adc7e492d5b5398d9dce8"
            },
            "downloads": -1,
            "filename": "rekordbox_bulk_edit-0.2.5.tar.gz",
            "has_sig": false,
            "md5_digest": "afa1c24932361f3d6bbda325a8b9d284",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 19550,
            "upload_time": "2025-08-02T02:20:15",
            "upload_time_iso_8601": "2025-08-02T02:20:15.087804Z",
            "url": "https://files.pythonhosted.org/packages/e0/7e/0fc81a3bb4debd92be1d479961026da15f8378bfdc6dce574aa6d5230d41/rekordbox_bulk_edit-0.2.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-02 02:20:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jviall",
    "github_project": "rekordbox-bulk-edit",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "pyrekordbox",
            "specs": [
                [
                    ">=",
                    "0.1.0"
                ]
            ]
        },
        {
            "name": "ffmpeg-python",
            "specs": [
                [
                    ">=",
                    "0.2.0"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    ">=",
                    "8.0.0"
                ]
            ]
        },
        {
            "name": "commitizen",
            "specs": [
                [
                    ">=",
                    "3.0.0"
                ]
            ]
        }
    ],
    "lcname": "rekordbox-bulk-edit"
}
        
Elapsed time: 0.42621s