All Projects → LUCIT-Systems-and-Development → unicorn-binance-websocket-api

LUCIT-Systems-and-Development / unicorn-binance-websocket-api

Licence: MIT license
An unofficial Python API to use the Binance Websocket API`s (com+testnet, com-margin+testnet, com-isolated_margin+testnet, com-futures+testnet, com-coin_futures, us, tr, jex, dex/chain+testnet) in a easy, fast, flexible, robust and fully-featured way.

Programming Languages

python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects
shell
77523 projects

Projects that are alternatives of or similar to unicorn-binance-websocket-api

unicorn-fy
Convert received raw data from crypto exchange API endpoints into well-formed python dictionaries.
Stars: ✭ 51 (-91.33%)
Mutual labels:  binance, binance-futures, binance-us, binance-margin, binance-isolated-margin, binance-tr
binance-chain-kit-ios
Full Binance DEX iOS library (SDK), implemented on Swift.
Stars: ✭ 15 (-97.45%)
Mutual labels:  binance, binance-dex, binance-chain
binance-node-docker
Docker image for Binance full and light nodes
Stars: ✭ 24 (-95.92%)
Mutual labels:  binance, binance-dex, binance-chain
binance-rs-async
Async client for the Binance APIs
Stars: ✭ 74 (-87.41%)
Mutual labels:  binance, binance-futures
mintscan-binance-dex-frontend
Mintscan Frontend for Binance DEX
Stars: ✭ 21 (-96.43%)
Mutual labels:  binance, binance-dex
MT5-TradingToolCrypto
All the tradingtools: crypto integration to metatrader including cryptobridgepro, crypto charts, paymentbot, indicators, robots are located here. Just download the zip folder, drag and drop into Metatrader 5 directory
Stars: ✭ 70 (-88.1%)
Mutual labels:  binance, binance-futures
multi pairs martingle bot
A muti pairs martingle trading bot for Binance exchange.
Stars: ✭ 55 (-90.65%)
Mutual labels:  binance, binance-futures
Blankly
🚀 💸 Easily build, backtest and deploy your algo in just a few lines of code. Trade stocks, cryptos, and forex across exchanges w/ one package.
Stars: ✭ 1,456 (+147.62%)
Mutual labels:  binance
passivbot
Trading bot running on Binance, Bitget, OKX and Bybit
Stars: ✭ 558 (-5.1%)
Mutual labels:  binance
tradoge
DOGE trading bot for instantly buying and selling DOGE cryptocurrency on Binance when Elon Musk tweets about it.
Stars: ✭ 122 (-79.25%)
Mutual labels:  binance
bscscan-python
The most popular asynchronous Python API for BscScan (Binance Smart Chain Explorer), available via PyPI.
Stars: ✭ 260 (-55.78%)
Mutual labels:  binance
PancakeTokenSniper
BSC BNB Pancake token sniper, buy, take profit and rug check
Stars: ✭ 184 (-68.71%)
Mutual labels:  binance
binance-watch
This application connects to the Binance.com public API to get live 24h price change data for all crypto trading pairs on their platform and allows you to set custom alerts or watch for price change in real time and get desktop notifications when something triggers your alerts or price watch settings.
Stars: ✭ 176 (-70.07%)
Mutual labels:  binance
pancakeswap-prediction-winner
🔥 PancakeSwap is afraid of this CHROME EXTENSION (and CLI)! This bot wins almost every 5 minute BNB-USD option on PancakeSwap (and Candle Genie).
Stars: ✭ 229 (-61.05%)
Mutual labels:  binance
Mida
The open-source and cross-platform trading framework
Stars: ✭ 263 (-55.27%)
Mutual labels:  binance
hands-on-elixir-and-otp-cryptocurrency-trading-bot
Source code to generate the "Hands-on Elixir & OTP: Cryptocurrency trading bot" book
Stars: ✭ 210 (-64.29%)
Mutual labels:  binance
binance.py
A python3 binance API (v3) wrapper powered by modern technologies such as asyncio. The project aims to rival python-binance.
Stars: ✭ 59 (-89.97%)
Mutual labels:  binance
ccex-api
Cryptocurrency exchanges realtime api wrapper
Stars: ✭ 29 (-95.07%)
Mutual labels:  binance
binance-downloader
Python tool to download Binance Candlestick (k-line) data from REST API
Stars: ✭ 44 (-92.52%)
Mutual labels:  binance
DataSynchronizer
Cryptocurrency Exchange and Sentiment data fetcher and syncronizer.
Stars: ✭ 68 (-88.44%)
Mutual labels:  binance

Get professional and fast support

GitHub Release GitHub Downloads Conda Release Conda Downloads PyPi Release PyPi Downloads License Supported Python Version PyPI - Status Language grade: Python Total alerts Unit Tests Azure Pipelines codecov Read the Docs Github Telegram Gitter

LUCIT-UBWA-Banner

UNICORN Binance WebSocket API

Description | Live Demo | Installation | How To | Documentation | Examples | Change Log | Wiki | Social | Notifications | Bugs | Contributing | Disclaimer | Commercial Support

An unofficial Python API to use the Binance Websocket API`s (com+testnet, com-margin+testnet, com-isolated_margin+testnet, com-futures+testnet, com-coin_futures, us, tr, jex, dex/chain+testnet) in a easy, fast, flexible, robust and fully-featured way.

