Skip to main content

Betfair Exchange Stream API wrapper

Project description

Betfairstreamer

Features

  • Run single or multiple streams simultaneously.
  • Making use numpy arrays to access market price/size.
  • Synchronous and asynchronous streaming.
  • Parse historical data.

Installation

!! Requires >= 3.8.0

Conda installation

# If you already have an environment

conda activate your_environment
conda install -c anaconda python=3.8
pip install betfairstreamer==0.8.0

# If not, create an environment with python 3.8

conda create -n your_environment_name python=3.8
conda activate your_environment_name
pip install betfairstreamer==0.8.0

Virtual environment installation

mkdir your_project
cd your_project
python3.8 -m venv venv
source venv/bin/activate
pip install betfairstreamer==0.8.0

Examples

session_token = api_client.get_session_token()

soccer_subscription = create_market_subscription(
    event_type_ids=["1"],
    country_codes=["DE"],
    market_types=["MATCH_ODDS"],
    fields=["EX_MARKET_DEF", "EX_LTP", "EX_BEST_OFFERS_DISP"],
    ladder_levels=2,
)

order_subscription = create_order_subscription()

connection_pool = BetfairConnectionPool.create_connection_pool(
    subscription_messages=[
        soccer_subscription_message, 
        order_subscription_message
    ],
    app_key=APP_KEY,
    session_token=session_token
)

for stream_update in connection_pool.read():
    print(stream_update)

Jupyter notebooks available in ./examples

Benchmark

Setup: Two processes, one sending betfair stream messages , one receiving.

Hardware: I7 8550U, 16GB ram

Results: 
 * Using a market cache it can read around ~90k decoded messages/second

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

betfairstreamer-0.8.0.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

betfairstreamer-0.8.0-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file betfairstreamer-0.8.0.tar.gz.

File metadata

  • Download URL: betfairstreamer-0.8.0.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for betfairstreamer-0.8.0.tar.gz
Algorithm Hash digest
SHA256 4d2573b1199bc54829246438a2d45644b4dbc1753252a1314402eeae8327196d
MD5 ff1470aa269df65ebefca3488d383424
BLAKE2b-256 ec3d6a3f539fc719a3cb828e2427239a065ad96683643ac3518ae1ed392e18e6

See more details on using hashes here.

File details

Details for the file betfairstreamer-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: betfairstreamer-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for betfairstreamer-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c9d53a49d4ca6167692c2a596e409e90659d261c2337cc4ea16925977ea7ecd7
MD5 3a8c1ea1ed44b514a93ad1d9c66d4ddb
BLAKE2b-256 4ec79506b20969d3acbea66de5deb8564a87d208174ffe54d8e38a56558ffda7

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