openfeed-org / sdk-python

Python SDK for Barchart Openfeed

Home Page:https://docs.barchart.com/openfeed

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Openfeed SDK for Python

This SDK encapuslates the openfeed proto objects and faciliates client connections to openfeed servers.

Build

PyPI

Installation

pip install openfeed

Example Usage

import openfeed

# new client with credentials
of_client = openfeed.OpenfeedClient("username", "password")

# optional state handlers
of_client.on_error = lambda x: print("Error:", x)
of_client.on_connected = lambda x: print("Connected")
of_client.on_disconnected = lambda x: print("Disconnected")

# attach a global message handler
of_client.on_message = lambda x: print("Global Message:", x)

# sub to markets by symbol
def on_message(msg):
    print("Market Data: ", msg)

of_client.add_symbol_subscription("AAPL", callback=on_message)

# sub to markets by exchange
of_client.add_exchange_subscription("NYSE", callback=on_message)

of_client.start()

Expected Output

of-client: Connected
of-client: Market Data:  subscriptionResponse
of-client: Market Data:  marketSnapshot
of-client: Market Data:  marketUpdate
of-client: Market Data:  marketUpdate

Openfeed Documentation

Subscription Types

Openfeed supports many levels of subscription types.

OHLC

of_client.add_exchange_subscription(["NYSE"], callback=on_message, subscription_type=["OHLC"])
{
  marketId: 5389879102616877808
  symbol: "AAPL"
  open {
    price: 1205600
  }
  high {
    price: 1205600
  }
  low {
    price: 1205247
  }
  close {
    price: 1205490
  }
  volume: 43635
  priceVolume: 5259897.1422
  numberTrades: 224
  tradeDate: 20201116
  transactionTime: 1605547921000000000
  openStartTime: 1605547885850000000
  closeEndTime: 1605547920964000000
}

About

Python SDK for Barchart Openfeed

https://docs.barchart.com/openfeed

License:MIT License


Languages

Language:Python 99.6%Language:Shell 0.4%