Part of 'UNICORN Binance Suite'.

Create a multiplex websocket connection to Binance with a stream_buffer with just 3 lines of code:

import unicorn_binance_websocket_api


ubwa = unicorn_binance_websocket_api.BinanceWebSocketApiManager(exchange="binance.com")
ubwa.create_stream(['trade', 'kline_1m'], ['btcusdt', 'bnbbtc', 'ethbtc'])

And 4 more lines to print the receives:

while True:
    oldest_data_from_stream_buffer = ubwa.pop_stream_data_from_stream_buffer()
    if oldest_data_from_stream_buffer:
        print(oldest_data_from_stream_buffer)

Or with a callback function just do:

from unicorn_binance_websocket_api.manager import BinanceWebSocketApiManager


def process_new_receives(stream_data, stream_buffer_name=False):
    print(str(stream_data))


ubwa = BinanceWebSocketApiManager(exchange="binance.com")
ubwa.create_stream(['trade', 'kline_1m'], ['btcusdt', 'bnbbtc', 'ethbtc'], process_stream_data=process_new_receives)

Basically that's it, but there are more options.

Convert received raw webstream data into well-formed Python dictionaries with UnicornFy:

unicorn_fied_stream_data = UnicornFy.binance_com_websocket(oldest_data_from_stream_buffer)

or

ubwa.create_stream(['trade'], ['btcusdt'], output="UnicornFy")

Subscribe / unsubscribe new markets and channels:

markets = ['engbtc', 'zileth']
channels = ['kline_5m', 'kline_15m', 'kline_30m', 'kline_1h', 'kline_12h', 'depth5']

ubwa.subscribe_to_stream(stream_id, channels=channels, markets=markets)

ubwa.unsubscribe_from_stream(stream_id, markets=markets)

ubwa.unsubscribe_from_stream(stream_id, channels=channels)

Get the right logger:

logging.getLogger("unicorn_binance_websocket_api")

Discover even more possibilities or use this script to stream everything from "binance.com".

This should be known by everyone using this lib:

Description

