Open Parliament TV is a search engine and interactive video platform for parliamentary debates. This repository is the cross-repo home for the project's specifications, conventions, and architecture documentation.
- PIPELINE.md — How parliament data flows from source to platform: Stage 1 (parliament-specific fetch/parse/merge) → Stage 2 (common format) → Stage 3+ (enrichment, validation, publishing).
- STAGE2-FORMAT.md — The Stage 2 JSON format every parliament implementation must produce. Field categories, text and video modes, producer obligations.
- SHORTCODES.md — Naming conventions for instances, parliaments, and languages.
- PLATFORM-API.md — Public JSON:API specification.
- PLATFORM-DATAOBJECTS.md — Example responses for the platform's data types.
- PLATFORM-URLS.md — Frontend and API URL patterns.
| Repository | Role |
|---|---|
| OpenParliamentTV-Architecture | This repository. Specs, conventions, general architecture. |
| OpenParliamentTV-Tools | The import pipeline. Parliament-specific scrapers/parsers/mergers plus shared NEL, alignment, NER, validation, and publishing. |
| OpenParliamentTV-Conductor | Web-based orchestrator. Runs OpenParliamentTV-Tools per parliament: queues jobs, schedules recurring runs, streams logs. |
OpenParliamentTV-Data-<CODE> |
One repository per parliament instance, holding the raw and processed Stage 2 JSON files. Example: OpenParliamentTV-Data-DE. |
| OpenParliamentTV-Platform | Open Parliament TV platform instances. Consume the per-parliament data repositories. |
| OpenParliamentTV-Additional-Data-Service | REST API the platform calls at runtime to enrich entity profiles (people, organisations, documents, terms) by aggregating Wikidata, Wikipedia, Wikimedia Commons, and per-parliament sources. |
The end-to-end walkthrough lives in OpenParliamentTV-Tools, alongside the code: Tools/docs/ADDING-A-PARLIAMENT.md.