Metadata-Version: 2.0
Name: ice3x
Version: 0.2.2
Summary: Ice3x Crypto Currency Exchanage Python API
Home-page: https://github.com/BradleyKirton/ice3x
Author: Bradley Stuart Kirton
Author-email: bradleykirton@gmail.com
License: MIT
Keywords: exchange,crypto currency,rest,api,bitcoin,etherium
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Operating System :: OS Independent
Classifier: Topic :: Office/Business :: Financial :: Investment
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3 :: Only
Description-Content-Type: text/markdown
Provides-Extra: dev
Provides-Extra: async
Requires-Dist: requests
Provides-Extra: async
Requires-Dist: treq; extra == 'async'
Provides-Extra: dev
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-mock; extra == 'dev'
Requires-Dist: pytest-twisted; extra == 'dev'
Requires-Dist: pypandoc; extra == 'dev'
Requires-Dist: twine; extra == 'dev'

# ICE3X Python Library

This ice3x library is a Python package compliant with the ICE3X APi version 2.

This package is essentially a port of the official [PHP client](https://github.com/ICE3X/v2-PHP).

# Quickstart

The ICE3X API has two broad categories of resources, protected and unprotected resources.

In order to access protected resources one needs to create a private and public key under the [account management](https://ice3x.com/account/api) section of their platform.

## Sync client

```python
from ice3x.clients.sync import IceCubedSyncClient

api_key = 'public key'
secret = 'private key'

client = IceCubedSyncClient(api_key=api_key, secret=secret)
client.get_public_trade_list()
```


## Async client

```python
from typing import Dict
from twisted.internet import reactor
from ice3x.clients.async import IceCubedAsyncClient


api_key = 'public key'
secret = 'private key'

client = IceCubedAsyncClient(api_key=api_key, secret=secret)

def print_data(data: Dict) -> None:
    """prints the json response from an API call"""
    print(data)

d = client.get_public_trade_list()
d.addBoth(print_data)

reactor.run()
```

# Installation

The library can be installed from PyPi as follows.

```bash
pip install ice3x
```

The async client is an optional extra and may be installed as follows.

```bash
pip install ice3x[async]
```

To install the version on this repository follow the steps below.

```bash
git clone https://github.com/BradleyKirton/ice3x
cd ice3x
python -m venv env # virtualenv env
source env/bin/activate
pip install . #pip install .[async] for the async client
```


# Developement

Clone the repo and install the package with it's development requirements.

```bash
git clone https://github.com/BradleyKirton/ice3x
cd ice3x
python -m venv env # virtualenv env
source env/bin/activate
pip install -e .[dev]
pytest
```

# TODO

Note this library is still in beta.

- Write documentation

