diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-29 10:03:55 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-29 10:03:55 +0000 |
| commit | 99b8dfe7b02430f7abd71eab1bf84058eac20cb3 (patch) | |
| tree | dc5a7f2208de59bb58fdde498d79b6c3eea55f43 | |
| parent | 856713d5fd471530737f82d4256e7f131d910d3a (diff) | |
automatic import of python-cryptoxlib-aio
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-cryptoxlib-aio.spec | 502 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 504 insertions, 0 deletions
@@ -0,0 +1 @@ +/cryptoxlib-aio-5.3.0.tar.gz diff --git a/python-cryptoxlib-aio.spec b/python-cryptoxlib-aio.spec new file mode 100644 index 0000000..9a45a33 --- /dev/null +++ b/python-cryptoxlib-aio.spec @@ -0,0 +1,502 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cryptoxlib-aio +Version: 5.3.0 +Release: 1 +Summary: Cryptoexchange asynchronous python client +License: MIT License +URL: https://github.com/nardew/cryptoxlib-aio +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c5/0b/d87c7c1de9c9ef86c27926a1dd39c6823dae64a2f9a2764d3ea8c8511421/cryptoxlib-aio-5.3.0.tar.gz +BuildArch: noarch + +Requires: python3-aiohttp +Requires: python3-websockets +Requires: python3-PyJWT +Requires: python3-pytz + +%description +### Main mission +Today there are numerous existing libraries targeting similar audience as `cryptoxlib-aio`. In order to achieve the broadest coverage of exchanges the supported API is often limited, the most apparent example being lack of _websockets_. +The mission of `cryptoxlib-aio` is to: +- serve as a single entry point for various crypto exchanges +- provide full REST API as well as full implementation of exchange's _**websockets**_. For free and without subscription plans. +Full support of websockets is the corner stone of `cryptoxlib-aio` which attempts to set `cryptoxlib-aio` apart from existing solutions which either do not provide websocket support or do not provide it for free. +You will also find out that our subject of interest are often exchanges not enjoying a seat in the mainstream crypto libraries and this is a way for them to reach developers community. +Disclaimer: By no means we are suggesting that existing libraries are inferior to `cryptoxlib-aio`, they just appeal to different endusers. +### Features +- access to REST API as well as full support of websockets for selected exchanges (given websockets are provided by the exchange) +- automatic connection management (reconnecting after remote termination, ...) +- bundling of channels +- lean architecture making it straightforward to implement API of a new exchange +- fully asynchronous design aiming for the best performance +- ready-made bundled examples for each exchange and product +### List of supported exchanges +As mentioned earlier, all exchanges listed below include full support for websockets. +| | Name | Docs | +| --- | --- | --- | +|  | AAX | [API](https://www.aax.com/apidoc/index.html#introduction) | +|  | Bibox | [API](https://biboxcom.github.io/en/restful_intro.html#t0) | +|  | BiboxEurope | [API](https://github.com/BiboxEurope/API_Docs_en) | +|  | Binance (spot, margin, USDS-M futures, COIN-M futures, BLVT, BSwap) |[API](https://binance-docs.github.io/apidocs/spot/en/#change-log) | +|  | Bitforex | [API](https://github.com/githubdev2020/API_Doc_en/wiki) | +|  | Bitpanda Pro | [API](https://developers.bitpanda.com/exchange/) | +|  | Bitvavo | [API](https://docs.bitvavo.com/#section/Introduction) | +|  | BTSE | [API](https://www.btse.com/apiexplorer/spot/#btse-spot-api) | +|  | Coinmate | [API](https://coinmate.docs.apiary.io/) | +|  | Eterbase | [API](https://developers.eterbase.exchange) | +|  | HitBTC | [API](https://api.hitbtc.com) | +|  | Liquid | [API](https://developers.liquid.com) | +Unlike REST API which is rather uniform across crypto exchanges websockets are often very exchange-specific and hence very time consuming to implement (which is the reason why they are not offered so broadly). Therefore `cryptoxlib-aio` comes at the cost of the number of exchanges it covers. This is in line with our ideology quality over quantity. +The list of supported exchanges will grow without any specific pattern, usually driven by personal needs. If there is a high demand for a new exchange/feature to be added, there is a high chance for it to happen (but not guranteed). For business related inquiries concerning customized changes tailored for the client please reach out via e-mail mentioned in the contacts. +### Installation +```bash +pip install cryptoxlib-aio +``` +In case you want to install the latest version from the repo, use +```bash +pip install git+https://github.com/nardew/cryptoxlib-aio.git@master +``` +### Examples +##### BITPANDA +```python +bitpanda = CryptoXLib.create_bitpanda_client(api_key) +print("Account balance:") +await bitpanda.get_account_balances() +print("Order book:") +await bitpanda.get_order_book(Pair("BTC", "EUR")) +print("Create limit order:") +await bitpanda.create_limit_order(Pair("BTC", "EUR"), OrderSide.BUY, "10000", "1") +# Create first bundle of subscriptions +bitpanda.compose_subscriptions([ + AccountSubscription(), + PricesSubscription([Pair("BTC", "EUR")]), + OrderbookSubscription([Pair("BTC", "EUR")], "50", callbacks = [order_book_update]), + CandlesticksSubscription([CandlesticksSubscriptionParams(Pair("BTC", "EUR"), TimeUnit.MINUTES, 1)]), + MarketTickerSubscription([Pair("BTC", "EUR")]) +]) +# Bundle another subscriptions into a separate websocket +bitpanda.compose_subscriptions([ + OrderbookSubscription([Pair("ETH", "EUR")], "3", callbacks = [order_book_update]), +]) +# Execute all websockets asynchronously +await bitpanda.start_websockets() +``` +##### BINANCE +```python +# SPOT REST API +client = CryptoXLib.create_binance_client(api_key, sec_key) +print("Exchange info:") +await client.get_exchange_info() +print("Order book:") +await client.get_orderbook(pair = Pair('ETH', 'BTC'), limit = enums.DepthLimit.L_5) +print("Create limit order:") +await client.create_order(Pair("ETH", "BTC"), side = enums.OrderSide.BUY, type = enums.OrderType.LIMIT, + quantity = "1", + price = "0", + time_in_force = enums.TimeInForce.GOOD_TILL_CANCELLED, + new_order_response_type = enums.OrderResponseType.FULL) +# SPOT WEBSOCKETS +# Bundle several subscriptions into a single websocket +client.compose_subscriptions([ + OrderBookTickerSubscription(callbacks = [orderbook_ticker_update]), + OrderBookSymbolTickerSubscription(pair = Pair("BTC", "USDT"), callbacks = [orderbook_ticker_update]), + TradeSubscription(pair = Pair('ETH', 'BTC'), callbacks = [trade_update]), + CandlestickSubscription(Pair('BTC', 'USDT'), Interval.I_1MIN, callbacks = [candlestick_update]) +]) +# Bundle another subscriptions into a separate websocket +client.compose_subscriptions([ + AccountSubscription(callbacks = [account_update]) +]) +# Execute all websockets asynchronously +await client.start_websockets() +# LEVERAGED TOKENS REST API +client = CryptoXLib.create_binance_client(api_key, sec_key) +print("BLVT symbol info:") +await client.get_blvt_info() +print("Subscribe BTCUP:") +await client.blvt_subscribe("BTCUP", "500000000") +print("Redeem BTCUP:") +await client.blvt_redeem("BTCUP", "500000000") +# MARGIN REST API +client = CryptoXLib.create_binance_client(api_key, sec_key) +print("All margin assets:") +await client.get_margin_all_assets() +print("Margin account balance:") +await client.get_margin_account() +# USDS-M futures REST API +client = CryptoXLib.create_binance_usds_m_futures_client(api_key, sec_key) +print("Index price candlesticks:") +await client.get_index_price_candlesticks(pair = Pair('BTC', 'USDT'), interval = enums.Interval.I_1MIN) +print("Index info:") +await client.get_index_info(pair = Pair('DEFI', 'USDT')) +# COIN-M futures REST API +client = CryptoXLib.create_binance_coin_m_futures_client(api_key, sec_key) +await client.create_order(symbol = 'BTCUSD_PERP', side = enums.OrderSide.BUY, type = enums.OrderType.LIMIT, + quantity = "1", + price = "0", + time_in_force = enums.TimeInForce.GOOD_TILL_CANCELLED, + new_order_response_type = enums.OrderResponseType.FULL) +# BinanceSwap REST API +client = CryptoXLib.create_binance_client(api_key, sec_key) +print('Swap pools:') +await client.get_bswap_pools() +print('Add liquidity:') +await client.bswap_add_liquidity(0, 'BTC', '10000000') +print('Swap:') +await client.bswap_swap(Pair('BTC', 'USDT'), '100000000000') +``` +Examples for every exchange and product can be found in the folder `examples`. +### Contact +- to report issues, bugs, docu corrections or to propose new features use preferably Github Issues +- for topics requiring more personal approach feel free to send an e-mail to <img src="http://safemail.justlikeed.net/e/92d5165877de84f44e7731e4a1b60ba1.png" border="0" align="absbottom"> +### Support +If you like the library and you feel like you want to support its further development, enhancements and bugfixing, then it will be of great help and most appreciated if you: +- file bugs, proposals, pull requests, ... +- spread the word +- donate an arbitrary tip + * `BTC`: `3GJPT6H6WeuTWR2KwDSEN5qyJq95LEErzf` + * `ETH`: `0xC7d8673Ee1B01f6F10e40aA416a1b0A746eaBe68` + * `Binance Smart Chain tokens`: `0xe37FaB52ed4c1C9a3d80896f2001Cb3284a1b619` + * `XMR`: `87vdCaWFN2YJEk3HKVJNaPBFsuwZTJocRfpGJ747dPQrFcrs6SQTmA3XDGyWUPoALuNnXezEbJXkbY8Y4VSxG4ReEFqxy5m` + +%package -n python3-cryptoxlib-aio +Summary: Cryptoexchange asynchronous python client +Provides: python-cryptoxlib-aio +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-cryptoxlib-aio +### Main mission +Today there are numerous existing libraries targeting similar audience as `cryptoxlib-aio`. In order to achieve the broadest coverage of exchanges the supported API is often limited, the most apparent example being lack of _websockets_. +The mission of `cryptoxlib-aio` is to: +- serve as a single entry point for various crypto exchanges +- provide full REST API as well as full implementation of exchange's _**websockets**_. For free and without subscription plans. +Full support of websockets is the corner stone of `cryptoxlib-aio` which attempts to set `cryptoxlib-aio` apart from existing solutions which either do not provide websocket support or do not provide it for free. +You will also find out that our subject of interest are often exchanges not enjoying a seat in the mainstream crypto libraries and this is a way for them to reach developers community. +Disclaimer: By no means we are suggesting that existing libraries are inferior to `cryptoxlib-aio`, they just appeal to different endusers. +### Features +- access to REST API as well as full support of websockets for selected exchanges (given websockets are provided by the exchange) +- automatic connection management (reconnecting after remote termination, ...) +- bundling of channels +- lean architecture making it straightforward to implement API of a new exchange +- fully asynchronous design aiming for the best performance +- ready-made bundled examples for each exchange and product +### List of supported exchanges +As mentioned earlier, all exchanges listed below include full support for websockets. +| | Name | Docs | +| --- | --- | --- | +|  | AAX | [API](https://www.aax.com/apidoc/index.html#introduction) | +|  | Bibox | [API](https://biboxcom.github.io/en/restful_intro.html#t0) | +|  | BiboxEurope | [API](https://github.com/BiboxEurope/API_Docs_en) | +|  | Binance (spot, margin, USDS-M futures, COIN-M futures, BLVT, BSwap) |[API](https://binance-docs.github.io/apidocs/spot/en/#change-log) | +|  | Bitforex | [API](https://github.com/githubdev2020/API_Doc_en/wiki) | +|  | Bitpanda Pro | [API](https://developers.bitpanda.com/exchange/) | +|  | Bitvavo | [API](https://docs.bitvavo.com/#section/Introduction) | +|  | BTSE | [API](https://www.btse.com/apiexplorer/spot/#btse-spot-api) | +|  | Coinmate | [API](https://coinmate.docs.apiary.io/) | +|  | Eterbase | [API](https://developers.eterbase.exchange) | +|  | HitBTC | [API](https://api.hitbtc.com) | +|  | Liquid | [API](https://developers.liquid.com) | +Unlike REST API which is rather uniform across crypto exchanges websockets are often very exchange-specific and hence very time consuming to implement (which is the reason why they are not offered so broadly). Therefore `cryptoxlib-aio` comes at the cost of the number of exchanges it covers. This is in line with our ideology quality over quantity. +The list of supported exchanges will grow without any specific pattern, usually driven by personal needs. If there is a high demand for a new exchange/feature to be added, there is a high chance for it to happen (but not guranteed). For business related inquiries concerning customized changes tailored for the client please reach out via e-mail mentioned in the contacts. +### Installation +```bash +pip install cryptoxlib-aio +``` +In case you want to install the latest version from the repo, use +```bash +pip install git+https://github.com/nardew/cryptoxlib-aio.git@master +``` +### Examples +##### BITPANDA +```python +bitpanda = CryptoXLib.create_bitpanda_client(api_key) +print("Account balance:") +await bitpanda.get_account_balances() +print("Order book:") +await bitpanda.get_order_book(Pair("BTC", "EUR")) +print("Create limit order:") +await bitpanda.create_limit_order(Pair("BTC", "EUR"), OrderSide.BUY, "10000", "1") +# Create first bundle of subscriptions +bitpanda.compose_subscriptions([ + AccountSubscription(), + PricesSubscription([Pair("BTC", "EUR")]), + OrderbookSubscription([Pair("BTC", "EUR")], "50", callbacks = [order_book_update]), + CandlesticksSubscription([CandlesticksSubscriptionParams(Pair("BTC", "EUR"), TimeUnit.MINUTES, 1)]), + MarketTickerSubscription([Pair("BTC", "EUR")]) +]) +# Bundle another subscriptions into a separate websocket +bitpanda.compose_subscriptions([ + OrderbookSubscription([Pair("ETH", "EUR")], "3", callbacks = [order_book_update]), +]) +# Execute all websockets asynchronously +await bitpanda.start_websockets() +``` +##### BINANCE +```python +# SPOT REST API +client = CryptoXLib.create_binance_client(api_key, sec_key) +print("Exchange info:") +await client.get_exchange_info() +print("Order book:") +await client.get_orderbook(pair = Pair('ETH', 'BTC'), limit = enums.DepthLimit.L_5) +print("Create limit order:") +await client.create_order(Pair("ETH", "BTC"), side = enums.OrderSide.BUY, type = enums.OrderType.LIMIT, + quantity = "1", + price = "0", + time_in_force = enums.TimeInForce.GOOD_TILL_CANCELLED, + new_order_response_type = enums.OrderResponseType.FULL) +# SPOT WEBSOCKETS +# Bundle several subscriptions into a single websocket +client.compose_subscriptions([ + OrderBookTickerSubscription(callbacks = [orderbook_ticker_update]), + OrderBookSymbolTickerSubscription(pair = Pair("BTC", "USDT"), callbacks = [orderbook_ticker_update]), + TradeSubscription(pair = Pair('ETH', 'BTC'), callbacks = [trade_update]), + CandlestickSubscription(Pair('BTC', 'USDT'), Interval.I_1MIN, callbacks = [candlestick_update]) +]) +# Bundle another subscriptions into a separate websocket +client.compose_subscriptions([ + AccountSubscription(callbacks = [account_update]) +]) +# Execute all websockets asynchronously +await client.start_websockets() +# LEVERAGED TOKENS REST API +client = CryptoXLib.create_binance_client(api_key, sec_key) +print("BLVT symbol info:") +await client.get_blvt_info() +print("Subscribe BTCUP:") +await client.blvt_subscribe("BTCUP", "500000000") +print("Redeem BTCUP:") +await client.blvt_redeem("BTCUP", "500000000") +# MARGIN REST API +client = CryptoXLib.create_binance_client(api_key, sec_key) +print("All margin assets:") +await client.get_margin_all_assets() +print("Margin account balance:") +await client.get_margin_account() +# USDS-M futures REST API +client = CryptoXLib.create_binance_usds_m_futures_client(api_key, sec_key) +print("Index price candlesticks:") +await client.get_index_price_candlesticks(pair = Pair('BTC', 'USDT'), interval = enums.Interval.I_1MIN) +print("Index info:") +await client.get_index_info(pair = Pair('DEFI', 'USDT')) +# COIN-M futures REST API +client = CryptoXLib.create_binance_coin_m_futures_client(api_key, sec_key) +await client.create_order(symbol = 'BTCUSD_PERP', side = enums.OrderSide.BUY, type = enums.OrderType.LIMIT, + quantity = "1", + price = "0", + time_in_force = enums.TimeInForce.GOOD_TILL_CANCELLED, + new_order_response_type = enums.OrderResponseType.FULL) +# BinanceSwap REST API +client = CryptoXLib.create_binance_client(api_key, sec_key) +print('Swap pools:') +await client.get_bswap_pools() +print('Add liquidity:') +await client.bswap_add_liquidity(0, 'BTC', '10000000') +print('Swap:') +await client.bswap_swap(Pair('BTC', 'USDT'), '100000000000') +``` +Examples for every exchange and product can be found in the folder `examples`. +### Contact +- to report issues, bugs, docu corrections or to propose new features use preferably Github Issues +- for topics requiring more personal approach feel free to send an e-mail to <img src="http://safemail.justlikeed.net/e/92d5165877de84f44e7731e4a1b60ba1.png" border="0" align="absbottom"> +### Support +If you like the library and you feel like you want to support its further development, enhancements and bugfixing, then it will be of great help and most appreciated if you: +- file bugs, proposals, pull requests, ... +- spread the word +- donate an arbitrary tip + * `BTC`: `3GJPT6H6WeuTWR2KwDSEN5qyJq95LEErzf` + * `ETH`: `0xC7d8673Ee1B01f6F10e40aA416a1b0A746eaBe68` + * `Binance Smart Chain tokens`: `0xe37FaB52ed4c1C9a3d80896f2001Cb3284a1b619` + * `XMR`: `87vdCaWFN2YJEk3HKVJNaPBFsuwZTJocRfpGJ747dPQrFcrs6SQTmA3XDGyWUPoALuNnXezEbJXkbY8Y4VSxG4ReEFqxy5m` + +%package help +Summary: Development documents and examples for cryptoxlib-aio +Provides: python3-cryptoxlib-aio-doc +%description help +### Main mission +Today there are numerous existing libraries targeting similar audience as `cryptoxlib-aio`. In order to achieve the broadest coverage of exchanges the supported API is often limited, the most apparent example being lack of _websockets_. +The mission of `cryptoxlib-aio` is to: +- serve as a single entry point for various crypto exchanges +- provide full REST API as well as full implementation of exchange's _**websockets**_. For free and without subscription plans. +Full support of websockets is the corner stone of `cryptoxlib-aio` which attempts to set `cryptoxlib-aio` apart from existing solutions which either do not provide websocket support or do not provide it for free. +You will also find out that our subject of interest are often exchanges not enjoying a seat in the mainstream crypto libraries and this is a way for them to reach developers community. +Disclaimer: By no means we are suggesting that existing libraries are inferior to `cryptoxlib-aio`, they just appeal to different endusers. +### Features +- access to REST API as well as full support of websockets for selected exchanges (given websockets are provided by the exchange) +- automatic connection management (reconnecting after remote termination, ...) +- bundling of channels +- lean architecture making it straightforward to implement API of a new exchange +- fully asynchronous design aiming for the best performance +- ready-made bundled examples for each exchange and product +### List of supported exchanges +As mentioned earlier, all exchanges listed below include full support for websockets. +| | Name | Docs | +| --- | --- | --- | +|  | AAX | [API](https://www.aax.com/apidoc/index.html#introduction) | +|  | Bibox | [API](https://biboxcom.github.io/en/restful_intro.html#t0) | +|  | BiboxEurope | [API](https://github.com/BiboxEurope/API_Docs_en) | +|  | Binance (spot, margin, USDS-M futures, COIN-M futures, BLVT, BSwap) |[API](https://binance-docs.github.io/apidocs/spot/en/#change-log) | +|  | Bitforex | [API](https://github.com/githubdev2020/API_Doc_en/wiki) | +|  | Bitpanda Pro | [API](https://developers.bitpanda.com/exchange/) | +|  | Bitvavo | [API](https://docs.bitvavo.com/#section/Introduction) | +|  | BTSE | [API](https://www.btse.com/apiexplorer/spot/#btse-spot-api) | +|  | Coinmate | [API](https://coinmate.docs.apiary.io/) | +|  | Eterbase | [API](https://developers.eterbase.exchange) | +|  | HitBTC | [API](https://api.hitbtc.com) | +|  | Liquid | [API](https://developers.liquid.com) | +Unlike REST API which is rather uniform across crypto exchanges websockets are often very exchange-specific and hence very time consuming to implement (which is the reason why they are not offered so broadly). Therefore `cryptoxlib-aio` comes at the cost of the number of exchanges it covers. This is in line with our ideology quality over quantity. +The list of supported exchanges will grow without any specific pattern, usually driven by personal needs. If there is a high demand for a new exchange/feature to be added, there is a high chance for it to happen (but not guranteed). For business related inquiries concerning customized changes tailored for the client please reach out via e-mail mentioned in the contacts. +### Installation +```bash +pip install cryptoxlib-aio +``` +In case you want to install the latest version from the repo, use +```bash +pip install git+https://github.com/nardew/cryptoxlib-aio.git@master +``` +### Examples +##### BITPANDA +```python +bitpanda = CryptoXLib.create_bitpanda_client(api_key) +print("Account balance:") +await bitpanda.get_account_balances() +print("Order book:") +await bitpanda.get_order_book(Pair("BTC", "EUR")) +print("Create limit order:") +await bitpanda.create_limit_order(Pair("BTC", "EUR"), OrderSide.BUY, "10000", "1") +# Create first bundle of subscriptions +bitpanda.compose_subscriptions([ + AccountSubscription(), + PricesSubscription([Pair("BTC", "EUR")]), + OrderbookSubscription([Pair("BTC", "EUR")], "50", callbacks = [order_book_update]), + CandlesticksSubscription([CandlesticksSubscriptionParams(Pair("BTC", "EUR"), TimeUnit.MINUTES, 1)]), + MarketTickerSubscription([Pair("BTC", "EUR")]) +]) +# Bundle another subscriptions into a separate websocket +bitpanda.compose_subscriptions([ + OrderbookSubscription([Pair("ETH", "EUR")], "3", callbacks = [order_book_update]), +]) +# Execute all websockets asynchronously +await bitpanda.start_websockets() +``` +##### BINANCE +```python +# SPOT REST API +client = CryptoXLib.create_binance_client(api_key, sec_key) +print("Exchange info:") +await client.get_exchange_info() +print("Order book:") +await client.get_orderbook(pair = Pair('ETH', 'BTC'), limit = enums.DepthLimit.L_5) +print("Create limit order:") +await client.create_order(Pair("ETH", "BTC"), side = enums.OrderSide.BUY, type = enums.OrderType.LIMIT, + quantity = "1", + price = "0", + time_in_force = enums.TimeInForce.GOOD_TILL_CANCELLED, + new_order_response_type = enums.OrderResponseType.FULL) +# SPOT WEBSOCKETS +# Bundle several subscriptions into a single websocket +client.compose_subscriptions([ + OrderBookTickerSubscription(callbacks = [orderbook_ticker_update]), + OrderBookSymbolTickerSubscription(pair = Pair("BTC", "USDT"), callbacks = [orderbook_ticker_update]), + TradeSubscription(pair = Pair('ETH', 'BTC'), callbacks = [trade_update]), + CandlestickSubscription(Pair('BTC', 'USDT'), Interval.I_1MIN, callbacks = [candlestick_update]) +]) +# Bundle another subscriptions into a separate websocket +client.compose_subscriptions([ + AccountSubscription(callbacks = [account_update]) +]) +# Execute all websockets asynchronously +await client.start_websockets() +# LEVERAGED TOKENS REST API +client = CryptoXLib.create_binance_client(api_key, sec_key) +print("BLVT symbol info:") +await client.get_blvt_info() +print("Subscribe BTCUP:") +await client.blvt_subscribe("BTCUP", "500000000") +print("Redeem BTCUP:") +await client.blvt_redeem("BTCUP", "500000000") +# MARGIN REST API +client = CryptoXLib.create_binance_client(api_key, sec_key) +print("All margin assets:") +await client.get_margin_all_assets() +print("Margin account balance:") +await client.get_margin_account() +# USDS-M futures REST API +client = CryptoXLib.create_binance_usds_m_futures_client(api_key, sec_key) +print("Index price candlesticks:") +await client.get_index_price_candlesticks(pair = Pair('BTC', 'USDT'), interval = enums.Interval.I_1MIN) +print("Index info:") +await client.get_index_info(pair = Pair('DEFI', 'USDT')) +# COIN-M futures REST API +client = CryptoXLib.create_binance_coin_m_futures_client(api_key, sec_key) +await client.create_order(symbol = 'BTCUSD_PERP', side = enums.OrderSide.BUY, type = enums.OrderType.LIMIT, + quantity = "1", + price = "0", + time_in_force = enums.TimeInForce.GOOD_TILL_CANCELLED, + new_order_response_type = enums.OrderResponseType.FULL) +# BinanceSwap REST API +client = CryptoXLib.create_binance_client(api_key, sec_key) +print('Swap pools:') +await client.get_bswap_pools() +print('Add liquidity:') +await client.bswap_add_liquidity(0, 'BTC', '10000000') +print('Swap:') +await client.bswap_swap(Pair('BTC', 'USDT'), '100000000000') +``` +Examples for every exchange and product can be found in the folder `examples`. +### Contact +- to report issues, bugs, docu corrections or to propose new features use preferably Github Issues +- for topics requiring more personal approach feel free to send an e-mail to <img src="http://safemail.justlikeed.net/e/92d5165877de84f44e7731e4a1b60ba1.png" border="0" align="absbottom"> +### Support +If you like the library and you feel like you want to support its further development, enhancements and bugfixing, then it will be of great help and most appreciated if you: +- file bugs, proposals, pull requests, ... +- spread the word +- donate an arbitrary tip + * `BTC`: `3GJPT6H6WeuTWR2KwDSEN5qyJq95LEErzf` + * `ETH`: `0xC7d8673Ee1B01f6F10e40aA416a1b0A746eaBe68` + * `Binance Smart Chain tokens`: `0xe37FaB52ed4c1C9a3d80896f2001Cb3284a1b619` + * `XMR`: `87vdCaWFN2YJEk3HKVJNaPBFsuwZTJocRfpGJ747dPQrFcrs6SQTmA3XDGyWUPoALuNnXezEbJXkbY8Y4VSxG4ReEFqxy5m` + +%prep +%autosetup -n cryptoxlib-aio-5.3.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-cryptoxlib-aio -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 5.3.0-1 +- Package Spec generated @@ -0,0 +1 @@ +900505e06977bf25341af375c83509ab cryptoxlib-aio-5.3.0.tar.gz |
