This page is for code contributors working on GameDB development, tests, or workflow automation.
Python dependencies are managed with uv. The dependency declarations live in
pyproject.toml, and uv.lock is committed so local development and CI use the same resolved package set.
Install uv outside this repository's .venv if it is not already available:
pipx install uv
# or
python -m pip install --user uvIf Python 3.14 is not already installed, install it with uv:
uv python install 3.14Create or update the project .venv environment, including test dependencies:
uv sync --extra devRun Python commands through uv so they use the synced .venv environment:
uv run python -m pytest testsNode dependencies still use npm:
npm ci --ignore-scripts
npm testWhen pyproject.toml dependencies change, update the lock file and include it in the same pull request:
uv lockCI runs uv sync --locked, so dependency changes fail until uv.lock is current. To check that locally, run:
uv sync --locked --extra dev