Skip to main content

Unified Crypto Exchange API

Project description

Unified Crypto Exchange API

unicex - библиотека для работы с криптовалютными биржами, реализующая унифицированный интерфейс для работы с различными криптовалютными биржами.

✅ Статус реализации:

Sync:

Exchange Client UniClient Adapter WebsocketManager UniWebsocketManager UserWebsocket
Binance [x] [x] [x] [x] [x] [x]
Bybit [ ] [ ] [ ] [ ] [ ] [ ]
Bitget [ ] [ ] [ ] [ ] [ ] [ ]
Okx [ ] [ ] [ ] [ ] [ ] [ ]
Mexc [ ] [ ] [ ] [ ] [ ] [ ]
Gate [ ] [ ] [ ] [ ] [ ] [ ]

Async:

Exchange Client UniClient Adapter WebsocketManager UniWebsocketManager UserWebsocket
Binance [x] [x] [x] [x] [x] [x]
Bybit [ ] [ ] [ ] [ ] [ ] [ ]
Bitget [ ] [ ] [ ] [ ] [ ] [ ]
Okx [ ] [ ] [ ] [ ] [ ] [ ]
Mexc [ ] [ ] [ ] [ ] [ ] [ ]
Gate [ ] [ ] [ ] [ ] [ ] [ ]

❗️ Возможные проблемы:

  • Спот вебсокет на бинансе может отключиться и не переподключиться, потому что renew_listen_key не дает информации о том, когда ключ просрочен.

Блок для разработчика:

📋 Todo

  • Добавить веса и рейт лимиты в документацию клиентов
  • Привести в порядок обработку ответа после запроса
  • Пересмотреть вопрос: должен ли быть адаптер интерфейсом?
  • Добавить генерацию ссылок в extra
  • Пересмотреть политику Literal в types
  • Прокидывать ошибку дальше: 2025-09-24 13:08:06.552 | ERROR | unicex._base.sync.websocket:_on_error:212 - Websocket error: Message queue is overflow
  • Потестить bitget
  • AdapterError можно сделать красивее и удобнее
  • Может быть uni socket manager будет принимать тип рынка?
  • Добавить дефолтный overload для uniclient uniwebsoccketmanager
  • Проверить типы BitgetClient
2025-09-24 13:14:03.812 | ERROR    | unicex._base.sync.websocket:_on_error:212 - Websocket error: Message queue is overflow
2025-09-24 13:14:03.812 | INFO     | unicex._base.sync.websocket:stop:121 - Stopping websocket
2025-09-24 13:14:04.291 | ERROR    | unicex._base.sync.websocket:stop:144 - Error stopping websocket thread: cannot join current thread
2025-09-24 13:14:09.294 | INFO     | unicex._base.sync.websocket:start:87 - Starting websocket
2025-09-24 13:14:09.295 | ERROR    | unicex._base.sync.websocket:_on_error:212 - Websocket error: 'NoneType' object has no attribute 'pending'
2025-09-24 13:14:09.296 | INFO     | unicex._base.sync.websocket:stop:121 - Stopping websocket
2025-09-24 13:14:10.544 | INFO     | unicex._base.sync.websocket:_on_open:187 - Websocket opened
2025-09-24 13:14:10.544 | ERROR    | unicex._base.sync.websocket:_on_error:212 - Websocket error: 'NoneType' object has no attribute 'sock'
2025-09-24 13:14:10.544 | INFO     | unicex._base.sync.websocket:stop:121 - Stopping websocket
2025-09-24 13:14:10.545 | ERROR    | unicex._base.sync.websocket:stop:144 - Error stopping websocket thread: cannot join current thread

📋 Todo 24 september

  • Написать 1-2 examples
  • Написать октрытый интерес на бинанс uni

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unicex-0.1.7.tar.gz (74.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unicex-0.1.7-py3-none-any.whl (101.6 kB view details)

Uploaded Python 3

File details

Details for the file unicex-0.1.7.tar.gz.

File metadata

  • Download URL: unicex-0.1.7.tar.gz
  • Upload date:
  • Size: 74.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for unicex-0.1.7.tar.gz
Algorithm Hash digest
SHA256 20ad6d58a30052a011e502c0612d554a4c90035a28da812f2d805f1557f91745
MD5 9be34ab933a83f781ab79e1a53daca20
BLAKE2b-256 116694b3db87a386b6adb601339af03077b7d4f335908db55d114dd85db5d462

See more details on using hashes here.

File details

Details for the file unicex-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: unicex-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 101.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for unicex-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 4512104878b64b1b6ecad60dcec624fe3d378044932057e11ae2fae979c43d7e
MD5 422ba17bc774b84ac0dabf97f9ef81f6
BLAKE2b-256 d2a5c991ded5ce5db6b107d81fd2696b259f3f4a8bb2bbf7ca73e0e0f2b091e0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page