Cryptology webscoket client
Project description
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:
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.
pip install cryptology-ws-client
Run tests.
make tests
And see example.
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.
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.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c16bc3b03c0418fa78304bb6b990573d63e33f3b27fd7de0a2d4d8204c6e648 |
|
MD5 | 2e62649c4b71baf80d6762116437f4b4 |
|
BLAKE2b-256 | 1fe0b6a3c644f042c276164ceade17632bb32c0bf249e9b31ad8aea773ffce2b |