This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Grapple extracts the full Ripple ledger directly from rippled via websocket. It queries rippled for the current ledger index, then walks backwards until it reaches the genesis ledger, recording every transaction it finds.

Data can be collected from a local or a remote rippled instance. If you have a local rippled instance running that has downloaded all or most of the ledger, I strongly recommend doing local data collection. Fetching data from Ripple’s public websocket is very slow!

Grapple also resamples each currency pair’s price time series to create “Open-Hi-Lo-Close” time series. These resampled datasets can be useful for statistical tests, technical market analysis, or simply for drawing charts.

Donations:

Bitcoin: 1NUqhGjJEedXxUSxJThfDAHzF2mFosk3fo
Ripple: ~tinybike (rLvcQ6ctvr12aQq29AcZT6JMWH7iZ8esHS)

Installation

The easiest way to install Grapple is using pip:

pip install grapple

Grapple is designed to integrate with PostgreSQL, using connection information in config.py. By default, it assumes that your database is located on localhost (127.0.0.1), and that your database’s name, password, username and are all “grapple”.

(While this is certainly not a secure setup, it may be convenient for people who install Grapple via pip, and do not wish to edit its source code.)

Usage

Grapple can be used as a Python module:

from grapple import Grapple

grapple = Grapple()
grapple.download()

The Grapple constructor accepts the following keyword arguments:

socket_url (str):
rippled websocket URL (default=”ws://127.0.0.1:6006/”)
full (bool):
True if downloading the full ledger (starting from the current ledger and walking back to the genesis ledger). False if the download should stop at the last current ledger (i.e., the last time grapple was run). (default=True)
genesis (int):
Genesis block index and download halting point. (default=152370)
quiet (bool):
If True, suppress console output. (default=True)
resampling_frequencies (tuple):
Resampling frequencies, using pandas frequency codes. If None, then resampling is disabled. (default=(‘D’,) or daily)

It can also be run as a script:

python grapple.py [-flags]

Optional flags:

-w, --websocket [websocket url]:
    Specify the rippled websocket url. (default=ws://127.0.0.1:6006/)

-p, --public:
    Use Ripple Labs' public websocket, wss://s1.ripple.com:51233.

-f, --full:
    Download the full Ripple ledger.  Automatic on your first run.

-g, --genesis [ledger index]:
    Genesis ledger index and download halting point.

-q, --quiet:
    Suppress command line output.

Tests

Unit tests are in the test/ directory. Coverage is limited at the moment, but slowly improving!

Note: tests that require a local rippled and/or Postgres database connection are disabled by default. See test/test_grapple.py for details.

Release History

Release History

0.2.2

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
grapple-0.2.2.tar.gz (9.9 kB) Copy SHA256 Checksum SHA256 Source Sep 2, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting