HitBTC Websocket API 2.0 Client written in Python 3
Switch branches/tags
Nothing to show
Clone or download
nlsdfnbch Merge pull request #17 from kjgd/master
Improvements to formatters, better API spec compliance
Latest commit b0a5a50 Jan 24, 2018
Permalink
Failed to load latest commit information.
docs RTD fixes Dec 6, 2017
hitbtc Stop flooding the console with empty balances Jan 24, 2018
.gitignore Initial commit Dec 6, 2017
LICENSE Initial commit Dec 6, 2017
README.md fix example Dec 8, 2017
setup.py bump version Jan 6, 2018

README.md

hitbtc

HitBTC Websocket API 2.0 Client written in Python 3.

The client supplies data both visually via console, as well as python objects via its HitBTC.recv(). It's important to note that this does not receive data from the API directly - instead, the data is pulled from a queue.Queue object, which defaults to a length of 100 items. So only the last 100 messages will be cached - either make sure you process the messages fast enough, or increas the length of the queue (can be done by passing the q_maxsize kwarg on instantiation).

By default, data is unpacked - that means you will never see the raw JSONRPC message (this, too, can be turned off by passing raw=True upon initialization). This will, however, also turn off all handling of error messages etc.

For an in-depth description of the client and its methods, please see the documenation at readthedocs.org

Installation

Stable: pip install hitbtc Release Candidate: pip install --pre hitbtc

Example Usage

import time
import queue
from hitbtc import HitBTC
c = HitBTC()
c.start()  # start the websocket connection
time.sleep(2)  # Give the socket some time to connect
c.subscribe_ticker(symbol='ETHBTC') # Subscribe to ticker data for the pair ETHBTC

while True:
    try:
        data = c.recv()
    except queue.Empty:
        continue

    # process data from websocket
    ...

c.stop()