Metadata-Version: 2.4
Name: tinkclaw
Version: 0.1.1
Summary: Python SDK for the TinkClaw trading signals API
Project-URL: Homepage, https://tinkclaw.com
Project-URL: Documentation, https://tinkclaw.com/docs
Project-URL: Repository, https://github.com/tinkclaw/tinkclaw-python
Author-email: TinkClaw <dev@tinkclaw.com>
License-Expression: MIT
License-File: LICENSE
Keywords: api,crypto,forex,quant,signals,stocks,trading
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
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: Programming Language :: Python :: 3.13
Classifier: Topic :: Office/Business :: Financial :: Investment
Requires-Python: >=3.9
Requires-Dist: httpx>=0.24.0
Requires-Dist: websockets>=11.0
Provides-Extra: dev
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-asyncio; extra == 'dev'
Requires-Dist: respx; extra == 'dev'
Description-Content-Type: text/markdown

# TinkClaw Python SDK

Official Python client for the [TinkClaw](https://tinkclaw.com) trading signals API.

Real-time AI-powered signals across 40 assets — stocks, crypto, forex, and commodities.

## Install

```bash
pip install tinkclaw
```

## Quick Start

```python
from tinkclaw import TinkClaw

tc = TinkClaw(api_key="YOUR_KEY")

# Get signals
signals = tc.signals(symbols=["BTC", "ETH", "AAPL"])
for s in signals["signals"]:
    print(f"{s['symbol']}: {s['signal']} ({s['confidence']}%)")

# Confluence scoring
score = tc.confluence(symbol="BTC")
print(f"BTC confluence: {score['score']}/100")

# Quantitative analysis
risk = tc.risk_metrics(symbol="ETH")
print(f"ETH Sharpe: {risk['sharpe']}")
```

## Streaming

```python
from tinkclaw import StreamClient

stream = StreamClient(api_key="YOUR_KEY")

@stream.on("signal")
def on_signal(data):
    print(f"{data['symbol']}: {data['action']} @ {data['price']}")

stream.subscribe(["BTC", "ETH", "AAPL"])
stream.connect()
```

## Async

```python
from tinkclaw.client import AsyncTinkClaw

async def main():
    async with AsyncTinkClaw(api_key="YOUR_KEY") as tc:
        signals = await tc.signals(symbols=["BTC"])
        print(signals)
```

## Plans

| Plan | Calls/Day | Symbols | Streaming | Price |
|------|-----------|---------|-----------|-------|
| **Free** | 50 | 3 (BTC, AAPL, EURUSD) | No | $0 |
| **Pro** | 5,000 | All 40 | WebSocket, real-time | $9.99/mo |
| **Pro+** | Unlimited | All 40 | WebSocket, real-time | $19.99/mo |

**Free** includes `/signals`, basic pattern detection, and community support.
**Pro** adds ML scoring, order flow (VPIN), regime detection, and email support.
**Pro+** adds full confluence analysis, signal history export (90 days), webhook alerts, and priority support.

## API Reference

| Method | Description |
|--------|-------------|
| `signals()` | Rule-based signals |
| `signals_ml()` | ML-enhanced signals |
| `analysis(symbol)` | Full market analysis |
| `confluence(symbol)` | 6-layer confluence score |
| `indicators(symbol)` | Technical indicators |
| `quant(symbol)` | MFDFA + Hurst exponent |
| `risk_metrics(symbol)` | Sharpe, VaR, drawdown |
| `correlation()` | Cross-asset correlations |
| `screener()` | All assets ranked |
| `backtest(symbol, strategy)` | Strategy backtest |
| `market_summary()` | Full market overview |
| `news()` | Sentiment-scored news |
| `regime()` | Market regime detection |
| `webhook_subscribe()` | Alert webhooks |
| `usage()` | API usage stats |

Full docs: [tinkclaw.com/docs](https://tinkclaw.com/docs)

## Get an API Key

Sign up at [tinkclaw.com](https://tinkclaw.com) to get your free API key.
