> ## Documentation Index
> Fetch the complete documentation index at: https://docs.law4devs.eu/llms.txt
> Use this file to discover all available pages before exploring further.

# Quick Start

> Build your first Law4Devs integration in Python in under five minutes.

## Prerequisites

Install the SDK first:

```bash theme={null}
pip install law4devs
```

Then create a client:

```python theme={null}
from law4devs import Law4DevsClient

client = Law4DevsClient()
```

***

## List All Frameworks

Fetch the first page of available EU regulatory frameworks:

```python theme={null}
from law4devs import Law4DevsClient

client = Law4DevsClient()

page = client.frameworks.list()
print(f"Total frameworks: {page.meta.total}")

for fw in page.data:
    print(f"  {fw.slug}: {fw.name} ({fw.article_count} articles)")
```

Example output:

```
Total frameworks: 19
  gdpr: General Data Protection Regulation (99 articles)
  cra: Cyber Resilience Act (71 articles)
  nis2: Network and Information Security Directive 2 (46 articles)
  ...
```

***

## Iterate All CRA Articles

Use `iter()` to walk every article without managing pagination yourself:

```python theme={null}
for article in client.articles.iter("cra"):
    print(f"Art. {article.article_number}: {article.title}")
```

`iter()` automatically fetches subsequent pages until the list is exhausted.

***

## Fetch a Single Article

```python theme={null}
article = client.articles.get("gdpr", 17)
print(article.title)
# "Right to erasure ('right to be forgotten')"

for para in article.paragraphs:
    print(f"  §{para.paragraph_number}: {para.content[:80]}...")
```

***

## Search Across All Frameworks

```python theme={null}
results = client.search.query("data breach notification", framework="gdpr")
for r in results.data:
    print(r.match_context)
```

Narrow by result type:

```python theme={null}
results = client.search.query("incident response", result_type="article")
```

***

## Get Compliance Requirements

Pull every GDPR requirement and print its type:

```python theme={null}
for req in client.requirements.iter(framework_slug="gdpr"):
    print(f"[{req.requirement_type}] Art. {req.article_number} — {req.requirement_text[:60]}...")
```

***

## Get Compliance Deadlines

```python theme={null}
for deadline in client.compliance.iter_deadlines(framework_slug="nis2"):
    print(f"{deadline.deadline_date}: {deadline.description}")
```

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Frameworks →" href="/sdks/python/frameworks" icon="building-columns" color="#0EA5E9" />

  <Card title="Articles →" href="/sdks/python/articles" icon="file-lines" color="#8B5CF6" />

  <Card title="Pagination →" href="/sdks/python/pagination" icon="list" color="#22c55e" />

  <Card title="Error Handling →" href="/sdks/python/error-handling" icon="triangle-exclamation" color="#f59e0b" />
</CardGroup>
