Sync and Async Python 3 clients for the Luno API
This library includes 2 types of clients, a sync client built using the requests library and an async library built with treq and twisted.
from luno.clients.sync import LunoSyncClient
api_key = ''
api_secret = ''
client = LunoSyncClient(api_key=api_key, secret=api_secret)
client.ticker('XBTZAR')
from typing import Dict
from twisted.internet import reactor
from luno.clients.asynchronous import LunoAsyncClient
api_key = ''
api_secret = ''
client = LunoAsyncClient(api_key=api_key, secret=api_secret)
d = client.ticker('XBTZAR') # returns a twisted deferred
def print_data(data: Dict) -> None:
"""prints the json response from an API call"""
print(data)
d.addCallback(print_data)
reactor.run()
The library can be installed from PyPi as follows.
pip install luno
The async client is an optional extra and may be installed as follows.
pip install luno[async]
To install the version on this repository follow the steps below.
git clone https://github.com/BradleyKirton/luno
cd luno
python -m venv env # virtualenv env
source env/bin/activate
pip install . #pip install .[async] for the async client
Clone the repo and install the package with it's development requirements.
git clone https://github.com/BradleyKirton/luno
cd luno
python -m venv env # virtualenv env
source env/bin/activate
pip install -e .[dev]
pytest
Note this library is still in beta.
- Write documentation