Monitor EU regulatory changes across EUR-Lex, ESMA and EBA. Track DORA, MiCA, AI Act, PSD3, AMLD6.
Zero hosting. Zero API keys. Local-first.
pip install regwatch-eu
# Fetch latest regulatory changes
regwatch update
# Check DORA-related changes
regwatch check --regulation dora
# Multiple regulations
regwatch check --regulation dora,mica --since 2025-01-01
# Export as JSON
regwatch check --format json > changes.json
# Cache status
regwatch statusfrom regwatch import RegWatch
rw = RegWatch()
rw.update()
# Query as pandas DataFrame
df = rw.check(regulations=["dora", "mica"], since="2025-01-01")
print(df[["date", "title", "regulation", "type"]])| ID | Name |
|---|---|
| dora | Digital Operational Resilience Act |
| mica | Markets in Crypto-Assets Regulation |
| ai_act | EU Artificial Intelligence Act |
| psd3 | Payment Services Directive 3 |
| amld6 | Anti-Money Laundering Directive 6 |
- EUR-Lex (Cellar SPARQL) — Legislative acts, delegated acts, implementing acts
- ESMA (RSS) — Guidelines, consultations, Q&As
- EBA (RSS) — Technical standards, guidelines, press releases
All sources are public. No API keys required.
For higher classification accuracy, provide an LLM API key.
CLI — set the environment variable:
export REGWATCH_LLM_API_KEY="sk-ant-..." # Claude
export REGWATCH_LLM_API_KEY="sk-..." # OpenAI
regwatch update # now uses LLM fallback for ambiguous itemsPython API:
rw = RegWatch(llm_api_key="sk-ant-...") # Claude
rw = RegWatch(llm_api_key="sk-...") # OpenAIWithout an LLM key, classification uses deterministic keyword matching (~80% accuracy).
regwatch update [--source SOURCE]
regwatch check [--regulation REG] [--since DATE] [--type TYPE] [--source SOURCE] [--format FORMAT]
regwatch status
regwatch regulations
| Variable | Description | Default |
|---|---|---|
REGWATCH_CACHE_DIR |
Cache directory | ~/.regwatch |
REGWATCH_LLM_API_KEY |
Claude or OpenAI API key for LLM classification | None (uses keyword matching) |
Apache 2.0