Skip to content

Irishery/cryptocom-exchange

 
 

Repository files navigation

Python 3.7+ library for crypto.com/exchange API using asyncio and aiohttp

Docs Build Status Build Status Maintainability Test Coverage PyPI implementation PyPI pyversions PyPI license PyPI version fury.io PyPI download month Gitter

Documentation: https://cryptocom-exchange.rtfd.io

Exchange original API docs: https://exchange-docs.crypto.com

WARNING: PLEASE use 0.10.2+ or up to 0.9.5 version because of httpx memory leak [0.10, 0.10.1] -> are broken

Description

pip install 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.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

TODO

  • Sync pairs automatically
  • Move project to poetry
  • Add CD to PYPI for auto releases

Donation

If this lib helped you achieve profits will be glad to receive some donation to continue support 💪

ERC20(CRO,USDT,ETH etc.): 0x348c268A563b0C809e4E21F4371E8cdFbD1f51bf

BTC: 3NxnzUbTDFrwCEChS4PMqXbxvESxkfU2UP

LTC: MK3DtnQaMs2eSDdTygF618xdQd7Q9y7Nr2

NEO: AdTApXpKjVh2YJUKuEHuWvoSdaSAzLakFF

About

Python 3.7+ library for https://crypto.com/exchange API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.6%
  • Shell 0.4%