Skip to main content

A Python wrapper for CryptoCompare package

Project description

BitCryptoCompare

A Python wrapper for CryptoCompare API by Bitmast Digital Services.

BitCryptoCompare is designed to be a Python wrapper of the CryptoCompare API.

Motivation

The advent of cryptocurrency in the financial and other payment systems makes it very pressing to have access to timely and valid information about cryptocurrency. Added to this challenge is the fact that cryptocurrencies have high volatility which can swing investors from huge profits to losses within a fraction of seconds. The story of cryptocurrency is far from its epilogue as new tools and a "killer application" is still being researched and pushed out to the public market. Despite all the progress currently registered, an average computer user often considers cryptocurrency and the entire blockchain domain to be an industry shrouded in darkness. This barrier for users can be reduced by improving both the interface by which blockchain technologies are accessed and simplifying the information needed by users to make valuable decisions.

Bitmast is poised to producing a simple yet effective tool by which blockchain transactions and related data could be accessed by users. One of the far-reaching goals for this tool is to enable people to access information without heavy cognitive overloads incurred from viewing many charts, numbers, and hashed strings. An integral component for attaining this is a reliable source of cryptocurrency data. We considered the CryptoCompare API a rich and reliable source by which cryptocurrency information can be extracted from data for personal and research purposes.

Aside from this, BitCryptoCompare aims to be a simple framework that can be integrated with other Python-based frameworks such as Django, Flask etc.

Description

The BitCryptoCompare is a Python wrapper supporting multiple endpoints of the CryptoCompare API. Some of the key innovative features of the design include:

  1. API calls are through callable objects that allow storing and forwarding HTTP requests as objects through the system. Example to initiate a request for data, simply follow the steps:
# Initiate a request
from bit_cryptocompare.util.url_factory import single_symbol_price
from bit_cryptocompare.parsers import SingleSymbolPrice

server_response = single_symbol_price('BTC', 'XLM,LTC,DASH', try_conversion=True,
                              relaxed_validation=True,
                              exchange='Kraken',
                              extras='Bitmast Explorer', sign=False)
data = SingleSymbolPrice.parse(server_response)                
 # further process server_response or return to caller
  1. Application-specific requirements and account details can be managed from a centralized configuration system. This will enable developers to extend the project for their peculiar needs.

  2. A set of data validation is provided for selected request object/data being passed to the CryptoCompare API. Furthermore, the default data validation can be replaced or extended by the developer to suit their target need. It is believed, however, that default validation meets the requirements for most cases.

  3. A parser module is provided for converting responses from the CryptoCompare server into target native system objects. Responses from the server can also be converted into native dictionary objects or passed along to calling a function.

  4. All HTTP requests are made through the Python requests API. See documentation here for more information.

Dependencies

The BitCryptoCompare requires requests which can be downloaded here.

The Python language version for current implementation is Python 3.6.8

Build Status

Version: 0.0.1

Current development of BitCryptoCompare is version 0.0.1 This is considered the Alpha Edition.

Features

The current edition covers the following API endpoints.

API Endpoints
Single Symbol Price
Multiple Symbols Price
Multiple Symbols Full Data
Generated Custom Average
Latest News Articles
List News Feeds
News Article Categories
List News Feeds and Categories
Exchanges With Order Book Data
Order Book L1 Top
Order Book L2 Snapshot
All the Exchanges and Trading Pairs
All the Coins
All Exchanges General Info
Coins General Info

Information about the CryptoCompare API can be found here.

Contributing

Please visit application repo for further information on extending the project. Ideas and comments are welcome.

Author

Current development is by Aniefiok Friday @frier17.

License

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ For details read license contract here

Copyright 2019 @frier17

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

bit_cryptocompare-0.0.1-py3-none-any.whl (23.9 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