Skip to main content

Ccxw - CryptoCurrency eXchange Websocket Library

Project description

CCXW - CryptoCurrency eXchange Websocket Library

This library is designed to fetch data from exchange WebSocket APIs and store or update data in a temporary SQLite database in the background, making it readily accessible for retrieval.

Currently, it is available for several exchanges, including Binance, Bybit, and more. You can find a complete list of supported exchanges using Ccxw.get_supported_exchanges().

Furthermore, the library supports a variety of endpoints, such as order_book, kline, and more. A comprehensive list of supported endpoints can be found via Ccxw.get_supported_endpoints().

Example:

###Install

pip install ccxw

###Use

import time
import pprint
from ccxw import Ccxw

symbol = 'BTC/USDT'

streams = [\
                {\
                    'endpoint': 'order_book',\
                    'symbol': symbol
                },\
                {\
                    'endpoint': 'kline',\
                    'symbol': symbol,\
                    'interval': interval\
                },\
                {\
                    'endpoint': 'trades',\
                    'symbol': symbol
                },\
                {\
                    'endpoint': 'ticker',\
                    'symbol': symbol
                }\
        ]

wsm = Ccxw('binance',\
            streams,\
            result_max_len=5,\
            data_max_len=10)

wsm.start()  # Start getting data

time.sleep(2)  # Wait for available data

for i in range(0, 10):
    for stream in streams:
        interval = 'none'
        if 'interval' in stream:
            interval = stream['interval']
        data = wsm.get_current_data(stream['endpoint'], stream['symbol'], interval)
        pprint.pprint(data, sort_dicts=False)
        print('----------------------------------')
        time.sleep(1)
    print('============================================================')

wsm.stop()  # Stop getting data

Important Information

Please be aware that each instance opens a new connection to websockets. If you create multiple instances for the same exchange, you may exceed the websockets connection limits set by exchanges. Make sure to check the connection limits of exchanges before opening numerous instances.

View License

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

ccxw-0.2.20.tar.gz (46.2 kB view details)

Uploaded Source

Built Distribution

ccxw-0.2.20-py3-none-any.whl (50.6 kB view details)

Uploaded Python 3

File details

Details for the file ccxw-0.2.20.tar.gz.

File metadata

  • Download URL: ccxw-0.2.20.tar.gz
  • Upload date:
  • Size: 46.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.2

File hashes

Hashes for ccxw-0.2.20.tar.gz
Algorithm Hash digest
SHA256 16ee0c052b932c2531fdff60fe7741eed7495c0a1c2f33d4cd51899a57795e83
MD5 315f8f23e8125f6403654ac65eb24df9
BLAKE2b-256 98e8408dbe7d12a21e4e5a2b454bacbf1bd61fa7b7a0a39af9405e2dca89f12e

See more details on using hashes here.

File details

Details for the file ccxw-0.2.20-py3-none-any.whl.

File metadata

  • Download URL: ccxw-0.2.20-py3-none-any.whl
  • Upload date:
  • Size: 50.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.9.2

File hashes

Hashes for ccxw-0.2.20-py3-none-any.whl
Algorithm Hash digest
SHA256 5867969bae7ea7299f664be3f374a3cc9d8d0cd32575451b60dc5c27eac8cd2b
MD5 420bb707af572b8cea127452365a5988
BLAKE2b-256 b7d99f3c848fd618aba008b5f390a6853bb2946ae17eadb5d2b8aa2f8f4587e2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page