Skip to main content

SoundCloud → Soulseek → Serato/Rekordbox pipeline with auto-tagging, smart crates, and library backup

Project description

CDJeez

They said I can't bring my Numark, so I guess we're going old school again.

Automatically monitors SoundCloud playlists, searches Soulseek for lossless versions (AIFF > WAV > FLAC > MP3 320kbps), downloads them, converts to AIFF for CDJ compatibility, tags metadata, creates Serato smart crates, and keeps your DJ library backed up.

How it works

  1. Discovers all your SoundCloud playlists automatically (including private ones)
  2. Monitors for new tracks added to any playlist
  3. Searches Soulseek for lossless versions (AIFF > WAV > FLAC > MP3 320kbps)
  4. Converts FLAC/WAV to AIFF for maximum CDJ and Serato compatibility
  5. Tags metadata: artist, title, comment (playlist name), label, ISRC, composer
  6. Creates a Serato smart crate per playlist with rule: Comment IS <playlist_name>
  7. Backs up your Serato/Rekordbox metadata before every session

Install

pipx install cdjeez

Or from source:

pipx install .

Setup

cdjeez setup

The 8-step setup wizard detects your DJ software, configures SoundCloud auth, Soulseek credentials, AcoustID, playlist selection, and library backups.

Usage

cdjeez              # Run once (or attach to running daemon)
cdjeez --daemon     # Run as persistent daemon
cdjeez stop         # Gracefully stop the daemon
cdjeez log          # Tail daemon log output
cdjeez setup        # Re-run setup wizard
cdjeez update       # Self-update to latest version
cdjeez update --check  # Check for updates only
cdjeez uninstall    # Interactive uninstall

Configuration

All config lives in ~/.config/cdjeez/.env (created by cdjeez setup):

Variable Default Description
PRIMARY_DJ serato Primary DJ software (serato or rekordbox)
TWO_WAY_SYNC 0 Enable 2-way sync between DJ libraries
SLSK_USERNAME Soulseek username (required)
SLSK_PASSWORD Soulseek password (required)
SOUNDCLOUD_USER_URL auto Your SoundCloud profile URL
PLAYLIST_MODE all all or custom
MONITORED_PLAYLISTS Comma-separated playlist URLs (if custom)
BACKUP_ENABLED 0 Enable library backups
BACKUP_SERATO 0 Include Serato in backups
BACKUP_REKORDBOX 0 Include Rekordbox in backups
ACOUSTID_API_KEY AcoustID API key for fingerprint verification
AUTO_UPDATE_INTERVAL 14400 Auto-update check interval in seconds (4 hours)
SEARCH_TIMEOUT 30 Seconds to wait for Soulseek results
PREFER_FREE_SLOTS 1 Prefer users with free upload slots
MIN_FILESIZE_MB 5 Skip files smaller than this
FINGERPRINT_VERIFY 1 Enable audio fingerprint verification
UPSCALE_ENABLED 0 Enable library upscaling (not yet implemented)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdjeez-0.32.0.tar.gz (51.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdjeez-0.32.0-py3-none-any.whl (59.3 kB view details)

Uploaded Python 3

File details

Details for the file cdjeez-0.32.0.tar.gz.

File metadata

  • Download URL: cdjeez-0.32.0.tar.gz
  • Upload date:
  • Size: 51.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cdjeez-0.32.0.tar.gz
Algorithm Hash digest
SHA256 ebdd110a1a0ae1345f727b731863907c9f550aa2d924d85f57ef68ff7f44e244
MD5 78bae6c1a567d0a356eedc862301972e
BLAKE2b-256 1d1d1fac1302409597d4f8074dafa58fb44ef033e4435e92ba469da2b2ef93d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for cdjeez-0.32.0.tar.gz:

Publisher: publish.yml on JsonDaRula69/CDJeez

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cdjeez-0.32.0-py3-none-any.whl.

File metadata

  • Download URL: cdjeez-0.32.0-py3-none-any.whl
  • Upload date:
  • Size: 59.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cdjeez-0.32.0-py3-none-any.whl
Algorithm Hash digest
SHA256 12648aeb68f27a65162a3c4e66bd5da6476a16db3643ce56c9fda2bca2e716cd
MD5 2513ec7cabbff63927c0b10bd4a7d3cd
BLAKE2b-256 dea35720947c75db0c947654a85b66e8eaee95d6c83c369fad2cf1ed7d03ae0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for cdjeez-0.32.0-py3-none-any.whl:

Publisher: publish.yml on JsonDaRula69/CDJeez

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page