Metadata-Version: 2.4
Name: kaleidoswap-sdk
Version: 0.5.6
Summary: Python SDK for the Kaleidoswap protocol - Trade RGB assets on Lightning Network
Project-URL: Homepage, https://kaleidoswap.com
Project-URL: Documentation, https://docs.kaleidoswap.com
Project-URL: Repository, https://github.com/kaleidoswap/kaleidoswap-sdk
Author-email: Kaleidoswap <dev@kaleidoswap.com>
License-Expression: MIT
Keywords: bitcoin,lightning,rgb,sdk,swap,trading
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
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: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: httpx>=0.27.0
Requires-Dist: pydantic[email]>=2.0
Requires-Dist: websockets>=12.0
Provides-Extra: dev
Requires-Dist: datamodel-code-generator[ruff]>=0.54.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Description-Content-Type: text/markdown

# Kaleidoswap Python SDK

Python SDK for trading RGB assets on the Lightning Network via the Kaleidoswap protocol.

## Installation

```bash
pip install kaleidoswap-sdk
```

## Quick Start

The SDK exposes two sub-clients depending on what you need:

| Sub-client | Config key | What it does |
|---|---|---|
| `client.maker` | `base_url` | Kaleidoswap market API — assets, quotes, swap orders, LSP |
| `client.rln` | `node_url` | Your RGB Lightning Node — wallet, channels, payments, RGB assets |

```python
from kaleido_sdk import KaleidoClient

# Zero-config — defaults to regtest
client = KaleidoClient.create()
assets = await client.maker.list_assets()

# Maker API only
client = KaleidoClient.create(base_url="https://api.kaleidoswap.com")
assets = await client.maker.list_assets()

# Node only (base_url still defaults to regtest)
client = KaleidoClient.create(node_url="http://localhost:3001")
info = await client.rln.get_node_info()

# Both together
client = KaleidoClient.create(
    base_url="https://api.kaleidoswap.com",
    node_url="http://localhost:3001",
)
pairs    = await client.maker.list_pairs()
channels = await client.rln.list_channels()
```

## Documentation

Full usage guide, API reference, and examples at **https://docs.kaleidoswap.com/sdk/introduction**

## License

MIT
