Metadata-Version: 2.4
Name: pulse-anthropic
Version: 0.1.0
Summary: Anthropic Claude adapter for PULSE Protocol — send PULSE messages, get Claude responses
Author-email: PULSE Protocol Team <pulse@protocol.org>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/pulseprotocolorg-cyber/pulse-anthropic
Project-URL: Repository, https://github.com/pulseprotocolorg-cyber/pulse-anthropic
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: pulse-protocol>=0.5.0
Requires-Dist: anthropic>=0.20.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: black>=23.0; extra == "dev"

# pulse-anthropic

Anthropic Claude adapter for [PULSE Protocol](https://github.com/pulseprotocolorg-cyber/pulse-python).

Same interface as `pulse-openai` — swap provider in one line.

## Install

```bash
pip install pulse-anthropic
```

## Quick Start

```python
from pulse import PulseMessage
from pulse_anthropic import AnthropicAdapter

adapter = AnthropicAdapter(api_key="sk-ant-...")

msg = PulseMessage(
    action="ACT.QUERY.DATA",
    parameters={"query": "What is quantum computing?"}
)
response = adapter.send(msg)
print(response.content["parameters"]["result"])
```

## Switch Providers in One Line

```python
# from pulse_openai import OpenAIAdapter as Adapter
from pulse_anthropic import AnthropicAdapter as Adapter

adapter = Adapter(api_key="...")
# Everything else stays exactly the same
```

## Supported Actions

| PULSE Action | What it does | Default Model |
|---|---|---|
| `ACT.QUERY.DATA` | Ask a question | claude-haiku-4-5 |
| `ACT.CREATE.TEXT` | Generate text | claude-sonnet-4-5 |
| `ACT.ANALYZE.SENTIMENT` | Analyze sentiment | claude-haiku-4-5 |
| `ACT.ANALYZE.PATTERN` | Find patterns | claude-sonnet-4-5 |
| `ACT.TRANSFORM.TRANSLATE` | Translate text | claude-haiku-4-5 |
| `ACT.TRANSFORM.SUMMARIZE` | Summarize text | claude-haiku-4-5 |

## License

Apache 2.0
