Skip to main content

DXFeed Python API via C API

Project description

dxfeed package

This package provides access to dxFeed streaming data. The library is build as a thin wrapper over dxFeed C-API library. We use Cython in this project as it combines flexibility, reliability and usability in writing C extensions.

This package already contains basic C-API functions related to creating connections, subscriptions etc. Moreover default listeners (functions responsible for event processing) are ready to use. The user is also able to write his own custom listener in Cython

Installation

Requirements: python >3.6, cython, pandas

pip3 install cython pandas

Install package itself with PyPI

pip3 install dxfeed

or with tar.gz artifact

pip3 install dxfeed-x.x.x.tar.gz

NOTE

MacOS is not supported yet


Basic usage

All the functions in C API have similar ones in Python with the same name. Not all arguments are supported by now, this work is in progress.

Import dxfeed library:

import dxfeed as dx

Create connection:

con = dx.dxf_create_connection(address='demo.dxfeed.com:7300')

Create one or several subscriptions of certain event types:

sub1 = dx.dxf_create_subscription(con, 'Trade')
sub2 = dx.dxf_create_subscription(con, 'Quote')

'Trade', 'Quote', 'Summary', 'Profile', 'Order', 'TimeAndSale', 'Candle', 'TradeETH', 'SpreadOrder', 'Greeks', 'TheoPrice', 'Underlying', 'Series', 'Configuration' event types are supported.

Add tickers you want to get data for:

dx.dxf_add_symbols(sub1, ['AAPL', 'MSFT'])
dx.dxf_add_symbols(sub2, ['AAPL', 'C'])

Attach listeners:

dx.dxf_attach_listener(sub1)
dx.dxf_attach_listener(sub2)

dxfeed has default listeners for each event type, but you are able to write your custom one. You can find how to do it at example/Custom listener example.ipynb.

Look at the data:

sub1.get_data()
sub2.get_data()

The data is stored in Subscription class. You can also turn dict to pandas DataFrame simply calling sub1.to_dataframe().

Detach the listener, if you want to stop recieving data:

dx.dxf_detach_listener(sub1)
dx.dxf_detach_listener(sub2)

Finally, close your connection:

dx.dxf_close_connection(con)

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

dxfeed-0.1.0.tar.gz (406.7 kB view hashes)

Uploaded Source

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