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.31.1.tar.gz (47.5 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.31.1-py3-none-any.whl (55.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cdjeez-0.31.1.tar.gz
Algorithm Hash digest
SHA256 1ead35fb5b5de394b8d0dba765f3e7152bce847f7f3b6fea0bbc69c0d9389fe5
MD5 01b5c8bcb87d620824b636eed495e807
BLAKE2b-256 d46c5c572281bf4bbb9e095a25097694fc0f99a361cfcaca4c00d0bb2197d3d2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cdjeez-0.31.1-py3-none-any.whl
  • Upload date:
  • Size: 55.0 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.31.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cabd6fb96455b4b29fb6a5d2a28a03d89241c6b2a11f74fc42bc97e579ac52c7
MD5 52214e60495f584d57f8a34dc88e3332
BLAKE2b-256 e5f5d8366fc8fc589cf4537904fc3dd66a2068d78f34eefec4ab96f81176e6ec

See more details on using hashes here.

Provenance

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