Skip to main content

Python wrapper for coingecko.com v3 api

Project description

python-coingecko

GitHub Actions status Coverage PyPi Shield Style Badge License Shield

⚠️ This package is actively being developed and accepting PRs (see TODO section)!

A Python wrapper for coingecko.com V3 api. Other notable api wrappers that didn't satisfy my need:

  • pycoingecko has not been active in over two years and does not support the newer endpoints

Features

  • 🪙 CoinGecko api routes, including current beta
  • ✏️ MyPy Fully typed using most recent versions
  • ⚒️ Modern tooling like uv, ruff, and pre-commit
  • 📥 GitHub Actions CI/CD to automate everything
  • ↩️ Code Coverage Fully tested using tools like Codecov

Installation

$ pip install python-coingecko

Usage

Demo (free)

>>> from pycoingecko import CoinGecko
>>> coingecko = CoinGecko(api_key=<YOUR_API_KEY>)
>>> coingecko.simple.coin_price_by_id(ids="bitcoin")
{
  "bitcoin": {
    "usd": 67187.3358936566,
    "usd_market_cap": 1317802988326.25,
    "usd_24h_vol": 31260929299.5248,
    "usd_24h_change": 3.63727894677354,
    "last_updated_at": 1711356300
  }
}

Pro

>>> from pycoingecko import CoinGecko
>>> coingecko = CoinGecko(api_key=<YOUR_API_KEY>, is_pro=True)
>>> coingecko.coins.recently_added()
[
  {
    "id": "long-johnson",
    "symbol": "olong",
    "name": "Long Johnson",
    "activated_at": 1712562430
  },
  {
    "id": "dogita",
    "symbol": "doga",
    "name": "DOGITA",
    "activated_at": 1712562282
  },
  {
    "id": "bebe-on-base",
    "symbol": "bebe",
    "name": "Bebe on Base",
    "activated_at": 1712561709
  }
]

Development

To develop on this project, you'll need uv installed.

Install dev dependencies

$ uv sync

Run linters black/ruff/isort/mypy

$ make lint-all

Run pytest

$ make test

TODO

APIs

  • Ping ✅
    • Check API server status
  • Simple ✅
    • Coin Price
    • Token Address Price
    • Supported Currencies
  • Coins ✅
    • Coins List
    • Coins List With Market Data
    • Coin Data
    • Coin Tickers
    • Coin Historical Data
    • Coin Historical Chart Data
    • Coin Historical Chart Data Within Time Range
    • Coin OHLC Chart
  • Contract ✅
    • Coin Data
    • Coin Historical Chart Data
    • Coin Historical Chart Data Within Time Range
  • Asset Platforms ✅
    • Asset List
  • Categories ✅
    • List Categories
    • Market Data by Category
  • Exchanges ✅
    • List Exchanges
    • Exchange Data
    • Tickers
    • Volume Chart
  • Derivatives ✅
    • Tickers
    • Derivative Exchanges
    • Derivative Data
  • NFTs (Beta)
    • List NFTs
    • Collection Data
  • Exchange Rates ✅
    • BTC to Currency Rates
  • Search ✅
    • General Search
  • Trending ✅
    • Trending Search
  • Global ✅
    • Global Market Data
    • DeFi Market Data
  • Companies (Beta)
    • Public Companies Holdings
  • Pro
  • Enterprise
  • On Chain

Ops

  • CI for coverage and codecov

Docs

  • Update README
  • Add sphinx

Package

  • Add polrs
  • 100% coverage

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

python_coingecko-0.0.4.tar.gz (13.4 kB view details)

Uploaded Source

File details

Details for the file python_coingecko-0.0.4.tar.gz.

File metadata

  • Download URL: python_coingecko-0.0.4.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for python_coingecko-0.0.4.tar.gz
Algorithm Hash digest
SHA256 87bfc1737266ab43e704d2cf0ffe22f86a13e611cf77eaa370d95d7a178cd712
MD5 0fe0999e1a731c041f05eb77c67ae5da
BLAKE2b-256 4fc423c3732a27343d6d15abedc797f549b0d86c8ef475dd69471daab720b3c8

See more details on using hashes here.

Supported by

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