Cryptology webscoket client
Project description
# Welcome to cryptology-ws-client-python v1.1.2
This is an official Python client library for the Cryptology exchange WebSocket API.
By using this Cryptology Python client you confirm that you have read and accept [License Agreement](https://github.com/CryptologyExchange/cryptology-ws-client-python/blob/master/LICENSE).
## Features
- Asynchronous implementation of all WebSocket Market Data and Account endpoints.
- Handling response errors
- Withdrawal functionality
# Quick Start
Receive your own API access key and secret key.
Install library.
```bash
pip install cryptology-ws-client
```
Run tests.
```bash
make tests
```
And see example.
```python
import asyncio
import itertools
import os
import logging
import time
from collections import namedtuple
from cryptology import ClientWriterStub, run_client, exceptions
from datetime import datetime
from decimal import Decimal
from typing import Iterable, Dict, List
SERVER = os.getenv('SERVER', 'wss://api.sandbox.cryptology.com')
logging.basicConfig(level='DEBUG')
async def main():
async def writer(ws: ClientWriterStub, pairs: List, state: Dict) -> None:
while True:
client_order_id = int(time.time() * 10)
await ws.send_message(payload={
'@type': 'PlaceBuyLimitOrder',
'trade_pair': 'BTC_USD',
'price': '1',
'amount': '1',
'client_order_id': client_order_id,
'ttl': 0
})
await asyncio.sleep(5)
async def read_callback(ws: ClientWriterStub, ts: datetime, message_id: int, payload: dict) -> None:
if payload['@type'] == 'BuyOrderPlaced':
await ws.send_message(payload={'@type': 'CancelOrder', 'order_id': payload['order_id']})
while True:
try:
await run_client(
access_key='YOUR ACCESS KEY',
secret_key='YOUR SECRET KEY',
ws_addr=SERVER,
writer=writer,
read_callback=read_callback,
last_seen_message_id=-1
)
except exceptions.ServerRestart:
asyncio.sleep(60)
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
```
For more check out the [documentation](https://github.com/CryptologyExchange/api).
This is an official Python client library for the Cryptology exchange WebSocket API.
By using this Cryptology Python client you confirm that you have read and accept [License Agreement](https://github.com/CryptologyExchange/cryptology-ws-client-python/blob/master/LICENSE).
## Features
- Asynchronous implementation of all WebSocket Market Data and Account endpoints.
- Handling response errors
- Withdrawal functionality
# Quick Start
Receive your own API access key and secret key.
Install library.
```bash
pip install cryptology-ws-client
```
Run tests.
```bash
make tests
```
And see example.
```python
import asyncio
import itertools
import os
import logging
import time
from collections import namedtuple
from cryptology import ClientWriterStub, run_client, exceptions
from datetime import datetime
from decimal import Decimal
from typing import Iterable, Dict, List
SERVER = os.getenv('SERVER', 'wss://api.sandbox.cryptology.com')
logging.basicConfig(level='DEBUG')
async def main():
async def writer(ws: ClientWriterStub, pairs: List, state: Dict) -> None:
while True:
client_order_id = int(time.time() * 10)
await ws.send_message(payload={
'@type': 'PlaceBuyLimitOrder',
'trade_pair': 'BTC_USD',
'price': '1',
'amount': '1',
'client_order_id': client_order_id,
'ttl': 0
})
await asyncio.sleep(5)
async def read_callback(ws: ClientWriterStub, ts: datetime, message_id: int, payload: dict) -> None:
if payload['@type'] == 'BuyOrderPlaced':
await ws.send_message(payload={'@type': 'CancelOrder', 'order_id': payload['order_id']})
while True:
try:
await run_client(
access_key='YOUR ACCESS KEY',
secret_key='YOUR SECRET KEY',
ws_addr=SERVER,
writer=writer,
read_callback=read_callback,
last_seen_message_id=-1
)
except exceptions.ServerRestart:
asyncio.sleep(60)
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
```
For more check out the [documentation](https://github.com/CryptologyExchange/api).
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
Close
Hashes for cryptology-ws-client-1.1.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e22948808c7226d3710d07caf137d1705ce2c25fa2eee41dc20f4ce147251a73 |
|
MD5 | 12b045ecc0f8e58793b2e42b1884ec6d |
|
BLAKE2b-256 | ed843419ca1fb7282b038f3df319f8b2f16b4f806b92f2a7fa1754a35adfecb7 |