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.1.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.1-py3-none-any.whl (59.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cdjeez-0.32.1.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.1.tar.gz
Algorithm Hash digest
SHA256 03a244c14dc1d1f89882a94bd750a2acc763d6e6ebf79c188a46e7243216813a
MD5 c81f23b813b849b3d41902d310382675
BLAKE2b-256 f9459fc0d5ac3073ceda77ef39c68ddca0580f5e0d0684d823fc6d88242a4b82

See more details on using hashes here.

Provenance

The following attestation bundles were made for cdjeez-0.32.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: cdjeez-0.32.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5e35bad58de3c7f55c2fc6337af9e2f4f6ba5c6e9b653728870978c2998f6994
MD5 86a2ef3e40d9860340806f0509ec8e77
BLAKE2b-256 008b2fac2669c74a8cea8013ce0fe45b04d20879c62cb8b01502b6175eda0a70

See more details on using hashes here.

Provenance

The following attestation bundles were made for cdjeez-0.32.1-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