Skip to main content

A utility library that wraps grabbing the current spot price of $XRP from various exchanges.

Project description

xrp-price-aggregate

Based on XRPL-Labs/XRP-Price-Aggregator

Usage

  1. pip install xrp-price-aggregate

  2. Run directly as a module or import and provide aggregation count (how many rounds) along with delay between each round.

    # run xrp_price_aggregate.__main__ and also beautify the results
    python -m xrp_price_aggregate | python -m json.tool
    {
        "raw_results_named": {
            "hitbtc": [
                "0.72235"
            ],
            ...
        },
        "raw_results": [
            "0.72110",
            "0.72236",
            "0.72202",
            ...
        ],
        "raw_median": "0.72219",
        "raw_stdev": "0.00071",
        "filtered_results": [
            "0.72236",
            "0.72202",
            "0.72240",
            ...
        ],
        "filtered_median": "0.72236",
        "filtered_mean": "0.72219"
    }
    
    >>> # await it yourself
    >>> import asyncio
    >>> import xrp_price_aggregate
    >>> asyncio.run(xrp_price_aggregate.as_awaitable_json())
    '{"raw_results_named": {"hitbtc": ["0.711729"], "binance": ["0.7131"], "bitrue": ["0.71292"], "bitfinex": ["0.7122"], "ftx": ["0.712675", "0.7126"], "kraken": ["0.71223"], "cex": ["0.71334", "0.7135"], "bitstamp": ["0.71328"]}, "raw_results": ["0.7131", "0.7122", "0.71328", "0.71334", "0.7135", "0.712675", "0.7126", "0.711729", "0.71223", "0.71292"], "raw_median": "0.7127975", "raw_stdev": "0.0005759840275563203497399309551", "filtered_results": ["0.71310", "0.71328", "0.71334", "0.71268", "0.71260", "0.71223", "0.71292"], "filtered_median": "0.71292", "filtered_mean": "0.71288"}'
    
    >>> # synchronous is the default case
    >>> import xrp_price_aggregate
    >>> xrp_price_aggregate.as_json()
    '{"raw_results_named": {"cex": ["0.72039", "0.72136"], "hitbtc": ["0.72122"], "kraken": ["0.72132"], "bitfinex": ["0.72145"], "bitstamp": ["0.72047"], "bitrue": ["0.72122"], "binance": ["0.72150"], "ftx": ["0.72078", "0.72155"]}, "raw_results": ["0.72150", "0.72145", "0.72047", "0.72039", "0.72136", "0.72078", "0.72155", "0.72122", "0.72132", "0.72122"], "raw_median": "0.72127", "raw_stdev": "0.00043", "filtered_results": ["0.72150", "0.72145", "0.72136", "0.72155", "0.72122", "0.72132", "0.72122"], "filtered_median": "0.72136", "filtered_mean": "0.72137"}'
    >>> xrp_price_aggregate.as_dict(count=3, delay=2)
    {'raw_results_named': {'binance': [Decimal('0.721'), Decimal('0.7213'), Decimal('0.7211')], 'ftx': [Decimal('0.7208'), Decimal('0.720975'), Decimal('0.7208'), Decimal('0.720975'), Decimal('0.7208'), Decimal('0.720975')], 'bitfinex': [Decimal('0.7215'), Decimal('0.7215'), Decimal('0.72141')], 'hitbtc': [Decimal('0.720796'), Decimal('0.720796'), Decimal('0.720796')], 'bitstamp': [Decimal('0.72047'), Decimal('0.72047'), Decimal('0.72047')], 'bitrue': [Decimal('0.72081'), Decimal('0.72094'), Decimal('0.72111')], 'kraken': [Decimal('0.72132'), Decimal('0.72132'), Decimal('0.72132')], 'cex': [Decimal('0.72039'), Decimal('0.72136'), Decimal('0.72039'), Decimal('0.72136'), Decimal('0.72039'), Decimal('0.72136')]}, 'raw_results': [Decimal('0.721'), Decimal('0.7215'), Decimal('0.72047'), Decimal('0.72039'), Decimal('0.72136'), Decimal('0.7208'), Decimal('0.720975'), Decimal('0.720796'), Decimal('0.72132'), Decimal('0.72081'), Decimal('0.7213'), Decimal('0.7215'), Decimal('0.72047'), Decimal('0.72039'), Decimal('0.72136'), Decimal('0.7208'), Decimal('0.720975'), Decimal('0.720796'), Decimal('0.72132'), Decimal('0.72094'), Decimal('0.7211'), Decimal('0.72141'), Decimal('0.72047'), Decimal('0.72039'), Decimal('0.72136'), Decimal('0.7208'), Decimal('0.720975'), Decimal('0.720796'), Decimal('0.72132'), Decimal('0.72111')], 'raw_median': Decimal('0.720975'), 'raw_stdev': Decimal('0.0003566360729171225136133563969'), 'filtered_results': [Decimal('0.721'), Decimal('0.7208'), Decimal('0.720975'), Decimal('0.720796'), Decimal('0.72132'), Decimal('0.72081'), Decimal('0.7213'), Decimal('0.7208'), Decimal('0.720975'), Decimal('0.720796'), Decimal('0.72132'), Decimal('0.72094'), Decimal('0.7211'), Decimal('0.7208'), Decimal('0.720975'), Decimal('0.720796'), Decimal('0.72132'), Decimal('0.72111')], 'filtered_median': Decimal('0.720975'), 'filtered_mean': Decimal('0.7209962777777777777777777778')}
    

Note on Jupyter

When running in Jupyter notebooks, be sure to use nest_asyncio

import nest_asyncio
import xrp_price_aggregate


nest_asyncio.apply()


agg_results = xrp_price_aggregate.as_dict(count=6, delay=3)

Public Colab Example Notebook, backup of the .ipynb as a Gist

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

xrp-price-aggregate-0.0.9.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

xrp_price_aggregate-0.0.9-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file xrp-price-aggregate-0.0.9.tar.gz.

File metadata

  • Download URL: xrp-price-aggregate-0.0.9.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10

File hashes

Hashes for xrp-price-aggregate-0.0.9.tar.gz
Algorithm Hash digest
SHA256 0d181e9156106e212f91794c545ad4c52a5aaf331392d11771498a230cdd262d
MD5 d6b9de9436092e2cfe0002b6da6b9887
BLAKE2b-256 36d75bbd29c8c886df1c829e04cfb0a579cc07f012614a309a6c174ea4e4973d

See more details on using hashes here.

File details

Details for the file xrp_price_aggregate-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: xrp_price_aggregate-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10

File hashes

Hashes for xrp_price_aggregate-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 8449dd0475280ef0c18c97b51664e4c0ece755296999dfce977f8e2866bc6fe9
MD5 bb4b409f998c88908b90e60e32069254
BLAKE2b-256 b107ea4ab2c633f43b8644bfa38e6104ae354888828706490a12b519f034d291

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