From 031ab7b311bb05269fdfe74dd11778035e7d9aef Mon Sep 17 00:00:00 2001 From: Morty Space Date: Mon, 17 Oct 2022 14:46:06 +0200 Subject: [PATCH] chore: [ci] moved back to python 3.10.5 --- .github/workflows/test_release.yml | 14 ++++---- CHANGELOG.md | 47 ++++++++++++++++++++++++++ README.md | 53 ++---------------------------- src/cryptocom/__init__.py | 3 ++ 4 files changed, 60 insertions(+), 57 deletions(-) diff --git a/.github/workflows/test_release.yml b/.github/workflows/test_release.yml index 4971186..fe98a0b 100644 --- a/.github/workflows/test_release.yml +++ b/.github/workflows/test_release.yml @@ -18,7 +18,7 @@ jobs: strategy: max-parallel: 1 matrix: - python-version: ['3.10.7', '3.9', '3.8', '3.7'] + python-version: ['3.10.5', '3.9', '3.8', '3.7'] runs-on: ubuntu-latest steps: - name: Download code @@ -49,7 +49,7 @@ jobs: if: steps.poetry-install.outputs.cache-hit != 'true' run: rm -rf ./.venv/ && poetry install - name: Download cache for pre-commit - if: matrix.python-version == '3.10.7' + if: matrix.python-version == '3.10.5' id: pre-commit-install uses: actions/cache@v2 with: @@ -57,12 +57,12 @@ jobs: key: py-${{ matrix.python-version }}-pre-commit-install-${{ hashFiles('.pre-commit-config.yaml') }} restore-keys: pre-commit-install - name: Verify commit - if: matrix.python-version == '3.10.7' + if: matrix.python-version == '3.10.5' run: poetry run pre-commit run -a - name: Auto-generate missing pairs run: . activate.sh && poetry run python generatestructs.py - name: Commit & Push changes - if: matrix.python-version == '3.10.7' && github.ref == 'refs/heads/main' + if: matrix.python-version == '3.10.5' && github.ref == 'refs/heads/main' uses: actions-js/push@v1.3 with: author_email: "morty.space@gmail.com" @@ -71,7 +71,7 @@ jobs: message: "sync: updated API pairs and coins" github_token: ${{ secrets.GITHUB_TOKEN }} - name: Prepare codeclimate - if: matrix.python-version == '3.10.7' + if: matrix.python-version == '3.10.5' run: | curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter chmod +x ./cc-test-reporter @@ -82,7 +82,7 @@ jobs: timeout-minutes: 6 run: . activate.sh && poetry run pytest -v --cov . --cov-report xml:coverage.xml - name: Send codeclimate analytics - if: matrix.python-version == '3.10.7' + if: matrix.python-version == '3.10.5' run: ./cc-test-reporter after-build -r ${{ secrets.CC_TEST_REPORTER_ID }} --exit-code $? release: runs-on: ubuntu-latest @@ -92,7 +92,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v2 with: - python-version: '3.10.7' + python-version: '3.10.5' - name: Checkout code uses: actions/checkout@v2 with: diff --git a/CHANGELOG.md b/CHANGELOG.md index 22fe1a6..2e14f32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -74,3 +74,50 @@ ## v0.11.0 (2022-05-15) ### Feature * Updated CI ([`89b4b8f`](https://github.com/goincrypto/cryptocom-exchange/commit/89b4b8fedfff8b74fed4d72a35a0f25c319680aa)) + +## Old Changelog +- **0.10.4** - Updated pairs +- **0.10.3** - fixed websocket private endpoints not returning data +- **0.10.2** - fixed huge memory leak by `httpx` +- [leaks memory] **0.10.1** - added read timeouts for websockets, fixed test with tickers +- [leaks memory] **0.10.0** - moved into httpx + websockets, added autoreconnect, simplified code, improved stability +- **0.9.5** - added timeout for websocket if no data received in 3 mins we trying to reconnect +- **0.9.4** - fixed spread func, fixed missing params +- **0.9.3** - added RPS limiter by @Irishery +- **0.9.2** - fixed event loop import level +- **0.9.1** - fixed Windows bug with asyncio event loop +- **0.9.0** - updated coins, refactored wallet transactions +- **0.8.1** - fixed coin name generation +- **0.8** - fixed tests with updated coins +- **0.7.12** - updated coins, added websocket timeouts +- **0.7.11** - fixed orders history if empty +- **0.7.10** - updated pairs precision +- **0.7.9** - fixed price and quantity rounding, updated pairs and coins +- **0.7.8** - changed keys, removed depth from orderbook (not working, always 150), updated pairs +- **0.7.7** - updated pairs by JOB, fixed timeout +- **0.7.6** - updated pairs +- **0.7.5** - fixed `order.remaining_quantity` rounding +- **0.7.4** - fixed sync pairs for account +- **0.7.3** - fixed price of order if not filled, updated coins, added missing trades to `Order` +- **0.7.2** - fixed `listen_orders` private account method, added test +- **0.7.1** - fixed missing '.0' in order price and quantity (different in py3.7, py3.9) +- **0.7** - major changes, `Pair` -> `cro.pairs.CRO_USDT` moved to more complex structure so we can use round and server information about pairs. + - If you have errors, just use `await account.sync_pairs()` or `await exchange.sync_pairs()` + - Added rounding per pair, all floats will be with right precisions +- **0.6** - included changes from PR kudos to https://github.com/samueltayishere, fixed limit orders, fixed timeouts, fixed is_active order status +- **0.5.1** - added symbols YFI, BAND, fixed test with limit orders +- **0.5** - missing symbols MKR, UNI, possible refactoring for simple objects +- **0.4.5** - fixed missing CELR balances +- **0.4.4** - fixed missing QTUM, CELR coins +- **0.4.3** - fixed missing `fees_coin` Coin enum +- **0.4.2** - fixed supported pairs OMG and MANA +- **0.4.1** - fixed `cached_property` for python 3.7 +- **0.4.0** - added `OrderForceType` and `OrderExecType`, refactored `Order` responses, splited private and market methods, added missing `Pair` and `Coin`, added `Balance` dataclass, public +keys for tests passing +- **0.3.4** - fixed balances listener, fixed pairs +- **0.3.3** - fixed orderbook depth +- **0.3.2** - added orderbook websocket method +- **0.3.1** - fixed missing DAI pair +- **0.3** - added websocket support for public endpoints and supports `sign=True` for private endpoints +- **0.2.1** - fixed order_id in `get_order` func, still preparing for stable release +- **0.2** - moved to new API v2, except for websockets diff --git a/README.md b/README.md index ec4052b..660ca25 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Python 3.7+ async library for crypto.com/exchange API using httpx and websockets +# Python 3.7-3.10.5 async library for crypto.com/exchange API using httpx and websockets [![Docs Build Status](https://readthedocs.org/projects/cryptocom-exchange/badge/?version=latest&style=flat)](https://readthedocs.org/projects/cryptocom-exchange) ![Test workflow](https://github.com/goincrypto/cryptocom-exchange/actions/workflows/test_release.yml/badge.svg) @@ -15,62 +15,15 @@ Documentation: [https://cryptocom-exchange.rtfd.io](https://cryptocom-exchange.r Exchange original API docs: [https://exchange-docs.crypto.com](https://exchange-docs.crypto.com) -### **WARNING: PLEASE use 0.10.3+ [prev versions have private websocket broken and memory leaks] +### **SUPPORT up to 3.10.5 VERSIONS -> poetry pkg_resources issue** ### Description `pip install cryptocom-exchange` +`poetry add cryptocom-exchange` - provides all methods to access crypto.com/exchange API (except for websockets temporary) - full test coverage on real exchange with real money - simple async methods with custom retries and timeouts **Please do not use secret keys, they used only for test purposes** - -### Changelog - -- **0.10.4** - Updated pairs -- **0.10.3** - fixed websocket private endpoints not returning data -- **0.10.2** - fixed huge memory leak by `httpx` -- [leaks memory] **0.10.1** - added read timeouts for websockets, fixed test with tickers -- [leaks memory] **0.10.0** - moved into httpx + websockets, added autoreconnect, simplified code, improved stability -- **0.9.5** - added timeout for websocket if no data received in 3 mins we trying to reconnect -- **0.9.4** - fixed spread func, fixed missing params -- **0.9.3** - added RPS limiter by @Irishery -- **0.9.2** - fixed event loop import level -- **0.9.1** - fixed Windows bug with asyncio event loop -- **0.9.0** - updated coins, refactored wallet transactions -- **0.8.1** - fixed coin name generation -- **0.8** - fixed tests with updated coins -- **0.7.12** - updated coins, added websocket timeouts -- **0.7.11** - fixed orders history if empty -- **0.7.10** - updated pairs precision -- **0.7.9** - fixed price and quantity rounding, updated pairs and coins -- **0.7.8** - changed keys, removed depth from orderbook (not working, always 150), updated pairs -- **0.7.7** - updated pairs by JOB, fixed timeout -- **0.7.6** - updated pairs -- **0.7.5** - fixed `order.remaining_quantity` rounding -- **0.7.4** - fixed sync pairs for account -- **0.7.3** - fixed price of order if not filled, updated coins, added missing trades to `Order` -- **0.7.2** - fixed `listen_orders` private account method, added test -- **0.7.1** - fixed missing '.0' in order price and quantity (different in py3.7, py3.9) -- **0.7** - major changes, `Pair` -> `cro.pairs.CRO_USDT` moved to more complex structure so we can use round and server information about pairs. - - If you have errors, just use `await account.sync_pairs()` or `await exchange.sync_pairs()` - - Added rounding per pair, all floats will be with right precisions -- **0.6** - included changes from PR kudos to https://github.com/samueltayishere, fixed limit orders, fixed timeouts, fixed is_active order status -- **0.5.1** - added symbols YFI, BAND, fixed test with limit orders -- **0.5** - missing symbols MKR, UNI, possible refactoring for simple objects -- **0.4.5** - fixed missing CELR balances -- **0.4.4** - fixed missing QTUM, CELR coins -- **0.4.3** - fixed missing `fees_coin` Coin enum -- **0.4.2** - fixed supported pairs OMG and MANA -- **0.4.1** - fixed `cached_property` for python 3.7 -- **0.4.0** - added `OrderForceType` and `OrderExecType`, refactored `Order` responses, splited private and market methods, added missing `Pair` and `Coin`, added `Balance` dataclass, public -keys for tests passing -- **0.3.4** - fixed balances listener, fixed pairs -- **0.3.3** - fixed orderbook depth -- **0.3.2** - added orderbook websocket method -- **0.3.1** - fixed missing DAI pair -- **0.3** - added websocket support for public endpoints and supports `sign=True` for private endpoints -- **0.2.1** - fixed order_id in `get_order` func, still preparing for stable release -- **0.2** - moved to new API v2, except for websockets diff --git a/src/cryptocom/__init__.py b/src/cryptocom/__init__.py index e69de29..2e435f5 100644 --- a/src/cryptocom/__init__.py +++ b/src/cryptocom/__init__.py @@ -0,0 +1,3 @@ +import pkg_resources + +pkg_resources.declare_namespace(__name__)