Growing up, my friends and I were always in a bit of friendly competition to build the most rare and complete collection of vinyl, cassettes and CDs from our favorite artists. As we got older, and our collections grew, it became more difficult to remember just what was in your collection. Also it's not unusual for collectors to have multiple copies of a specific release, each with some attribute that makes it unique or maybe the condition is better on one vs another.
MiMDB is a Python application that helps you catalog your physical media (vinyl records, CDs, cassettes) by leveraging computer vision and the Discogs API to provide specific release details. The application supports both batch processing of multiple barcode images and interactive single-entry mode allowing you to record condition ratings and notes. The final output is a CSV file.
- Batch Processing: Scan multiple barcode images from a directory
- Interactive Mode: Manual entry with condition ratings and notes
- Multiple Input Types: Support for barcodes and catalog numbers
- Condition Tracking: Rate media and sleeve condition
- CSV Export: Save all data to CSV format for easy management
- Discogs Integration: Retrieve detailed release information
- Python 3.10.0 or higher
- Discogs account and user token. It's free
- Clone this repository
git clone https://github.com/jsoningram/mimdb.git- Navigate to application directory
cd mimdb- Install dependencies
macOS:
brew install zbarLinux (Debian):
sudo apt-get install libzbar0Windows:
The zbar DLLs are included with the Windows Python wheels. Alternatively, see
the installation guide
Finally:
python -m pip install -r requirements.txtRename the provided .env.example to .env and replace
your_discogs_personal_access_token with your Discogs PAT. The Discogs API
requires that you identify your application via the user agent. Replace
username with your Discogs username.
DISCOGS_USER_TOKEN=your_discogs_personal_access_token
USER_AGENT=MiMusicDB_username/0.1python mimdb.pyCalling python of mimdb.py will present a menu allowing you to choose how you would like to use MiMDB, in Batch or Interactive mode.
Batch mode is perfect for collectors who want to process their entire collection efficiently. You simply photograph the barcodes on your albums, place all these images in a folder, and let the application work through them automatically. It reads each barcode, queries Discogs for that specific release, and compiles all the information into a structured CSV file. This mode is ideal for initial collection cataloging or processing recent acquisitions.
Interactive mode offers more granular control and is designed for collectors who want to include condition assessments and personal notes. This mode allows you to input either a barcode or catalog number, then rate both the media and sleeve condition using standard grading scales (from Poor to Mint). You can also add personal notes about the item's history, pressing variations, or other relevant details. This approach is perfect for valuable items or when building a detailed inventory for insurance or resale purposes.
- Sign in or create a Discogs account
- From the user menu, select "Settings", then "Developers" from the sidebar
- Click the button to "Generate new token"
- Expert mode using all command-line args
- Wish list