The Python package UNICORN Binance WebSocket API provides an API to the Binance Websocket API`s of Binance (+Testnet), Binance Margin (+Testnet), Binance Isolated Margin (+Testnet), Binance Futures (+Testnet), Binance COIN-M Futures, Binance US, Binance TR, Binance JEX, Binance DEX and Binance DEX Testnet and supports the streaming of all public streams like trade, kline, ticker, depth, bookTicker, forceOrder, compositeIndex and blockheight and also all private userData streams which needs to be used with a valid api_key and api_secret from the Binance Exchange www.binance.com, testnet.binance.vision, www.binance.us or www.jex.com - for the DEX you need a user address from www.binance.org or testnet.binance.org and you can get funds for the testnet.

Be aware that the Binance websocket API just offers to receive data. If you would like to set orders, withdraws and so on, you can use the UNICORN Binance REST API in combination.

What are the benefits of the UNICORN Binance WebSocket API?

  • Fully managed websockets and 100% auto-reconnect! Also handles maintenance windows!
  • Supported exchanges:
Exchange Exchange string
Binance BinanceWebSocketApiManager(exchange="binance.com")
Binance Testnet BinanceWebSocketApiManager(exchange="binance.com-testnet")
Binance Margin BinanceWebSocketApiManager(exchange="binance.com-margin")
Binance Margin Testnet BinanceWebSocketApiManager(exchange="binance.com-margin-testnet")
Binance Isolated Margin BinanceWebSocketApiManager(exchange="binance.com-isolated_margin")
Binance Isolated Margin Testnet BinanceWebSocketApiManager(exchange="binance.com-isolated_margin-testnet")
Binance USD-M Futures BinanceWebSocketApiManager(exchange="binance.com-futures")
Binance USD-M Futures Testnet BinanceWebSocketApiManager(exchange="binance.com-futures-testnet")
Binance Coin-M Futures BinanceWebSocketApiManager(exchange="binance.com-coin_futures")
Binance US BinanceWebSocketApiManager(exchange="binance.us")
Binance TR BinanceWebSocketApiManager(exchange="trbinance.com")
Binance JEX BinanceWebSocketApiManager(exchange="jex.com")
Binance DEX BinanceWebSocketApiManager(exchange="binance.org")
Binance DEX Testnet BinanceWebSocketApiManager(exchange="binance.org-testnet")

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

Live Demo

This live demo script is streaming from binance.com!

Open live monitor!

live-demo

(Refresh update once a minute!)

Installation and Upgrade

The module requires Python 3.7 or above, as it depends on Pythons latest asyncio features for asynchronous/concurrent processing.

The current dependencies are listed here.

If you run into errors during the installation take a look here.

A wheel and a source file of the latest release with pip from PyPI

pip install unicorn-binance-websocket-api --upgrade

A conda package of the latest release with conda from Anaconda via CONDA-FORGE.

conda install -c conda-forge unicorn-binance-websocket-api

conda update -c conda-forge unicorn-binance-websocket-api

From source of the latest release with PIP from Github

Linux, macOS, ...

Run in bash:

pip install https://github.com/LUCIT-Systems-and-Development/unicorn-binance-websocket-api/archive/$(curl -s https://api.github.com/repos/LUCIT-Systems-and-Development/unicorn-binance-websocket-api/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")').tar.gz --upgrade

Windows

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

pip install https://github.com/LUCIT-Systems-and-Development/unicorn-binance-websocket-api/archive/1.35.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/LUCIT-Systems-and-Development/unicorn-binance-websocket-api/tarball/master --upgrade

Conda environment, Virtualenv or plain Python

Download the latest release or the current master branch and use:

  • ./environment.yml
  • ./requirements.txt
  • ./setup.py

Change Log

https://unicorn-binance-websocket-api.docs.lucit.tech/CHANGELOG.html

Documentation

Examples

Howto

Project Homepage

https://github.com/LUCIT-Systems-and-Development/unicorn-binance-websocket-api

Wiki

https://github.com/LUCIT-Systems-and-Development/unicorn-binance-websocket-api/wiki

Social

Receive Notifications

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

Follow us on Twitter or on Facebook for general news about the unicorn-binance-suite!

To receive news (like inspection windows/maintenance) about the Binance API`s subscribe to their telegram groups:

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!

Report a security bug!

Contributing

UNICORN Binance WebSocket API is an open source project which welcomes contributions which can be anything from simple documentation fixes and reporting dead links to new features. To contribute follow this guide.

Contributors

Contributors

We love open source!

Disclaimer

This project is for informational purposes only. You should not construe this information or any other material as legal, tax, investment, financial or other advice. Nothing contained herein constitutes a solicitation, recommendation, endorsement or offer by us or any third party provider to buy or sell any securities or other financial instruments in this or any other jurisdiction in which such solicitation or offer would be unlawful under the securities laws of such jurisdiction.

If you intend to use real money, use it at your own risk.

Under no circumstances will we be responsible or liable for any claims, damages, losses, expenses, costs or liabilities of any kind, including but not limited to direct or indirect damages for loss of profits.

Commercial Support

Get professional and fast support

Do you need a developer, operator or consultant? Contact us for a non-binding initial consultation!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].