Smarkets Python SDK - API clients and utility library
Project description
Smarkets Python library (streaming API client, id generation, more to come).
Compatible with Python 2.x >= 2.6 and PyPy 1.9+.
Documentation: http://smarkets-python-sdk.readthedocs.org/en/latest/
Installing using source distribution
When you install smk-python-sdk using PyPI distribution there are no non-Python dependencies. All the Python dependencies will be fetched for you when you install smk-python-sdk.
PyPI page: https://pypi-hypernode.com/pypi/smk_python_sdk
pip install smk-python-sdk
Getting Started
import logging
logging.basicConfig(level=logging.DEBUG)
from smarkets.streaming_api.api import (
BUY, GOOD_TIL_CANCELLED, OrderCreate, SessionSettings, Session, StreamingAPIClient)
username = 'username'
password = 'password'
settings = SessionSettings(username, password)
settings.host = 'api.smarkets.com'
settings.port = 3701
session = Session(settings)
client = StreamingAPIClient(session)
client.login()
client.ping()
client.read()
client.flush()
market_id = client.str_to_uuid128('fc024')
order = OrderCreate()
order.quantity = 400000 # £40 payout
order.price = 2500 # 25.00%
order.side = BUY
order.market = market_id
order.contract = client.str_to_uuid128('fcccc')
order.time_in_force = GOOD_TIL_CANCELLED
client.send(order)
client.logout()
Registering callbacks
from google.protobuf import text_format
def login_response(msg):
print("eto.login_response", text_format.MessageToString(msg))
def global_callback(name, msg):
print(name, text_format.MessageToString(msg))
client.add_handler('eto.login_response', login_response)
client.add_global_handler(global_callback)
Thread Safety
Functions and class members contained in this package are thread safe. Instance members are not thread safe.
Development
GitHub repository: https://github.com/smarkets/smk_python_sdk/
Non-Python dependencies:
piqi
Google protocol buffers compiler and libraries
You can install Python dependencies by executing:
pip install -r requirements-dev-py2.txt
To build and install call:
python setup.py clean build install
License
Copyright (C) 2011-2013 Smarkets Limited <support@smarkets.com>
This module is released under the MIT License: http://www.opensource.org/licenses/mit-license.php (or see the LICENSE file)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for smk_python_sdk-1.0.11-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5911c3894b1926489fdd390a1670bf4baa42881066fb51e8068edcbf6d225748 |
|
MD5 | 3aed0326c40c6182343bd55877b5e070 |
|
BLAKE2b-256 | 5ff4ba6bc19b1e9b74f48487056fa9c3317eba75917e0224fcadec3e1d1e1625 |