Metadata-Version: 2.4
Name: regwatch-eu
Version: 0.1.0
Summary: Monitor EU regulatory changes across EUR-Lex, ESMA and EBA
Project-URL: Homepage, https://github.com/scka-de/regwatch-eu
Project-URL: Repository, https://github.com/scka-de/regwatch-eu
Author: Gustavo
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: ai-act,compliance,dora,eu,fintech,mica,regulation
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Office/Business :: Financial
Requires-Python: >=3.10
Requires-Dist: click>=8.0
Requires-Dist: feedparser>=6.0
Requires-Dist: httpx>=0.27
Requires-Dist: pandas>=2.0
Requires-Dist: rich>=13.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Description-Content-Type: text/markdown

# regwatch-eu

Monitor EU regulatory changes across EUR-Lex, ESMA and EBA. Track DORA, MiCA, AI Act, PSD3, AMLD6.

Zero hosting. Zero API keys. Local-first.

## Install

```
pip install regwatch-eu
```

## Quick Start

```bash
# 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 status
```

## Python API

```python
from 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"]])
```

## Supported Regulations

| 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 |

## Data Sources

- **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.

## LLM Classification (Optional)

For higher classification accuracy, provide an LLM API key.

**CLI** — set the environment variable:

```bash
export REGWATCH_LLM_API_KEY="sk-ant-..."  # Claude
export REGWATCH_LLM_API_KEY="sk-..."      # OpenAI

regwatch update  # now uses LLM fallback for ambiguous items
```

**Python API:**

```python
rw = RegWatch(llm_api_key="sk-ant-...")  # Claude
rw = RegWatch(llm_api_key="sk-...")      # OpenAI
```

Without an LLM key, classification uses deterministic keyword matching (~80% accuracy).

## CLI Reference

```
regwatch update [--source SOURCE]
regwatch check [--regulation REG] [--since DATE] [--type TYPE] [--source SOURCE] [--format FORMAT]
regwatch status
regwatch regulations
```

### Environment Variables

| 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) |

## License

Apache 2.0
