Skip to main content

Bitvavo asynchronous Python client

Project description

bitvavo-aio

This Python library provides access to Bitvavo crypto exchange API. The library is focussed on Bitvavo's REST API only for the moment, as lean and mean as possible, websocket support may follow later.

binance-aio is designed as an asynchronous library utilizing modern features of Python using aiohttp.

For changes see: CHANGELOG.

Features

  • Access to Bitvavo's REST API like account details, market data and order management
  • Fully asynchronous, designed for good performance

Installation

pip3 install bitvavo-aio

Prerequisites

Due to dependencies and Python features used by the library please make sure you use Python version > 3.6.

Before you can use bitvavo-aio you need to define a API key pair inside your account on the website of Bitvavo, and set the needed permissions and specify your whitelist IP address. Write down the Bitvavo API and SECRET key given to be used in the code.

Basic Example

#!/usr/bin/env python3
import asyncio
import logging
import os
from datetime import datetime

from bitvavo.BitvavoClient import BitvavoClient
from bitvavo.Pair import Pair
from bitvavo import enums
from bitvavo.BitvavoExceptions import BitvavoException

LOG = logging.getLogger("bitvavo")
LOG.setLevel(logging.DEBUG)
LOG.addHandler(logging.StreamHandler())

print(f"Available loggers: {[name for name in logging.root.manager.loggerDict]}\n")

async def run():

    # Retrieve your API and SECRET key from the Bitvavo website
    # and store them in the following environment variables.
    api_key = os.environ['APIKEY']
    sec_key = os.environ['SECKEY']

    client = BitvavoClient(api_key, sec_key)

    # General
    print("\nServer time:")
    await client.get_time()

    print("\nMarkets:")
    await client.get_markets()

    print("\nMarkets ETH-BTC:")
    await client.get_markets(pair = Pair('ETH', 'BTC'))

    print("\nAssets:")
    await client.get_assets()

    print("\nAssets BTC:")
    await client.get_assets('BTC')

    # Market data
    print("\nOrder book:")
    await client.get_orderbook(pair = Pair('ETH', 'BTC'))

    print("\nCandelsticks:")
    await client.get_candelsticks(pair=Pair('ETH', 'BTC'), interval = '1m', limit = 5)

    print("\nPrice ticker:")
    await client.get_price_ticker()

    print("\nBest order book:")
    await client.get_best_orderbook_ticker()

    print("\n24hour price ticker:")
    await client.get_24h_price_ticker()

    # Orders
    print("\nGet open orders:")
    await client.get_open_orders()

    print("\nGet orders ETH-BTC:")
    await client.get_orders(pair = Pair('ETH', 'BTC'))

    # Trades
    print("\nGet historical trades ETH-BTC:")
    await client.get_historical_trades(pair = Pair('ETH', 'BTC'), limit = 5)

    # Account
    print("\nAccount:")
    await client.get_account()

    print("\nBalance:")
    await client.get_balance()

    print("\nDeposit history:")
    await client.get_deposit_history()

    await client.close()

if __name__ == "__main__":
    asyncio.run(run())

A full overview of implemented API calls can be found in: examples/client.py

Support and Contact

If you like this library and you want to support further development or have a bug to report, please open a Github Issue.

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

bitvavo-aio-1.0.3.tar.gz (8.6 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page