bitvavo-aio
This Python library provides access to the Bitvavo crypto exchange REST API. It is focused on Bitvavo's REST API only, as lean and mean as possible.
bitvavo-aio is a fully asynchronous library built on aiohttp.
For changes see the CHANGELOG.
Features
- Access to Bitvavo's REST API: market data, account details, balances, staking, transaction history and order management
- Fully asynchronous, can share an existing
aiohttp.ClientSession - Request timeouts and typed exceptions (
BitvavoAuthError,BitvavoRateLimitError,BitvavoConnectionError) - Tracks the remaining rate limit weight (
client.rate_limit_remaining)
Installation
pip3 install bitvavo-aio
Python 3.11 or newer is required.
Prerequisites
Market data (tickers, markets, assets, order books, candles) is public and needs no API key.
For account data and trading, create an API key on the Bitvavo website and set the needed permissions (View for read-only use, Trade for orders). Optionally restrict the key to your IP address.
Basic Example
import asyncio
import os
from bitvavo.BitvavoClient import BitvavoClient
from bitvavo.BitvavoExceptions import BitvavoAuthError, BitvavoException
async def run() -> None:
async with BitvavoClient(os.environ["APIKEY"], os.environ["SECKEY"]) as client:
print(await client.get_24h_price_ticker("BTC-EUR"))
print(await client.get_markets("BTC-EUR"))
try:
print(await client.get_balance())
print(await client.get_staking_balance())
print(await client.get_account_fees(quote="EUR"))
except BitvavoAuthError as err:
print(f"Check your API key: {err.error_code} {err.error}")
except BitvavoException as err:
print(f"API error: {err}")
print(f"Rate limit weight left: {client.rate_limit_remaining}")
asyncio.run(run())
To reuse an existing session (for example in Home Assistant), pass session=; the client will not close it:
client = BitvavoClient(api_key, secret, session=my_session, timeout=10)
A full overview of implemented API calls can be found in examples/client.py.
Development
pdm install --group dev
pdm run ruff check . && pdm run ruff format --check .
pdm run mypy bitvavo
pdm run pytest
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.
Metadata
Release files for bitvavo-aio 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| bitvavo_aio-1.1.0.tar.gz | 12.5 kB | Without provenance | Details for bitvavo_aio-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| bitvavo_aio-1.1.0-py3-none-any.whl | Python 3 | none | any | Details for bitvavo_aio-1.1.0-py3-none-any.whl |
Total release size: 23.2 kB
Release files / bitvavo_aio-1.1.0.tar.gz
| Download URL | bitvavo_aio-1.1.0.tar.gz |
|---|---|
| Size | 12.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
29e07705f4e9c1c4b66f74679c871a83273324fc2ed3b52a3f10787cce2c64a6
|
|
BLAKE2b-256 checksum How to use checksums |
17a3af2ed75cc250c7d452883cd4409a934bd7bd7251cc23a5c8038c1151f020
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.29.3 CPython/3.14.7 Linux/6.12.88+deb13-amd64
|
Release files / bitvavo_aio-1.1.0-py3-none-any.whl
| Download URL | bitvavo_aio-1.1.0-py3-none-any.whl |
|---|---|
| Size | 10.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
089a5f9e2cc5f4c7979d36776163a6da0456e805edf4033908d68449d25657ac
|
|
BLAKE2b-256 checksum How to use checksums |
78ba565215bbea4c9d6b374030617b86954272e881af2937a0fa3964b2bae2f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.29.3 CPython/3.14.7 Linux/6.12.88+deb13-amd64
|
Security for bitvavo-aio 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.