Skip to main content

Python lib for getting the bitcoin price

Project description

PyPI - Version PyPI - Python Version PyPI - Downloads codecov

btcpriceticker

Overview

btcpriceticker is a lightweight toolkit for fetching current and historical Bitcoin pricing data from multiple services. It powers both a handy CLI and a Python API that can return spot prices, time series, and OHLC or OHLCV candles for BTC against your preferred fiat currency.

Features

  • Unified interface over CoinGecko, CoinPaprika, Kraken, and mempool.space data sources
  • Optional time series tracking with resampling utilities
  • OHLC and OHLCV aggregation backed by pandas DataFrames
  • Typer-based CLI for quick terminal access to prices, history, and candles

Installation

pip install btcpriceticker

To work on the project locally:

git clone https://github.com/holgern/btcpriceticker
cd btcpriceticker
pip install -e .[test]
pip install -r requirements-test.txt  # optional extras used in this repo

CLI Usage

Use the Typer-powered CLI after installation:

btcpriceticker price eur            # Show spot price in EUR
btcpriceticker history usd 1h       # Print recent hourly prices
btcpriceticker ohlc usd 1h          # Display OHLC candles
btcpriceticker ohlcv usd 1h         # Display OHLCV candles (requires services that support volume)

Flags such as --service and --verbose allow switching providers and log verbosity, e.g. btcpriceticker --service kraken price usd.

Python API

from btcpriceticker.price import Price

price = Price(service="kraken", fiat="usd", enable_ohlcv=True)
price.refresh()

spot = price.get_price_now()
ohlcv_frame = price.ohlcv
change = price.get_price_change()

The Price object caches provider instances and exposes helper methods such as get_usd_price, get_timeseries_list, and set_next_service for provider rotation.

Testing

Run the test suite and collect coverage with:

pytest
pytest --cov=btcpriceticker

The project follows Ruff formatting rules and includes optional pre-commit hooks:

ruff check --fix
pre-commit run --all-files

Contributing

Issues and pull requests are welcome. Please open an issue describing proposed changes and ensure tests pass before submitting.

License

Licensed under the MIT License. See LICENSE for details.

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

btcpriceticker-0.3.1.tar.gz (29.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

btcpriceticker-0.3.1-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

Details for the file btcpriceticker-0.3.1.tar.gz.

File metadata

  • Download URL: btcpriceticker-0.3.1.tar.gz
  • Upload date:
  • Size: 29.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.24

File hashes

Hashes for btcpriceticker-0.3.1.tar.gz
Algorithm Hash digest
SHA256 6beaa2facc8eaa6cbf51046bfb007302323e2337ef99a11068489fe39dd82c8c
MD5 029fbb1ae7c473610dd0287bc4300ea9
BLAKE2b-256 e5cc915e976d01e34853bfb8b1dbd8a35bdf9d39fd93395b6e99a2a43849375b

See more details on using hashes here.

File details

Details for the file btcpriceticker-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: btcpriceticker-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 26.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.24

File hashes

Hashes for btcpriceticker-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9f0d4c08ac1cb9d9ce2cdf3edb9796caf93e53d9e8b4f381cf9f7d52bb2d71fe
MD5 6375b8e12cc1b469a9316b09c065834c
BLAKE2b-256 74d54a86a140ca17c9a0f617f84124adc2c9a283553140f42e9d6c6a1582808d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page