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.27.tar.gz (46.5 kB view details)

Uploaded Source

Built Distribution

ccxw-0.2.27-py3-none-any.whl (51.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ccxw-0.2.27.tar.gz
Algorithm Hash digest
SHA256 b25cfe33cb5f31ad6c0d7f621047aa72f8f1177163d21c227a42ca42a08d3b5b
MD5 638c136748b818156adcf5ac7faa15d6
BLAKE2b-256 6764bdc07737d1e851d79cda1f8a6b73d5a8c9d26901963908e3b48c687e54b0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ccxw-0.2.27-py3-none-any.whl
Algorithm Hash digest
SHA256 e901a4a5207d8518a01c495ca3934ede29fc7a853debfbf039d51e3b5168cc63
MD5 42e854e8133bdd69f3fbd971360e178b
BLAKE2b-256 e6f6cec0a399bd638643b71e15a8c5f5730bdfbcb40e5b976e283b536427715d

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