# DRS v1.4 Quickstart

## Installation

```bash
pip install "ai4gh[drs]"
```

## Get a DRS Object

```python
import asyncio
from ai4gh.specs.drs.client import DRSClient


async def main():
    async with DRSClient(base_url="https://drs.example.org") as client:
        # Get object by ID
        obj = await client.get_object("drs://example/abc123")
        print(f"Name: {obj.name}")
        print(f"Size: {obj.size}")
        print(f"Checksums: {obj.checksums}")

        # Get access URLs
        access = await client.get_access_url("abc123", access_id="s3")
        print(f"URL: {access.url}")


asyncio.run(main())
```

## Service Info

```python
async with DRSClient(base_url="https://drs.example.org") as client:
    info = await client.get_service_info()
    print(f"Service: {info.name} v{info.version}")
```

## Authenticated Access

```python
async with DRSClient(
    base_url="https://drs.example.org",
    headers={"Authorization": f"Bearer {token}"},
) as client:
    obj = await client.get_object("abc123")
```

## Compliance Testing

```bash
ai4gh test drs https://drs.example.org
ai4gh test drs https://drs.example.org --format json -o drs-report.json
```

## MCP Tool

```json
{
  "tool": "drs_get_object",
  "arguments": {
    "base_url": "https://drs.example.org",
    "object_id": "abc123"
  }
}
```

## Data Models

```python
from ai4gh.specs.drs.models import DRSObject, AccessMethod, Checksum, ContentsObject
```
