No project description provided
Project description
cex-adaptors
This package is designed for interacting with many crypto centralized exchanges. Currently only support public API endpoints in Version 1.0.x
. Will add private API endpoints in version 2.0.x
.
Getting started
use pip install cex-adaptor
to install the package.
Usage
After installing the package, you can use the following code start using the adaptors. All the codes is written in async mode.
from cex_adaptors.binance import Binance
import asyncio
async def main():
binance = Binance()
await binance.sync_exchange_info()
# get exchange info
print(await binance.get_exchange_info())
# get all tickers
print(await binance.get_tickers())
if __name__ == "__main__":
asyncio.run(main())
Unified function parameters and output format
1. get_exchange_info
Input
Output (Nested Dictionary)
2. get_tickers
Input
{
"market": "spot" // must be in "spot", "perp", "futures". If `null` will return all tickers on the exchange
}
Output (nested dict)
{
"BTC/USDT:USDT" : {
"timestamp": 1630000000000,
"instrument_id": "BTC/USDT:USDT",
"open_time": 1630000000000,
"close_time": 1630000000000,
"open": 10000.0,
"high": 11000.0,
"low": 9000.0,
"last": 10000.0,
"base_volume": 1000.0,
"quote_volume": 10000000.0,
"price_change": 0.0, // must in quote currency
"price_change_percent": 0.01, // must in percentage, if 0.01 means 1%,
"raw_data": {},
},
// many instrument ticker
}
3. get_ticker
Input
{
"instrument_id": "BTC/USDT:USDT" // must be instrument_id in exchange's exchange info
}
Output (Dictionary)
{
"BTC/USDT:USDT" : {
"timestamp": 1630000000000,
"instrument_id": "BTC/USDT:USDT",
"open_time": 1630000000000,
"close_time": 1630000000000,
"open": 10000.0,
"high": 11000.0,
"low": 9000.0,
"last": 10000.0,
"base_volume": 1000.0,
"quote_volume": 10000000.0,
"price_change": 0.0, // must in quote currency
"price_change_percent": 0.01, // must in percentage, if 0.01 means 1%,
"raw_data": {},
}
}
4. get_current_candlestick
Input
{
"instrument_id": "BTC/USDT:USDT-PERP", // required
"interval": "1m", // required, vary from different exchanges
}
Output (List of Dictionary)
{
"timestamp": 1629350400000, // timestamp in millisecond
"interval": "1m",
"instrument_id": "BTC/USDT:USDT-PERP",
"market_type": "perp", // "spot", "futures", "perp
"open": 10000.0, // open price
"high": 10100, // high price
"low": 9900, // low price
"close": 10050, // close price
"base_volume": 1000, // volume in base currency
"quote_volume": 10000000, // quote volume
"contract_volume": 1000, // contract volume
"raw_data": {} // raw data from exchange
}
5. get_history_candlesticks
Input
{
"instrument_id": "BTC/USDT:USDT-PERP", // required
"interval": "1m", // required, vary from different exchanges
"start": 1629350400000, // optional, timestamp in millisecond
"end": 1629350400000, // optional, timestamp in millisecond
"num": 100, // optional, number of data to return
}
Output (List of Dictionary)
[
{
"timestamp": 1629350400000, // timestamp in millisecond
"interval": "1m",
"instrument_id": "BTC/USDT:USDT-PERP",
"market_type": "perp", // "spot", "futures", "perp
"open": 10000.0, // open price
"high": 10100, // high price
"low": 9900, // low price
"close": 10050, // close price
"base_volume": 1000, // volume in base currency
"quote_volume": 10000000, // quote volume
"contract_volume": 1000, // contract volume, if is spot then will equal to base_volume
"raw_data": {} // raw data from exchange
},
// many history candlesticks data
]
6. get_current_funding_rate
Input
{
"instrument_id": "BTC/USDT:USDT-PERP", // required, funding rate only support futures and perp
}
Output
{
"BTC/USDT:USDT-PERP": {
"timestamp": 1629350400000, // timestamp in millisecond
"next_funding_time": 1629350400000, // timestamp in milliseconds
"instrument_id": "BTC/USDT:USDT-PERP",
"market_type": "perp",
"funding_rate": 0.001, // funding rate in percentage, 0.01 means 1%
"raw_data": {} // raw data from exchange
}
}
7. get_history_funding_rate
Input
{
"instrument_id": "BTC/USDT:USDT-PERP", // required, funding rate only support futures and perp
"start": 1629350400000, // optional, timestamp in millisecond
"end": 1629350400000, // optional, timestamp in millisecond
"num": 100, // optional, number of data to return
}
(start
, end
) or num
must be provided, if both provided, use start and end.
Output
[
{
"timestamp": 1629350400000, // timestamp in millisecond
"instrument_id": "BTC/USDT:USDT-PERP",
"market_type": "perp",
"funding_rate": 0.001, // funding rate in percentage, 0.01 means 1%
"realized_rate": 0.001, // realized rate in percentage, 0.01 means 1%
"raw_data": {} // raw data from exchange
}, // many history funding rate data
]
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cex-adaptors-1.0.7.tar.gz
(32.6 kB
view details)
Built Distribution
File details
Details for the file cex-adaptors-1.0.7.tar.gz
.
File metadata
- Download URL: cex-adaptors-1.0.7.tar.gz
- Upload date:
- Size: 32.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74fa74f78c0e5f4280038c3fee450b42ddbe33870e6de6e562013545039ca013 |
|
MD5 | e761187a0d42f5e25740a735cc1f8827 |
|
BLAKE2b-256 | d8cd43bdca551cfae896d33e3834491bb93895519213e72204906a88a675fcdb |
File details
Details for the file cex_adaptors-1.0.7-py3-none-any.whl
.
File metadata
- Download URL: cex_adaptors-1.0.7-py3-none-any.whl
- Upload date:
- Size: 81.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c201ac9a119729fefac0e217070cb8a9802dbaeafaceaf5d99f1908037017d5 |
|
MD5 | d7d47682393dcd6c385d6f3511e361d6 |
|
BLAKE2b-256 | 68ca00a1329f55b1e85f1ccc80046f9abf7aa57d607223971d5909c144bdf5b5 |