Skip to main content

Ripple JSON-RPC API and Data API wrapper for Python

Project description

DEPRECATION NOTICE: this library is not actively maintained, please consider using the Python library which was made by XRPLF <https://xrplf.org/> and which is maintained. You can find information about this library via links below:

python-ripple-lib is a client library to access Ripple rippled API and Data API.
Currently it supports public and admin methods (some of them still are work in progress though). List of implemented methods is displayed below. Basically, it’s just a wrapper on top of http requests made to API.

Available on PyPi

Installation

To install the package from PyPi run the following command

pip install python-ripple-lib

If you want to install package from this repo, use setup.py

python setup.py install

If you want to install package just for development purposes, use another command

python setup.py develop

This command creates symlinks to package files instead of copying it to package directory

JSON-RPC Methods

Most of JSON-RPC methods are implemented inside, for the full list of methods please refer to list of Public and Admin methods from ripple documentation
How to use:
from ripple_api import RippleRPCClient

# module supports authentication as well
rpc = RippleRPCClient('http://s1.ripple.com:51234/', username='<username>', password='<password>')
account_info = rpc.account_info('r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59')

Data API Methods

Most of Data API requests are implemented here as well, fll list located in here
How to use:
from ripple_api import RippleDataAPIClient

api = RippleDataAPIClient('https://data.ripple.com')
identifier = '3170DA37CE2B7F045F889594CBC323D88686D2E90E8FFD2BBCD9BAD12E416DB5'
query_params = dict(transactions='true')
ledger_info = api.get_ledger(ledger_identifier=identifier, **query_params)
Example of get_transactions() query:
from ripple_api import RippleDataAPIClient
from pprint import pprint

api = RippleDataAPIClient('https://data.ripple.com')
# to get name of a specific transaction type please refer to this link:
# https://developers.ripple.com/transaction-types.html
query_params = dict(type="Payment")
txs = api.get_transactions(**query_params)
pprint(txs)

Additional methods

Send XRP from address tp address via Account instance:

from ripple_api import Account

taker = 'rYuHe4VogMzYmvHpSsgGxRH97UvqumgER'
issuer = 'rMEmLrfkfooLjdkerU5TKTcAVpfy9fpSxt'
seed = '<account_seed>'
account = Account('http://localhost:5005', issuer, seed)
tx_info = account.send_xrp(issuer=issuer, taker=taker, secret=seed, amount=10)

Contributing

  1. Fork this project
  2. Clone it locally
  3. Add your changes
  4. Run tests:
make test

or

python -m unittest -v
  1. If tests are successful and everything is OK, commit to your local fork
  2. Submit a pull request to this repo

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-ripple-lib-1.0.11.tar.gz (18.2 kB view hashes)

Uploaded source

Built Distribution

python_ripple_lib-1.0.11-py3-none-any.whl (19.6 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page