Skip to main content

IDEX REST API python implementation

Project description

https://img.shields.io/pypi/v/python-idex.svg https://img.shields.io/pypi/l/python-idex.svg https://img.shields.io/travis/sammchardy/python-idex.svg https://img.shields.io/coveralls/sammchardy/python-idex.svg https://img.shields.io/pypi/wheel/python-idex.svg https://img.shields.io/pypi/pyversions/python-idex.svg

This is an unofficial Python wrapper for the IDEX exchanges REST API v1. I am in no way affiliated with IDEX, use at your own risk.

PyPi

https://pypi.python.org/pypi/python-idex

Source code

https://github.com/sammchardy/python-idex

Documentation

https://python-idex.readthedocs.io/en/latest/

Features

  • Implementation of all REST endpoints except for deposit.

  • Helper functions for your wallet address

  • Response exception handling

  • Websockets for Python 3.5+

Quick Start

Register an account with IDEX.

pip install python-idex

Synchronous Examples

from idex.client import Client
client = Client(address, private_key)

# get currencies
currencies = client.get_currencies()

# get market depth
depth = client.get_order_book('ETH_SAN')

# get your balances
balances = client.get_my_balances()

# get your open orders
orders = client.get_my_open_orders('ETH_SAN')

# create a limit order
order = client.create_order('SAN', 'ETH', '0.001', '10000')

Async Examples for Python 3.5+

from idex.asyncio import AsyncClient, IdexSocketManager

loop = None

async def main():
    global loop

    # Initialise the client
    client = await AsyncClient()

    # get currencies
    currencies = await client.get_currencies()

    # get market depth
    depth = await client.get_order_book('ETH_SAN')

    # get your balances
    balances = await client.get_my_balances()

    # get your open orders
    orders = await client.get_my_open_orders('ETH_SAN')

    # create a limit order
    order = await client.create_order('SAN', 'ETH', '0.001', '10000')

    # Initialise the socket manager
    ism = await IdexSocketManager.create(loop)

    # Coroutine to receive messages
    async def handle_evt(msg, topic):
        print("topic:{} type:{}".format(topic, msg['type']))

    # Subscribe to updates for the ETH_NPXS market
    await ism.subscribe('ETH_NPXS', handle_evt)

    # keep the script running so we can retrieve websocket events
    while True:
        await asyncio.sleep(20, loop=loop)


if __name__ == "__main__":
    # get a loop and switch from synchronous to async
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

For more check out the documentation.

TODO

  • Deposit endpoints

Other Exchanges

If you use Binance check out my python-binance library.

If you use Quoinex or Qryptos check out my python-quoine library.

If you use Allcoin check out my python-allucoin library.

If you use Exx check out my python-exx library.

If you use Kucoin check out my python-kucoin library.

If you use BigONE check out my python-bigone library.

https://analytics-pixel.appspot.com/UA-111417213-1/github/python-idex?pixel

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

python-idex-0.3.0.tar.gz (17.8 kB view hashes)

Uploaded Source

Built Distribution

python_idex-0.3.0-py2.py3-none-any.whl (30.9 kB view hashes)

Uploaded Python 2 Python 3

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