Skip to content

LucaRonin/italian-law-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Italian Law Sync

Code and technical design for a Git-native mirror of Italian legislation in Laputa-compatible Markdown.

Contents

Current State

The current implementation covers Stage 0 through Stage 3:

  • live source probes for Normattiva, Senato bulk data, and Camera datasets
  • a flagship reconstruction cohort with backdated Git history
  • a real repeal example modeled from official Normattiva article payloads
  • a broader current enacted-law snapshot driven by Normattiva's updated-acts feed
  • checkpointed current-corpus sync batches with replayable manifests
  • backdated Git commits in the companion italian-law-data repo
  • Laputa type notes generated automatically for the published corpus
  • event notes, manifests, and article notes for the reconstructed history

Usage

Run the live probes:

PYTHONPATH=src python3 -m italian_law_sync.cli stage0 --output-dir fixtures/stage0

Generate the Stage 2 flagship cohort:

PYTHONPATH=src python3 -m italian_law_sync.cli stage2 --data-repo /Volumes/Jupiter/Workspace/italian-law-data

Generate the Stage 2.5 cohort with the repeal example:

PYTHONPATH=src python3 -m italian_law_sync.cli stage25 --data-repo /Volumes/Jupiter/Workspace/italian-law-data

Bootstrap the Stage 3 current enacted-law snapshot on top of the Stage 2.5 cohort:

PYTHONPATH=src python3 -m italian_law_sync.cli stage3 \
  --data-repo /Volumes/Jupiter/Workspace/italian-law-data \
  --start-day 2026-03-01 \
  --end-day 2026-04-12 \
  --reset-repo

Use --reset-repo only on a fresh italian-law-data checkout. On an existing reconstructed repo, omit it so the current-corpus batch is appended without duplicating the historical commit chain.

Resume the current snapshot from the last Normattiva checkpoint:

PYTHONPATH=src python3 -m italian_law_sync.cli stage3-sync \
  --data-repo /Volumes/Jupiter/Workspace/italian-law-data \
  --end-day 2026-04-12

Inspect the resulting article history:

git -C /Volumes/Jupiter/Workspace/italian-law-data log -- articles/it-state/090G0294/art-1.md
git -C /Volumes/Jupiter/Workspace/italian-law-data log -- articles/it-state/099G0363/art-5.md

Scope

The current design covers:

  • enacted national law from Normattiva Open Data
  • active parliamentary bills from Senato and Camera open data
  • article-level Git history for enacted-law updates
  • explicit repeal detection from official article payloads
  • feed-based current-corpus bootstrap and checkpointed delta sync
  • branch or PR-like handling for bills still in Parliament
  • Laputa-compatible frontmatter and relationships for laws, bills, people, institutions, and events

Sources

Primary sources documented in the design include:

  • Normattiva Open Data
  • Senato Open Data
  • Senato Akoma Ntoso bulk data
  • Camera Open Data
  • legalize-es as the reference product pattern

About

Python scripts to sync and process Italian law data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors