Skip to content

Python library for the Luno crypto currency exchange API

License

Notifications You must be signed in to change notification settings

BradleyKirton/luno

Repository files navigation

Luno Python Library

Sync and Async Python 3 clients for the Luno API

Quickstart

This library includes 2 types of clients, a sync client built using the requests library and an async library built with treq and twisted.

Sync client

from luno.clients.sync import LunoSyncClient

api_key = ''
api_secret = ''

client = LunoSyncClient(api_key=api_key, secret=api_secret)
client.ticker('XBTZAR')

Async client

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()

Installation

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

Developement

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

TODO

Note this library is still in beta.

  • Write documentation

About

Python library for the Luno crypto currency exchange API

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages