Microdata Lab is licensed under the Apache License 2.0. This document describes the contribution contract that applies when the repository is public.
- Install
uv, Node.js, npm, and micromamba. - Run
uv sync --all-extras --dev. - Run
scripts/bootstrap_r.sh. - Install browser dependencies with
npm --prefix viz/interactive ciandnpx --prefix viz/interactive playwright install --with-deps chromium. - Run the verification commands below before proposing a change.
uv run ruff check .
uv run ruff format --check .
uv run mypy src
uv run pytest
npm --prefix viz/interactive run typecheck
Changes to renderers must also render the checked example analysis and run browser QA at 375, 768, 1280, and 1920 pixels.
Follow docs/adding-source.md and the acquisition, methodology, and benchmark gates in AGENTS.md. New adapters must use official agency sources or an explicitly configured licensed API. They must fail visibly rather than substitute mirrors, inferred schemas, or fabricated fixtures.
Do not commit raw microdata, licensed extracts, secrets, .env files, generated caches, or provider credentials. Test fixtures must be synthetic, minimal, and labeled. Public documentation may link to official sources but must not redistribute files whose provider terms prohibit redistribution.
Keep changes coherent and scoped. Include tests for failure paths and describe the official benchmark used to accept a new source/year pipeline.