Metadata-Version: 2.4
Name: djhud
Version: 0.9.26
Summary: Lightweight screen/webcam region capture and virtual camera tool for DJs
Project-URL: Homepage, https://github.com/djhud/djhud
Project-URL: Issues, https://github.com/djhud/djhud/issues
Author: DJ HUD Contributors
License-Expression: MIT
License-File: LICENSE
Keywords: dj,hud,obs,rekordbox,screen-capture,serato,streaming,traktor,vdo-ninja,virtual-camera,webcam
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Multimedia :: Sound/Audio
Classifier: Topic :: Multimedia :: Video
Requires-Python: >=3.9
Requires-Dist: aiohttp>=3.9
Requires-Dist: mss>=7.0
Requires-Dist: numpy>=1.21
Requires-Dist: opencv-python>=4.5
Requires-Dist: pillow>=9.0
Requires-Dist: pyobjc-framework-quartz>=9.0; sys_platform == 'darwin'
Provides-Extra: all
Requires-Dist: pyobjc-framework-quartz>=9.0; (sys_platform == 'darwin') and extra == 'all'
Requires-Dist: pyvirtualcam>=0.3; extra == 'all'
Provides-Extra: dev
Requires-Dist: build; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Provides-Extra: mac
Requires-Dist: pyobjc-framework-quartz>=9.0; extra == 'mac'
Provides-Extra: virtualcam
Requires-Dist: pyvirtualcam>=0.3; extra == 'virtualcam'
Description-Content-Type: text/markdown

# DJ HUD

Lightweight screen/webcam region capture and virtual camera tool for DJs.

Capture BPM, track info, waveforms, and deck status from your DJ software and stream it to remote DJs via VDO.Ninja, OBS, Discord, or Zoom.

## Install

```bash
pip install djhud
```

### Optional extras

```bash
# Virtual camera output (requires OBS Virtual Camera driver on Windows)
pip install djhud[virtualcam]

# macOS window listing support
pip install djhud[mac]

# Everything
pip install djhud[all]
```

## Run

```bash
djhud
```

Or as a Python module:

```bash
python -m djhud
```

## Features

- **Region capture** — select parts of any monitor, window, or webcam
- **Region editor** — drag, resize, crop, scale, lock aspect ratio, snap to grid, pixel nudge
- **Canvas compositor** — combine multiple regions into a single output
- **Webcam input** — device selection, resolution, FPS, flip, rotate, brightness, contrast, freeze/snapshot
- **Virtual camera output** — via pyvirtualcam → OBS Virtual Camera → VDO.Ninja / Discord / Zoom
- **Presets** — save/load JSON layouts per DJ app
- **System diagnostics** — dependency check, capability check, export report
- **Cross-platform** — Windows (full), macOS (screen + webcam), Linux (screen + webcam)

## Use case

Remote DJ back-to-back streaming. Capture BPM, track, key, waveform, and deck status from Traktor / Rekordbox / Serato / VirtualDJ / Djay and stream to your remote DJ partner.

## Supported DJ software

Works with any DJ software by capturing screen regions. Preset templates planned for:

- Traktor Pro
- Rekordbox
- Serato DJ
- VirtualDJ
- Djay Pro

## Requirements

- Python 3.9+
- Windows 10/11, macOS, or Linux
- For virtual camera: OBS Virtual Camera driver (Windows) or OBS (Mac/Linux)

## License

MIT
