This release is a pre-release and may not be stable for production use.
rekordbox-edit
A command-line tool for bulk operations on your Rekordbox library. Search tracks, edit metadata, and convert between audio formats with the benefit of database updates that preserve all your cues, analyses, and metadata.
[!CAUTION] This tool can modify your Rekordbox database and audio files. Always back up your data first. No warranty is provided--you assume all risk and liability of data loss in using this. See Safety and Best Practices
[!WARNING] This project is in active development with no stable version released yet. Breaking changes are likely to occur across version 0 releases until the API and behavior stabilizes.
Full documentation: rekordbox-edit.readthedocs.io
Installation
pip install rekordbox-edit
Requirements:
- Python 3.11+
- FFmpeg (for audio conversion)
Quick Start
Search your library:
rbe search --artist "Daft Punk" --format flac
rbe search --playlist "House Favorites"
Edit track metadata:
# Fix a typo across every matching track title
rbe edit --title "Teh" Title --match "Teh" --replace "The"
Convert audio files:
# Preview what would be converted
rbe convert --artist "Daft Punk" --format-out aiff --dry-run
# Convert all FLAC or WAV files to AIFF without confirming
rbe convert --format flac --format wav --format-out aiff --yes
Import new tracks:
# Import a folder into the library and an existing playlist
rbe import "/Users/me/Music/New Tracks" --to-playlist "Recently Added" --yes
See the documentation for every command, the full filtering language, and scripting recipes.
Safety and Best Practices
Before using this tool:
-
Back up your Rekordbox database
Rekordbox already keeps multiple backups. But every time you close it, it creates a fresh one and deletes the oldest, so repetitive exits will quickly make those backups fairly useless.
You should make manual copies of RB's database backups before using this. You can usually find them in
~/Library/Pioneer/rekordbox/on macOS or%APPDATA%\Pioneer\rekordbox\on Windows. -
Back up your music library
If you don't have a back up already it's a very worthwhile investment, even if you don't plan to use this tool! Find yourself a cheap external drive, you won't regret it.
And more generally you should limit the potential impact of a mistake by using filters to target a few tracks at a time (e.g. --artist "Crazy Frog" --first 5) before targeting a larger set, and always run with --dry-run first.
Credits
This project exists thanks to @dylanjones, the creator of pyrekordbox, which provides the Python API for interacting with the Rekordbox database.
I built this tool to help correct my own bad habits and missteps in managing and organizing my Rekordbox library. If it helps you too, great! If you find issues or have ideas, contributions are welcome.
AI Usage
I believe it's important to be aware of and to disclose AI usage. The way its presence and usage is forced on us from every direction is too often gross and oppressive, and it's used almost exclusively for capitalist profit.
I'm mostly attempting to thoughtfully disclose that generative AI has been a significant tool in building out this project. I don't personally enjoy too much coding in my personal time, but I feel passionate about making rekordbox-edit--AI has admittedly helped me bridge that gap between my capacity and my goals of completing it. This being said, I'm a career professional software engineer who takes pride in their work, and I don't want to produce a vibe-coded mess any more than you want to experience it. Please validate the quality of this project yourself--at the end of the day it's just code written by a stranger on the internet!
p.s. If it's any consolation, my main test subject has been my own 10,000+ track RekordBox library--a risk I do not take lightly. :3
Contributing
See CONTRIBUTING.md for development setup, testing, and contribution guidelines.
Release files for rekordbox-edit 0.13.1.dev1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rekordbox_edit-0.13.1.dev1.tar.gz | 7.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rekordbox_edit-0.13.1.dev1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.2 MB
Release files / rekordbox_edit-0.13.1.dev1.tar.gz
| Download URL | rekordbox_edit-0.13.1.dev1.tar.gz |
|---|---|
| Size | 7.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
630f9a07cd1bba9e39975fc89a4f144f67b4f3aea30737a35c93631ac826bb76
|
|
BLAKE2b-256 checksum How to use checksums |
8362e44b14f0d687dda3e7e4abadab16091a6161c644a58fe49a37a6d496741f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 8, 2026.
Transparency logRelease files / rekordbox_edit-0.13.1.dev1-py3-none-any.whl
| Download URL | rekordbox_edit-0.13.1.dev1-py3-none-any.whl |
|---|---|
| Size | 82.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bba079ac54693539ae496b42dd2f6f665b361f5324e00176dab9dbb85a87b4fc
|
|
BLAKE2b-256 checksum How to use checksums |
6599dc464d6bf5b92ac211d5c1aebdbe705c3965e6e777c9ea8c9d89bf7a9259
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 8, 2026.
Transparency log