Skip to content

Development

Setup

Follow the installation steps to set up your environment. The same virtual environment is used for development.

Running tests

.venv/bin/python -m pytest tests/ -v

Tests are located in the tests/ directory at the project root.

Pre-commit hook

The project uses a pre-commit hook that automatically runs the test suite before each commit. Ensure your virtual environment is set up correctly so the hook can find the Python interpreter and dependencies.

Logging

Logs are written to logs/ at the project root. Each day gets its own file (e.g. logs/2026-07-07.log). The file handler logs at INFO level by default.

You can enable console logging with --log-level:

./thuis.sh --log-level DEBUG https://www.vrt.be/vrtmax/a/show/...

To tail the current log file in real-time, use the wrapper script's --follow / -f option:

./thuis.sh --follow
./thuis.sh -f   # shorthand

This finds the most recently modified .log file in logs/ and runs tail -F on it.

Project structure

thuis/
├── src/thuis/main.py      Main entry point
├── thuis.sh               Linux wrapper script
├── thuis.bat              Windows wrapper script
├── requirements.txt       Python dependencies (patched yt-dlp)
├── tests/                 Test suite
├── media/                 Downloaded videos (gitignored)
└── website/               Docusaurus documentation site

Patched yt-dlp

thuis requires a patched version of yt-dlp that supports VRT MAX authentication. The minimum required version is 2026.06.09, available from the Aldo-f/yt-dlp fork (tag v2026.06.09-patch1). It is installed automatically via requirements.txt.