Skip to main content

Unofficial CoinMarketCap API and Python wrapper

Project description

cmc-py

Unofficial CoinMarketCap API and Python wrapper. cmc-py uses Selenium and BeautifulSoup to scrape the website and return desired data.

mypy lint pytest codecov PyPI pages-build-deployment Docker Image CI Docker Build and Push Image Code style: black codecov

Installation

  • Using setup.py
python setup.py install
  • Using Python Package Index
pip install cmc-py-wrapper
  • Using poetry
poetry install

Wrapper

cmc-py library can be used to fetch data for the following:

  • CryptoCurrencies
from cmc import Trending, format_data

top_30_trending = Trending().get_data
print(format_data(top_30_trending))
  • Exchanges
from cmc import Spot, format_data

spot_exchanges = Spot().get_data
print(format_data(spot_exchanges))
  • Non Fungible Tokens (NFTs)
from cmc import UpcomingSale, format_data

upcoming_nft_sales = UpcomingSale(pages=[1, 2]).get_data
print(format_data(upcoming_nft_sales))

API

An API is also built using the cmc-py modules using FastAPI and Redis. Redis configurations can be set using the config.yml file, and it is used to cache the scraped data fetched through cmc-py. Redis server should be running in the background in order to cache API calls. An instance of the API is hosted on Heroku.

  • Running the API locally
uvicorn api.main:app
  • Building the API using Dockerfile
docker build -t cmc .
docker compose up -d
docker pull devansh3712/cmc-api
docker run devansh3712/cmc-api

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

cmc-py-wrapper-0.1.4.tar.gz (22.7 kB view hashes)

Uploaded Source

Built Distribution

cmc_py_wrapper-0.1.4-py3-none-any.whl (53.4 kB view hashes)

Uploaded Python 3

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