Skip to content

Development Environment

You have two development options. To interact with GPIO or other hardware, it’s required to develop directly on a Raspberry Pi. For general development of Python code (Lauschkiste) or JavaScript (Web App), your own machine (Linux, Mac, Windows) is enough.

The full setup is running on the RPi and you access files via SSH.

We recommend to use at least a Pi 3 or Pi Zero 2 for development. While this hardware won't be needed in production, it comes in helpful while developing.

  1. Follow the install guide steps
  2. Install your feature/fork branch of Lauschkiste (install.sh --from source --repo <you>/lauschkiste --branch <branch>).

Lauschkiste also runs on any Linux machine. The Raspberry Pi specific stuff will not work of course. That is no issue depending our your development area. USB RFID Readers, however, will work. The built-in player (local_audio) needs no further software.

Install the runtime and development dependencies with uv (project metadata and tool config live in pyproject.toml):

Terminal window
uv sync --group dev

Everything runs in that virtual environment: uv run lauschkiste (the server), uv run lauschctl --help, uv run pytest. To work in it directly, source .venv/bin/activate (leave with deactivate). A box installed with install.sh --from github|pypi keeps Lauschkiste in its own environment instead (see The installer).

You start the Lauschkiste core application and the Web App development server separately (see Web App).

You can also use WSL on Windows 10 or 11. This section describes how to use WSL with Visual Studio Code.

  1. Install a Debian or Ubuntu image from Microsoft Store
  2. Install the extension Remote Explorer in Visual Studio Code
  3. Select Remote Explorer
  4. Select “WSL Targets”
  5. Right-click on the previously installed WSL image and select “Connect in Current/New Window”
  6. Follow the instructions from above