juris is an open-source Python CLI that collects and normalizes Swedish and EU legal documents into a unified, version-controllable database of JSON + Markdown files. It is designed for legal researchers, journalists, civic-tech developers, and AI/LLM pipelines that need a clean, reproducible corpus of Swedish and European law.
GitHub repository · PyPI package · Documentation · CLI manual · llms.txt
pip install juris juris collect-all juris status
Documents are written to data/{doc_type}/{session}/{id}.{json,md}. JSON for machines, Markdown with YAML frontmatter for humans and LLMs.
data/{doc_type}/{session}/{id}.{json,md}
git diff
.state/
--help-agent
--debug-agent
commands
Bills (prop), motions (mot), committee reports (bet), parliamentary writs (skr), official inquiries (SOU), ministry memoranda (Ds), committee directives (dir), council-of-legislation referrals (lagr), statutes (SFS), Supreme Court rulings (NJA), Labour Court (AD), Supreme Administrative Court (HFD), land & environment courts (mod, pmod), Parliamentary Ombudsman decisions (JO), Chancellor of Justice decisions (JK), agency regulations (foreskrift, AFS, HSLF-FS), EU regulations (eu_reg), EU directives (eu_dir), CJEU rulings (cjeu), and ECHR rulings (echr).
prop
mot
bet
skr
SOU
Ds
dir
lagr
SFS
NJA
AD
HFD
mod
pmod
JO
JK
foreskrift
AFS
HSLF-FS
eu_reg
eu_dir
cjeu
echr
data.riksdagen.se
regeringen.se
domstol.se
jo.se
jk.se
lagrummet.se
eur-lex.europa.eu
curia.europa.eu
hudoc.echr.coe.int
juris
juris collect
juris collect-type
juris collect-all
juris status
juris stats
juris man
Python 3.11+, async/await, httpx (HTTP), pydantic (validation), beautifulsoup4 + lxml (HTML/XML), click (CLI), pymupdf (PDF text extraction), and pyyaml (Markdown frontmatter). Strict mypy, ruff linting, pytest with asyncio_mode = auto.
httpx
pydantic
beautifulsoup4
lxml
click
pymupdf
pyyaml
mypy
ruff
asyncio_mode = auto
MIT — see LICENSE. Source on GitHub, package on PyPI.