Parliament

A data platform for French parliamentary data with ingestion, enrichment, and API serving.

Description

Parliament is a data platform that ingests legislative data from the Assemblée Nationale open data portal, transforms it, and serves it through a read-only API. It follows a medallion architecture: raw XML data is ingested into Parquet files, transformed into clean silver tables, then loaded into PostgreSQL for serving.

The silver layer covers deputies, mandates, roll-call votes, plenary sessions, and transcribed interventions. On top of this, a gold enrichment layer adds embeddings (Voyage AI), topic modeling (BERTopic), sentiment analysis (Claude), and an interaction graph extracted from parliamentary debates.

Tech stack

  • Python 3.13 with Polars for data processing
  • PostgreSQL 16 + pgvector for storage and vector search
  • FastAPI for the read-only API
  • BERTopic for topic modeling
  • Voyage AI and Claude for embeddings and sentiment
Last modified 2025.10.01