Skip to main content

reactive-platform: Reactive Platform Python API

Project description

Reactive Markets Platform SDK Python

The Reactive Platform SDK for Python.

Getting Started

Install

The package only support python3.7 and python3.8, not for lower versions.

Install the package in a python environment:

$ pip install reactive-platform

Uninstall the package:

$ pip uninstall reactive-platform

Using REST API

The REST API has endpoints for various kinds of data from platform, e.g. orders, analytics and references. This package now only supports querying reference data. To access the platform, a API token must be granted from platform UI.

Create a REST client

Create a client first:

from reactive.platform.rest.client import Client

api_key = 'xxx'
url = "https://api.platform.reactivemarkets.com"
rc = Client(url=url, api_key=api_key)

Reference Data

Reference data includes asset, instrument, venue and markets. Get those data:

asset_ref = rc.fetch_asset_ref()
# json format assets reference data
assets = asset_ref.to_json()
print("asset reference:\n", assets)
# dict format assets
assets_dict = asset_ref.to_dict()
print("assets dict:\n", assets)

# instr reference
instr_ref = rc.fetch_instr_ref()
instrs = instr_ref.to_json()
print("instrument reference:\n", instrs)

# venue reference
venue_ref = rc.fetch_venue_ref()
venues = venue_ref.to_json()
print("venue reference:\n", venues)

# market reference
market_ref = rc.fetch_market_ref()
markets = market_ref.to_json()
print("market reference:\n", venues)

If client uses pandas, the reference data can be viewed in a Dataframe table in jupyter-notebook:

import pandas as pd

df = pd.read_json(market_ref.to_json())
df

Platform WebSocket API

The websocket feed provides real-time level 2 market data snapshots, public trades and liquidation via

wss://api.platform.reactivemarkets.com/feed

WebSocket Client

To access the platform via web socket, create a Client which manages the web socket connection and provides methods to access the platform. See the example in example/wsclient.py.

The message protocol is Flatbuffers, which provides an efficient serialization/deserializaton mechanism in terms of both processing and space requirements. The flatbuffer message python API for the platform is in the reactive-papi package.

Client decodes receiving messages into reactive.papi.Message.Message and allow user to apply user defined data_handler call back to handle the flatbuffer message.

Create a FeedClient

The platform-py also provides another option, FeedClient.

from reactive.platform.feed.client import FeedClient

api_key = 'xxx'
addr = "wss://api.platform.reactivemarkets.com/feed"
feed_client = FeedClient(addr=addr, api_key=api_key)

FeedClient provides methods subscribe and unsubscribe to control sending request to platform, and implement python classes in reactive.platform.feed subpackage for corresponding flatbuffer message types. see a full example in example/marketdata.py or example/trade. The client can specify book view parameters in the request. Currently, the feed gateway supports, book depths (1, 5, 10, 20), tick grouping (1, 50), and frequency integer (1 or a larger number).

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

reactive-platform-0.3.0.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

reactive_platform-0.3.0-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

Details for the file reactive-platform-0.3.0.tar.gz.

File metadata

  • Download URL: reactive-platform-0.3.0.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for reactive-platform-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b25ad31f2d6878e11a95199ad773968a69aa832d9328947e14c0be0e14d81db6
MD5 3c979be406d711be9eaaff1b6a6faa9b
BLAKE2b-256 327f8d253e6c6810826f30b5b22d0e16d79e683170e37bd8ba99eadd7bb5f68a

See more details on using hashes here.

File details

Details for the file reactive_platform-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: reactive_platform-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 36.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for reactive_platform-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0b660752c6413d870233d1f65c32f62c8befabfc6e349e0aa39a642870dd614f
MD5 65c13945df6a964e5612417a4369b4b4
BLAKE2b-256 7455ca053241588b106125d81ffb8cb9bd18b47d22ac2abb5ac90f6f942b1aac

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