/unicorn_fy

Convert received raw data from crypto exchange API endpoints into well-formed python dictionaries.

Primary LanguagePythonMIT LicenseMIT

GitHub release GitHub PyPI - Python Version PyPI - Status PyPI - Wheel

UnicornFy

Convert received raw data from crypto exchange API endpoints into well-formed python dictionaries.

UnicornFy is a side project of UNICORN Binance WebSocket API but can be used with every API that delivers the receives in raw format (as received without changes).

from unicorn_fy.unicorn_fy import UnicornFy

received_stream_data_json = {"stream": "btcusdt@trade",
                             "data": {"e": "trade",
                                      "E": 1556876873656,
                                      "s": "BTCUSDT",
                                      "t": 117727701,
                                      "p": "5786.76000000",
                                      "q": "0.03200500",
                                      "b": 341831847,
                                      "a": 341831876,
                                      "T": 1556876873648,
                                      "m": True,
                                      "M": True}}

unicorn_fied_stream_data = UnicornFy.binance_com_websocket(received_stream_data_json)
print(unicorn_fied_stream_data)
>>>
{'stream_type': 'btcusdt@trade', 'event_type': 'trade', 'event_time': 1556876873656, 'symbol': 'BTCUSDT', 'trade_id': 117727701, 'price': '5786.76000000', 'quantity': '0.03200500', 'buyer_order_id': 341831847, 'seller_order_id': 341831876, 'trade_time': 1556876873648, 'is_market_maker': True, 'ignore': True, 'unicorn_fied': ['binance', '0.1.0']}

Currently this module has no dependencies.

If you like the project, please star it on GitHub!

Supported Exchanges

Websockets

REST

  • none

Installation and Upgrade

A wheel of the latest release with PIP from PyPI

pip install unicorn-fy --upgrade

From source of the latest release with PIP from Github

Linux, macOS, ...

Run in bash:

pip install https://github.com/oliver-zehentleitner/unicorn_fy/archive/$(curl -s https://api.github.com/repos/oliver-zehentleitner/unicorn_fy/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")').tar.gz --upgrade

Windows

Use the below command with the version (such as 0.2.0) you determined here:

pip install https://github.com/oliver-zehentleitner/unicorn_fy/archive/0.2.0.tar.gz --upgrade

From the latest source (dev-stage) with PIP from Github

This is not a release version and can not be considered to be stable!

pip install https://github.com/oliver-zehentleitner/unicorn_fy/tarball/master --upgrade

Documentation

Source, Downloads, Examples, ...

https://github.com/oliver-zehentleitner/unicorn_fy

Change Log

https://github.com/oliver-zehentleitner/unicorn_fy/blob/master/CHANGELOG.md

Wiki

https://github.com/oliver-zehentleitner/unicorn_fy/wiki

Receive Notifications

To receive notifications on available updates you can watch the repository on GitHub, write your own script with using unicorn_fy.is_update_availabe() or you use the monitoring API service.

How to report Bugs or suggest Improvements?

List of planned features - click thumbs-up if you need one of them or suggest a new feature!

Before you report a bug, try the latest release. If the issue still exists, provide the error trace, OS and python version and explain how to reproduce the error. A demo script is appreciated.

If you dont find an issue related to your topic, please open a new issue: https://github.com/oliver-zehentleitner/unicorn_fy/issues

Report a security bug!

Contributing

unicorn_fy is an open source project which welcomes contributions which can be anything from simple documentation fixes to new features. To contribute follow this guide.

We love open source!