diff --git a/README.md b/README.md index 91b9494..32f3f21 100644 --- a/README.md +++ b/README.md @@ -84,74 +84,78 @@ the key stays out of source code): export DATAMAXI_API_KEY="your_api_key" ``` -=== "Sync" - - ```python - from datamaxi import Datamaxi, Telegram, Naver - - # Clients read DATAMAXI_API_KEY from the environment automatically. - # Alternatively, pass api_key="your_api_key" explicitly to each client. - maxi = Datamaxi() - telegram = Telegram() - naver = Naver() - - # Fetch CEX candle data (returns pandas DataFrame) - df = maxi.cex.candle( - exchange="binance", - symbol="BTC-USDT", - interval="1d", - market="spot" - ) - print(df.head()) - - # Fetch ticker data - ticker = maxi.cex.ticker.get( - exchange="binance", - symbol="BTC-USDT", - market="spot" - ) - print(ticker) - - # Fetch premium data - premium = maxi.premium(asset="BTC") - print(premium.head()) - ``` - -=== "Async" - - ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi - - - async def main(): - # Reads DATAMAXI_API_KEY from the environment automatically. - # Alternatively, pass api_key="your_api_key" explicitly. - async with AsyncDatamaxi() as client: - # Fetch CEX candle data (returns pandas DataFrame) - df = await client.cex.candle( - exchange="binance", - symbol="BTC-USDT", - interval="1d", - market="spot", - ) - print(df.head()) - - # Fetch ticker data - ticker = await client.cex.ticker.get( - exchange="binance", - symbol="BTC-USDT", - market="spot", - ) - print(ticker) - - # Fetch premium data - premium = await client.premium(asset="BTC") - print(premium.head()) - - - asyncio.run(main()) - ``` +
Sync + +```python +from datamaxi import Datamaxi, Telegram, Naver + +# Clients read DATAMAXI_API_KEY from the environment automatically. +# Alternatively, pass api_key="your_api_key" explicitly to each client. +maxi = Datamaxi() +telegram = Telegram() +naver = Naver() + +# Fetch CEX candle data (returns pandas DataFrame) +df = maxi.cex.candle( + exchange="binance", + symbol="BTC-USDT", + interval="1d", + market="spot" +) +print(df.head()) + +# Fetch ticker data +ticker = maxi.cex.ticker.get( + exchange="binance", + symbol="BTC-USDT", + market="spot" +) +print(ticker) + +# Fetch premium data +premium = maxi.premium(asset="BTC") +print(premium.head()) +``` + +
+ +
Async + +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi + + +async def main(): + # Reads DATAMAXI_API_KEY from the environment automatically. + # Alternatively, pass api_key="your_api_key" explicitly. + async with AsyncDatamaxi() as client: + # Fetch CEX candle data (returns pandas DataFrame) + df = await client.cex.candle( + exchange="binance", + symbol="BTC-USDT", + interval="1d", + market="spot", + ) + print(df.head()) + + # Fetch ticker data + ticker = await client.cex.ticker.get( + exchange="binance", + symbol="BTC-USDT", + market="spot", + ) + print(ticker) + + # Fetch premium data + premium = await client.premium(asset="BTC") + print(premium.head()) + + +asyncio.run(main()) +``` + +
## Async Client diff --git a/docs/cex-announcement.md b/docs/cex-announcement.md index d4caf4d..4144600 100644 --- a/docs/cex-announcement.md +++ b/docs/cex-announcement.md @@ -4,46 +4,50 @@ Exchange announcements such as listings and delistings. ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Datamaxi +```python +from datamaxi import Datamaxi - maxi = Datamaxi(api_key="YOUR_API_KEY") +maxi = Datamaxi(api_key="YOUR_API_KEY") - data, next_request = maxi.cex.announcement( - exchange="binance", - category="listing", - page=1, - limit=50, - sort="desc", - ) +data, next_request = maxi.cex.announcement( + exchange="binance", + category="listing", + page=1, + limit=50, + sort="desc", +) - more_data, _ = next_request() - ``` +more_data, _ = next_request() +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi +
Async +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi - async def main(): - async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: - data, next_request = await client.cex.announcement( - exchange="binance", - category="listing", - page=1, - limit=50, - sort="desc", - ) - more_data, _ = await next_request() +async def main(): + async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: + data, next_request = await client.cex.announcement( + exchange="binance", + category="listing", + page=1, + limit=50, + sort="desc", + ) + more_data, _ = await next_request() - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/docs/cex-candle.md b/docs/cex-candle.md index 006072b..44917d6 100644 --- a/docs/cex-candle.md +++ b/docs/cex-candle.md @@ -4,52 +4,56 @@ Historical OHLCV candle data for centralized exchanges. ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Datamaxi +```python +from datamaxi import Datamaxi - maxi = Datamaxi(api_key="YOUR_API_KEY") +maxi = Datamaxi(api_key="YOUR_API_KEY") - exchanges = maxi.cex.candle.exchanges(market="spot") - symbols = maxi.cex.candle.symbols(exchange="binance", market="spot") - intervals = maxi.cex.candle.intervals() +exchanges = maxi.cex.candle.exchanges(market="spot") +symbols = maxi.cex.candle.symbols(exchange="binance", market="spot") +intervals = maxi.cex.candle.intervals() - df = maxi.cex.candle( - exchange="binance", - symbol="BTC-USDT", - interval="1d", - market="spot", - from_unix=1704067200, - to_unix=1706745600, - ) - ``` +df = maxi.cex.candle( + exchange="binance", + symbol="BTC-USDT", + interval="1d", + market="spot", + from_unix=1704067200, + to_unix=1706745600, +) +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi +
Async +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi - async def main(): - async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: - exchanges = await client.cex.candle.exchanges(market="spot") - symbols = await client.cex.candle.symbols(exchange="binance", market="spot") - intervals = await client.cex.candle.intervals() - df = await client.cex.candle( - exchange="binance", - symbol="BTC-USDT", - interval="1d", - market="spot", - from_unix=1704067200, - to_unix=1706745600, - ) +async def main(): + async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: + exchanges = await client.cex.candle.exchanges(market="spot") + symbols = await client.cex.candle.symbols(exchange="binance", market="spot") + intervals = await client.cex.candle.intervals() + df = await client.cex.candle( + exchange="binance", + symbol="BTC-USDT", + interval="1d", + market="spot", + from_unix=1704067200, + to_unix=1706745600, + ) - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/docs/cex-fee.md b/docs/cex-fee.md index 2f09104..d05e500 100644 --- a/docs/cex-fee.md +++ b/docs/cex-fee.md @@ -4,36 +4,40 @@ Trading fee schedules for centralized exchanges. ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Datamaxi +```python +from datamaxi import Datamaxi - maxi = Datamaxi(api_key="YOUR_API_KEY") +maxi = Datamaxi(api_key="YOUR_API_KEY") - exchanges = maxi.cex.fee.exchanges() - symbols = maxi.cex.fee.symbols(exchange="binance") +exchanges = maxi.cex.fee.exchanges() +symbols = maxi.cex.fee.symbols(exchange="binance") - fees = maxi.cex.fee(exchange="binance", symbol="BTC-USDT") - ``` +fees = maxi.cex.fee(exchange="binance", symbol="BTC-USDT") +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi +
Async +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi - async def main(): - async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: - exchanges = await client.cex.fee.exchanges() - symbols = await client.cex.fee.symbols(exchange="binance") - fees = await client.cex.fee(exchange="binance", symbol="BTC-USDT") +async def main(): + async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: + exchanges = await client.cex.fee.exchanges() + symbols = await client.cex.fee.symbols(exchange="binance") + fees = await client.cex.fee(exchange="binance", symbol="BTC-USDT") - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/docs/cex-symbol.md b/docs/cex-symbol.md index 4fa2895..b839ed3 100644 --- a/docs/cex-symbol.md +++ b/docs/cex-symbol.md @@ -4,74 +4,78 @@ Per-base / per-symbol CEX metadata and aggregates: trading status, tags, caution ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Datamaxi +```python +from datamaxi import Datamaxi - maxi = Datamaxi(api_key="YOUR_API_KEY") +maxi = Datamaxi(api_key="YOUR_API_KEY") - # Trading status + caution + tags + delisting metadata - metadata = maxi.cex.symbol.metadata(exchange="binance", base="BTC") +# Trading status + caution + tags + delisting metadata +metadata = maxi.cex.symbol.metadata(exchange="binance", base="BTC") - # Exchange-assigned tags (e.g. seed, alpha) - tags = maxi.cex.symbol.tags(exchange="binance", base="BTC") +# Exchange-assigned tags (e.g. seed, alpha) +tags = maxi.cex.symbol.tags(exchange="binance", base="BTC") - # Active caution / investment-warning flags - cautions = maxi.cex.symbol.cautions(exchange="binance") +# Active caution / investment-warning flags +cautions = maxi.cex.symbol.cautions(exchange="binance") - # Scheduled delistings with timestamps - delistings = maxi.cex.symbol.delistings(exchange="binance") +# Scheduled delistings with timestamps +delistings = maxi.cex.symbol.delistings(exchange="binance") - # Per-exchange 24h volume for a single base asset - volume = maxi.cex.symbol.volume(base="BTC") +# Per-exchange 24h volume for a single base asset +volume = maxi.cex.symbol.volume(base="BTC") - # Per-exchange Open Interest for a single base asset - oi = maxi.cex.symbol.oi(base="BTC", exchange="binance") +# Per-exchange Open Interest for a single base asset +oi = maxi.cex.symbol.oi(base="BTC", exchange="binance") - # Per-exchange OI snapshot with 1h / 4h / 24h deltas - oi_stats = maxi.cex.symbol.oi_stats(base="BTC", exchange="binance", currency="USD") +# Per-exchange OI snapshot with 1h / 4h / 24h deltas +oi_stats = maxi.cex.symbol.oi_stats(base="BTC", exchange="binance", currency="USD") - # Per-exchange long / short liquidation aggregates over a window - liquidation = maxi.cex.symbol.liquidation(base="BTC", window="24h") - ``` +# Per-exchange long / short liquidation aggregates over a window +liquidation = maxi.cex.symbol.liquidation(base="BTC", window="24h") +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi +
Async +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi - async def main(): - async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: - # Trading status + caution + tags + delisting metadata - metadata = await client.cex.symbol.metadata(exchange="binance", base="BTC") - # Exchange-assigned tags (e.g. seed, alpha) - tags = await client.cex.symbol.tags(exchange="binance", base="BTC") +async def main(): + async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: + # Trading status + caution + tags + delisting metadata + metadata = await client.cex.symbol.metadata(exchange="binance", base="BTC") - # Active caution / investment-warning flags - cautions = await client.cex.symbol.cautions(exchange="binance") + # Exchange-assigned tags (e.g. seed, alpha) + tags = await client.cex.symbol.tags(exchange="binance", base="BTC") - # Scheduled delistings with timestamps - delistings = await client.cex.symbol.delistings(exchange="binance") + # Active caution / investment-warning flags + cautions = await client.cex.symbol.cautions(exchange="binance") - # Per-exchange 24h volume for a single base asset - volume = await client.cex.symbol.volume(base="BTC") + # Scheduled delistings with timestamps + delistings = await client.cex.symbol.delistings(exchange="binance") - # Per-exchange Open Interest for a single base asset - oi = await client.cex.symbol.oi(base="BTC", exchange="binance") + # Per-exchange 24h volume for a single base asset + volume = await client.cex.symbol.volume(base="BTC") - # Per-exchange OI snapshot with 1h / 4h / 24h deltas - oi_stats = await client.cex.symbol.oi_stats(base="BTC", exchange="binance", currency="USD") + # Per-exchange Open Interest for a single base asset + oi = await client.cex.symbol.oi(base="BTC", exchange="binance") - # Per-exchange long / short liquidation aggregates over a window - liquidation = await client.cex.symbol.liquidation(base="BTC", window="24h") + # Per-exchange OI snapshot with 1h / 4h / 24h deltas + oi_stats = await client.cex.symbol.oi_stats(base="BTC", exchange="binance", currency="USD") + # Per-exchange long / short liquidation aggregates over a window + liquidation = await client.cex.symbol.liquidation(base="BTC", window="24h") - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/docs/cex-ticker.md b/docs/cex-ticker.md index 79267b3..4b002e1 100644 --- a/docs/cex-ticker.md +++ b/docs/cex-ticker.md @@ -4,46 +4,50 @@ Real-time ticker snapshots for centralized exchanges. ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Datamaxi +```python +from datamaxi import Datamaxi - maxi = Datamaxi(api_key="YOUR_API_KEY") +maxi = Datamaxi(api_key="YOUR_API_KEY") - exchanges = maxi.cex.ticker.exchanges(market="spot") - symbols = maxi.cex.ticker.symbols(exchange="binance", market="spot") +exchanges = maxi.cex.ticker.exchanges(market="spot") +symbols = maxi.cex.ticker.symbols(exchange="binance", market="spot") - ticker = maxi.cex.ticker.get( - exchange="binance", - symbol="BTC-USDT", - market="spot", - currency="USD", - ) - ``` +ticker = maxi.cex.ticker.get( + exchange="binance", + symbol="BTC-USDT", + market="spot", + currency="USD", +) +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi +
Async +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi - async def main(): - async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: - exchanges = await client.cex.ticker.exchanges(market="spot") - symbols = await client.cex.ticker.symbols(exchange="binance", market="spot") - ticker = await client.cex.ticker.get( - exchange="binance", - symbol="BTC-USDT", - market="spot", - currency="USD", - ) +async def main(): + async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: + exchanges = await client.cex.ticker.exchanges(market="spot") + symbols = await client.cex.ticker.symbols(exchange="binance", market="spot") + ticker = await client.cex.ticker.get( + exchange="binance", + symbol="BTC-USDT", + market="spot", + currency="USD", + ) - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/docs/cex-token.md b/docs/cex-token.md index b2ecfd6..09e8d95 100644 --- a/docs/cex-token.md +++ b/docs/cex-token.md @@ -4,42 +4,46 @@ Token listing and delisting updates from centralized exchanges. ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Datamaxi +```python +from datamaxi import Datamaxi - maxi = Datamaxi(api_key="YOUR_API_KEY") +maxi = Datamaxi(api_key="YOUR_API_KEY") - data, next_request = maxi.cex.token.updates( - type="listed", - page=1, - limit=100, - ) +data, next_request = maxi.cex.token.updates( + type="listed", + page=1, + limit=100, +) - more_data, _ = next_request() - ``` +more_data, _ = next_request() +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi +
Async +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi - async def main(): - async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: - data, next_request = await client.cex.token.updates( - type="listed", - page=1, - limit=100, - ) - more_data, _ = await next_request() +async def main(): + async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: + data, next_request = await client.cex.token.updates( + type="listed", + page=1, + limit=100, + ) + more_data, _ = await next_request() - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/docs/cex-wallet-status.md b/docs/cex-wallet-status.md index 04937c2..d8192dd 100644 --- a/docs/cex-wallet-status.md +++ b/docs/cex-wallet-status.md @@ -4,36 +4,40 @@ Deposit and withdrawal availability for centralized exchange assets. ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Datamaxi +```python +from datamaxi import Datamaxi - maxi = Datamaxi(api_key="YOUR_API_KEY") +maxi = Datamaxi(api_key="YOUR_API_KEY") - exchanges = maxi.cex.wallet_status.exchanges() - assets = maxi.cex.wallet_status.assets(exchange="binance") +exchanges = maxi.cex.wallet_status.exchanges() +assets = maxi.cex.wallet_status.assets(exchange="binance") - status = maxi.cex.wallet_status(exchange="binance", asset="BTC") - ``` +status = maxi.cex.wallet_status(exchange="binance", asset="BTC") +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi +
Async +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi - async def main(): - async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: - exchanges = await client.cex.wallet_status.exchanges() - assets = await client.cex.wallet_status.assets(exchange="binance") - status = await client.cex.wallet_status(exchange="binance", asset="BTC") +async def main(): + async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: + exchanges = await client.cex.wallet_status.exchanges() + assets = await client.cex.wallet_status.assets(exchange="binance") + status = await client.cex.wallet_status(exchange="binance", asset="BTC") - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/docs/forex.md b/docs/forex.md index 9b46c49..bcd17ac 100644 --- a/docs/forex.md +++ b/docs/forex.md @@ -4,32 +4,36 @@ Foreign exchange spot rates. ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Datamaxi +```python +from datamaxi import Datamaxi - maxi = Datamaxi(api_key="YOUR_API_KEY") +maxi = Datamaxi(api_key="YOUR_API_KEY") - symbols = maxi.forex.symbols() - data = maxi.forex(symbol="USD-KRW") - ``` +symbols = maxi.forex.symbols() +data = maxi.forex(symbol="USD-KRW") +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi +
Async +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi - async def main(): - async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: - symbols = await client.forex.symbols() - data = await client.forex(symbol="USD-KRW") +async def main(): + async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: + symbols = await client.forex.symbols() + data = await client.forex(symbol="USD-KRW") - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/docs/funding-rate.md b/docs/funding-rate.md index 7a22eb7..487dad4 100644 --- a/docs/funding-rate.md +++ b/docs/funding-rate.md @@ -4,52 +4,56 @@ Historical and latest funding rates for perpetual futures. ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Datamaxi +```python +from datamaxi import Datamaxi - maxi = Datamaxi(api_key="YOUR_API_KEY") +maxi = Datamaxi(api_key="YOUR_API_KEY") - exchanges = maxi.funding_rate.exchanges() - symbols = maxi.funding_rate.symbols(exchange="binance") +exchanges = maxi.funding_rate.exchanges() +symbols = maxi.funding_rate.symbols(exchange="binance") - history, next_request = maxi.funding_rate.history( - exchange="binance", - symbol="BTC-USDT", - page=1, - limit=100, - sort="desc", - ) +history, next_request = maxi.funding_rate.history( + exchange="binance", + symbol="BTC-USDT", + page=1, + limit=100, + sort="desc", +) - latest = maxi.funding_rate.latest(exchange="binance", symbol="BTC-USDT") - ``` +latest = maxi.funding_rate.latest(exchange="binance", symbol="BTC-USDT") +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi +
Async +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi - async def main(): - async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: - exchanges = await client.funding_rate.exchanges() - symbols = await client.funding_rate.symbols(exchange="binance") - history, next_request = await client.funding_rate.history( - exchange="binance", - symbol="BTC-USDT", - page=1, - limit=100, - sort="desc", - ) +async def main(): + async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: + exchanges = await client.funding_rate.exchanges() + symbols = await client.funding_rate.symbols(exchange="binance") - latest = await client.funding_rate.latest(exchange="binance", symbol="BTC-USDT") + history, next_request = await client.funding_rate.history( + exchange="binance", + symbol="BTC-USDT", + page=1, + limit=100, + sort="desc", + ) + latest = await client.funding_rate.latest(exchange="binance", symbol="BTC-USDT") - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/docs/index-price.md b/docs/index-price.md index a904ff8..2c0811c 100644 --- a/docs/index-price.md +++ b/docs/index-price.md @@ -4,40 +4,44 @@ Historical index price time series for a single asset. ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Datamaxi +```python +from datamaxi import Datamaxi - maxi = Datamaxi(api_key="YOUR_API_KEY") +maxi = Datamaxi(api_key="YOUR_API_KEY") - data = maxi.index_price( - asset="BTC", - from_="now - 1 month", - to="now", - interval="5m", - ) - ``` +data = maxi.index_price( + asset="BTC", + from_="now - 1 month", + to="now", + interval="5m", +) +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi +
Async +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi - async def main(): - async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: - data = await client.index_price( - asset="BTC", - from_="now - 1 month", - to="now", - interval="5m", - ) +async def main(): + async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: + data = await client.index_price( + asset="BTC", + from_="now - 1 month", + to="now", + interval="5m", + ) - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/docs/liquidation.md b/docs/liquidation.md index eea32b6..437929e 100644 --- a/docs/liquidation.md +++ b/docs/liquidation.md @@ -4,74 +4,78 @@ CEX futures liquidation data: recent events, firehose feed, heatmaps, maps, and ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Datamaxi +```python +from datamaxi import Datamaxi - maxi = Datamaxi(api_key="YOUR_API_KEY") +maxi = Datamaxi(api_key="YOUR_API_KEY") - # Recent liquidation events for a single futures symbol - events = maxi.liquidation(exchange="binance", symbol="BTC-USDT", limit=100) +# Recent liquidation events for a single futures symbol +events = maxi.liquidation(exchange="binance", symbol="BTC-USDT", limit=100) - # Firehose: most recent events across every symbol - feed = maxi.liquidation.feed(limit=100) +# Firehose: most recent events across every symbol +feed = maxi.liquidation.feed(limit=100) - # Token x exchange liquidation heatmap over a rolling window - heatmap = maxi.liquidation.heatmap(window="1h", topN=10) +# Token x exchange liquidation heatmap over a rolling window +heatmap = maxi.liquidation.heatmap(window="1h", topN=10) - # Liquidation KPI stats over a rolling window - stats = maxi.liquidation.stats(window="1h") +# Liquidation KPI stats over a rolling window +stats = maxi.liquidation.stats(window="1h") - # Coinglass-style liquidation map (price x leverage tier) - liq_map = maxi.liquidation.map(base="BTC", exchange="binance", quote="USDT") +# Coinglass-style liquidation map (price x leverage tier) +liq_map = maxi.liquidation.map(base="BTC", exchange="binance", quote="USDT") - # Bucketed long / short liquidation USD time series + price line - history = maxi.liquidation.symbol_history( - symbol="BTC", - quote="USDT", - exchange="binance", - interval="5m", - window="24h", - ) - ``` +# Bucketed long / short liquidation USD time series + price line +history = maxi.liquidation.symbol_history( + symbol="BTC", + quote="USDT", + exchange="binance", + interval="5m", + window="24h", +) +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi +
Async +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi - async def main(): - async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: - # Recent liquidation events for a single futures symbol - events = await client.liquidation(exchange="binance", symbol="BTC-USDT", limit=100) - # Firehose: most recent events across every symbol - feed = await client.liquidation.feed(limit=100) +async def main(): + async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: + # Recent liquidation events for a single futures symbol + events = await client.liquidation(exchange="binance", symbol="BTC-USDT", limit=100) - # Token x exchange liquidation heatmap over a rolling window - heatmap = await client.liquidation.heatmap(window="1h", topN=10) + # Firehose: most recent events across every symbol + feed = await client.liquidation.feed(limit=100) - # Liquidation KPI stats over a rolling window - stats = await client.liquidation.stats(window="1h") + # Token x exchange liquidation heatmap over a rolling window + heatmap = await client.liquidation.heatmap(window="1h", topN=10) - # Coinglass-style liquidation map (price x leverage tier) - liq_map = await client.liquidation.map(base="BTC", exchange="binance", quote="USDT") + # Liquidation KPI stats over a rolling window + stats = await client.liquidation.stats(window="1h") - # Bucketed long / short liquidation USD time series + price line - history = await client.liquidation.symbol_history( - symbol="BTC", - quote="USDT", - exchange="binance", - interval="5m", - window="24h", - ) + # Coinglass-style liquidation map (price x leverage tier) + liq_map = await client.liquidation.map(base="BTC", exchange="binance", quote="USDT") + # Bucketed long / short liquidation USD time series + price line + history = await client.liquidation.symbol_history( + symbol="BTC", + quote="USDT", + exchange="binance", + interval="5m", + window="24h", + ) - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/docs/margin-borrow.md b/docs/margin-borrow.md index a419b36..ef39658 100644 --- a/docs/margin-borrow.md +++ b/docs/margin-borrow.md @@ -4,30 +4,34 @@ Margin borrow data for a single asset. ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Datamaxi +```python +from datamaxi import Datamaxi - maxi = Datamaxi(api_key="YOUR_API_KEY") +maxi = Datamaxi(api_key="YOUR_API_KEY") - data = maxi.margin_borrow(asset="BTC") - ``` +data = maxi.margin_borrow(asset="BTC") +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi +
Async +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi - async def main(): - async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: - data = await client.margin_borrow(asset="BTC") +async def main(): + async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: + data = await client.margin_borrow(asset="BTC") - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
::: datamaxi.resources.MarginBorrow options: diff --git a/docs/naver-trend.md b/docs/naver-trend.md index a66f1a2..ca2fdff 100644 --- a/docs/naver-trend.md +++ b/docs/naver-trend.md @@ -4,32 +4,36 @@ Search trend data for South Korea via Naver. ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Naver +```python +from datamaxi import Naver - naver = Naver(api_key="YOUR_API_KEY") +naver = Naver(api_key="YOUR_API_KEY") - symbols = naver.symbols() - trend = naver.trend(symbol="BTC") - ``` +symbols = naver.symbols() +trend = naver.trend(symbol="BTC") +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncNaver +
Async +```python +import asyncio +from datamaxi.aio import AsyncNaver - async def main(): - async with AsyncNaver(api_key="YOUR_API_KEY") as naver: - symbols = await naver.symbols() - trend = await naver.trend(symbol="BTC") +async def main(): + async with AsyncNaver(api_key="YOUR_API_KEY") as naver: + symbols = await naver.symbols() + trend = await naver.trend(symbol="BTC") - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/docs/open-interest.md b/docs/open-interest.md index 1aaebab..60afd17 100644 --- a/docs/open-interest.md +++ b/docs/open-interest.md @@ -4,72 +4,76 @@ CEX futures Open Interest: latest snapshots, reporting pairs, the token x exchan ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Datamaxi +```python +from datamaxi import Datamaxi - maxi = Datamaxi(api_key="YOUR_API_KEY") +maxi = Datamaxi(api_key="YOUR_API_KEY") - # Latest OI snapshot for a single futures symbol - snapshot = maxi.open_interest(exchange="binance", symbol="BTC-USDT") +# Latest OI snapshot for a single futures symbol +snapshot = maxi.open_interest(exchange="binance", symbol="BTC-USDT") - # List all (exchange, symbol) pairs currently reporting OI - pairs = maxi.open_interest.list(exchange="binance") +# List all (exchange, symbol) pairs currently reporting OI +pairs = maxi.open_interest.list(exchange="binance") - # Paginated token x exchange OI matrix - overview = maxi.open_interest.overview( - page=1, - limit=20, - key="binance", - sort="desc", - ) +# Paginated token x exchange OI matrix +overview = maxi.open_interest.overview( + page=1, + limit=20, + key="binance", + sort="desc", +) - # Top-line OI aggregates (total USD, top tokens, top exchanges) - summary = maxi.open_interest.summary(topN=10) +# Top-line OI aggregates (total USD, top tokens, top exchanges) +summary = maxi.open_interest.summary(topN=10) - # Per-exchange aggregated OI history for a single token - history = maxi.open_interest.history_aggregated( - token_id="bitcoin", - interval="1h", - ) - ``` +# Per-exchange aggregated OI history for a single token +history = maxi.open_interest.history_aggregated( + token_id="bitcoin", + interval="1h", +) +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi +
Async +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi - async def main(): - async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: - # Latest OI snapshot for a single futures symbol - snapshot = await client.open_interest(exchange="binance", symbol="BTC-USDT") - # List all (exchange, symbol) pairs currently reporting OI - pairs = await client.open_interest.list(exchange="binance") +async def main(): + async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: + # Latest OI snapshot for a single futures symbol + snapshot = await client.open_interest(exchange="binance", symbol="BTC-USDT") - # Paginated token x exchange OI matrix - overview = await client.open_interest.overview( - page=1, - limit=20, - key="binance", - sort="desc", - ) + # List all (exchange, symbol) pairs currently reporting OI + pairs = await client.open_interest.list(exchange="binance") - # Top-line OI aggregates (total USD, top tokens, top exchanges) - summary = await client.open_interest.summary(topN=10) + # Paginated token x exchange OI matrix + overview = await client.open_interest.overview( + page=1, + limit=20, + key="binance", + sort="desc", + ) - # Per-exchange aggregated OI history for a single token - history = await client.open_interest.history_aggregated( - token_id="bitcoin", - interval="1h", - ) + # Top-line OI aggregates (total USD, top tokens, top exchanges) + summary = await client.open_interest.summary(topN=10) + # Per-exchange aggregated OI history for a single token + history = await client.open_interest.history_aggregated( + token_id="bitcoin", + interval="1h", + ) - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/docs/premium.md b/docs/premium.md index 4431a85..65c6013 100644 --- a/docs/premium.md +++ b/docs/premium.md @@ -4,52 +4,56 @@ Cross-exchange premium data for arbitrage and market dislocation analysis. ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Datamaxi +```python +from datamaxi import Datamaxi - maxi = Datamaxi(api_key="YOUR_API_KEY") +maxi = Datamaxi(api_key="YOUR_API_KEY") - exchanges = maxi.premium.exchanges() +exchanges = maxi.premium.exchanges() - data = maxi.premium( - source_exchange="binance", - target_exchange="upbit", - asset="BTC", - source_market="spot", - target_market="spot", - sort="desc", - key="pdp", - limit=100, - ) - ``` +data = maxi.premium( + source_exchange="binance", + target_exchange="upbit", + asset="BTC", + source_market="spot", + target_market="spot", + sort="desc", + key="pdp", + limit=100, +) +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncDatamaxi +
Async +```python +import asyncio +from datamaxi.aio import AsyncDatamaxi - async def main(): - async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: - exchanges = await client.premium.exchanges() - data = await client.premium( - source_exchange="binance", - target_exchange="upbit", - asset="BTC", - source_market="spot", - target_market="spot", - sort="desc", - key="pdp", - limit=100, - ) +async def main(): + async with AsyncDatamaxi(api_key="YOUR_API_KEY") as client: + exchanges = await client.premium.exchanges() + data = await client.premium( + source_exchange="binance", + target_exchange="upbit", + asset="BTC", + source_market="spot", + target_market="spot", + sort="desc", + key="pdp", + limit=100, + ) - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/docs/telegram.md b/docs/telegram.md index c8313ef..0369c3b 100644 --- a/docs/telegram.md +++ b/docs/telegram.md @@ -4,38 +4,42 @@ Telegram channel metadata and message history. ## Usage -=== "Sync" +
Sync - ```python - from datamaxi import Telegram +```python +from datamaxi import Telegram - telegram = Telegram(api_key="YOUR_API_KEY") +telegram = Telegram(api_key="YOUR_API_KEY") - channels, _ = telegram.channels(category="korean", limit=50) - messages, next_request = telegram.messages(channel_name="yunlog_announcement", limit=50) +channels, _ = telegram.channels(category="korean", limit=50) +messages, next_request = telegram.messages(channel_name="yunlog_announcement", limit=50) - more_messages, _ = next_request() - ``` +more_messages, _ = next_request() +``` -=== "Async" +
- ```python - import asyncio - from datamaxi.aio import AsyncTelegram +
Async +```python +import asyncio +from datamaxi.aio import AsyncTelegram - async def main(): - async with AsyncTelegram(api_key="YOUR_API_KEY") as telegram: - channels, _ = await telegram.channels(category="korean", limit=50) - messages, next_request = await telegram.messages( - channel_name="yunlog_announcement", limit=50 - ) - more_messages, _ = await next_request() +async def main(): + async with AsyncTelegram(api_key="YOUR_API_KEY") as telegram: + channels, _ = await telegram.channels(category="korean", limit=50) + messages, next_request = await telegram.messages( + channel_name="yunlog_announcement", limit=50 + ) + more_messages, _ = await next_request() - asyncio.run(main()) - ``` + +asyncio.run(main()) +``` + +
## Notes diff --git a/mkdocs.yml b/mkdocs.yml index da4c111..aaab41a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -23,6 +23,7 @@ plugins: markdown_extensions: - toc: permalink: true + - md_in_html - codehilite - pymdownx.highlight: use_pygments: true