Skip to main content

A lightweight Python wrapper for the IG Markets API

Project description

Latest Version Supported Python versions Wheel format License Development Status Downloads monthly Documentation Status Test Coverage https://img.shields.io/badge/code%20style-black-000000.svg

trading-ig

A lightweight Python wrapper for the IG Markets API. Simplifies access to the IG REST and Streaming APIs.

What is it?

IG Markets provides financial spread betting and CFD platforms for trading equities, forex, commodities, indices, cryptocurrencies, bonds, rates, options and more.

IG provide APIs so that developers can access their platforms programmatically. Using the APIs you can get live and historical data, automate your trades, or create apps. For details about the IG APIs please see their site:

https://labs.ig.com/

NOTE: this is not an IG project. Use it at your own risk

Dependencies

A number of dependencies in this project are marked as ‘optional’, this is by design. There is a brief explanation in this FAQ item.

For full details, see pyproject.toml

Installation

This project uses Poetry.

Adding to an existing Poetry project:

$ poetry add trading-ig

With all the optional dependencies:

$ poetry add trading-ig[pandas,munch,tenacity]

Cloning the project with Poetry:

$ git clone https://github.com/ig-python/trading-ig
$ cd trading-ig
$ poetry install

And with all optional dependencies:

$ poetry install --extras "pandas munch tenacity"

Installing with pip:

$ pip install trading-ig

And with all optional dependencies:

$ pip install trading-ig pandas munch tenacity

What if I need help?

This library is maintained by one busy developer in his spare time, with very little time for support.

If you have a problem using this library, the first thing to do is to try to isolate where the problem is. The IG platform is a complex application, and there are many ways to make mistakes using it. Just because you see an error, it does not necessarily mean there is a problem with this library. If you encounter an issue, you should follow these steps, in order:

1 - Check if there a problem with the IG platform. From time to time the IG platform itself has issues, especially the DEMO environment. If you see a message like ConnectionRefusedError, or a 500 Server error, then it could be an issue with the IG platform. IG provide a status page, though its accuracy is questionable. You can also check the IG Community forums. If there are platform issues, its likely someone will have already posted a message there.

2 - Check if there is a problem with your code. Most of the API endpoints have multiple options, multiple versions, multiple ways of accessing them, and multiple interdependent parameters. Incoming data is validated on the server, and problems will be reported back in the response. You should

  • check the documentation (REST, Streaming) to make sure you are calling the APIs correctly

  • look at the sample code and unit and integration tests. There are example snippets for most API endpoints.

  • repeat the API call using the IG companion tools (REST, Streaming). If you get the same result, then it is likely that you are using the API incorrectly.

In this case you should:

3 - If you’re sure that the problem is with this library, please:

  • provide everything necessary to reproduce the problem

  • include the full script that produces the error, including import statements

  • ideally this should be a minimal example - the shortest possible script that reproduces the problem

  • dependencies and their versions

  • the full output trace including the error messages

An issue without all this information may be ignored and/or closed without response

Docs

https://trading-ig.readthedocs.io/

License

BSD (See LICENSE)

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

trading_ig-0.0.22.tar.gz (29.0 kB view details)

Uploaded Source

Built Distribution

trading_ig-0.0.22-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

File details

Details for the file trading_ig-0.0.22.tar.gz.

File metadata

  • Download URL: trading_ig-0.0.22.tar.gz
  • Upload date:
  • Size: 29.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.12.0 Linux/6.2.0-1016-azure

File hashes

Hashes for trading_ig-0.0.22.tar.gz
Algorithm Hash digest
SHA256 fa1fcc3f09608cbd83ce1e2d9ca46473a0f01c720ee3801c72743200499428ee
MD5 0bc8e91906257729acef2a62268485e7
BLAKE2b-256 0614fde4eb9cb826934b8965ede265f62c3bf0d033994c6fa135f8a230534ce0

See more details on using hashes here.

File details

Details for the file trading_ig-0.0.22-py3-none-any.whl.

File metadata

  • Download URL: trading_ig-0.0.22-py3-none-any.whl
  • Upload date:
  • Size: 29.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.12.0 Linux/6.2.0-1016-azure

File hashes

Hashes for trading_ig-0.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 af641e076e9e5a68b5c939333d439f61aba20b394c8e88f57d5091ad0430319f
MD5 bf3aa8e7b216f4e65b4c167e766e1c35
BLAKE2b-256 75059e2fd8b19c7c24a7154b88e8b82fce5de796a34493a99cd716a93b995df8

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