Skip to main content

An open-source asynchronous Python library for standardized access to cryptocurrency exchange market data APIs.

Project description

Uniquant


Disclaimer

UniQuant is an open-source project developed solely for educational and experimental purposes.
Any use of this library for unethical or illegal purposes is strictly prohibited, including but not limited to:

  • Engaging in pump-and-dump schemes or buying tokens that are questionable under Islamic law (Shariah)
  • Utilizing this library for futures trading, leveraged trading, or other high-risk financial instruments
  • Employing this tool in unregulated or illegal markets

The author assumes no responsibility for misuse or violations of legal, ethical, or religious standards.
Users must ensure compliance with all local laws, exchange policies, and religious guidelines.


Overview

Uniquant is an asynchronous Python library that provides a unified, high-performance interface to interact with multiple cryptocurrency trading platforms. Built with asyncio and aiohttp, it currently supports Binance Spot public REST APIs, enabling developers to build scalable, non-blocking applications for market data retrieval.

The library abstracts platform-specific complexities into a clean, consistent API—ideal for research, data analysis, or prototyping—while adhering to asynchronous best practices.

Note: Private API support and additional exchanges are planned for future releases (see Roadmap).


Features

  • Asynchronous, non-blocking I/O using asyncio and aiohttp
  • Unified API design for cross-exchange compatibility (currently Binance Spot public endpoints only)
  • Lightweight with minimal dependencies
  • Type hints for improved developer experience and IDE support
  • Automatic rate-limit handling (basic)

Technologies & Dependencies

  • Python: 3.9 or higher
  • Core Libraries:
    • asyncio (built-in)
    • aiohttp (for async HTTP requests)
    • websockets (for real time connections and messages -system of exchanges-)

Installation

Install Uniquant via pip:

pip install uniquant

Or from source:

git clone https://github.com/Broo-DevX-Coder/Uniquant
cd uniquant
pip install -e .

Ensure you are using Python 3.9+.


Usage

Public Market Data (Binance Spot)

from uniquant.Platforms.Binance.Public import PublicSymbols,OneSymbole # You can to chow any sepported exchange
from uniquant.main.utils import QueueStream,STABLECOINS_USD # These are just utils from lib
import aiohttp

async def main():
    OBJ = PublicSymbols(symbol="BTCUSDT")
    await OBJ.start(aiohttp.ClientSession()) # This function is very imporetant to initialyze sessions, you can set a costimize aiohttp.ClientSession for them
    async for ob in OBJ.orderbook_stream(limit=int): # this is a small exemple to get async-generator of orderbook
      print(ob)

asyncio.run(main())

All sepported exchanges objects and functions are same Important: You can to see all docs of use in wiki DOCs


Supported Exchanges (Last Version)

Exchange Name API Docs Link Private API Supported? Last Version Upgraded
Binance Spot docs Not yet supported 1.0.0

Version History

Version Release Date Changelog / Wiki Link
1.0.0 2025-12-10 Wiki: v1.0.0 — Improved error handling, type hints, async session reuse

Future versions will incrementally add private API support, additional exchanges, and WebSocket connectivity.


License

This project is licensed under the MIT License — see the LICENSE file for details.


Maintainer

For questions, bug reports, or feature requests, please [open an issue](INSERT URL/issues) in the repository.

Maintainer: Broo-Dev-X Contact: [broodevx@gmail.com] (optional)


Remember: Always use this library responsibly and in full compliance with applicable laws, exchange terms of service, and ethical standards.

Project details


Download files

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

Source Distribution

uniquant-1.0.2.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

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

uniquant-1.0.2-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file uniquant-1.0.2.tar.gz.

File metadata

  • Download URL: uniquant-1.0.2.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for uniquant-1.0.2.tar.gz
Algorithm Hash digest
SHA256 647d904ad42a6a9289f98a1b52a9d7121e2b31cb32c50f4b66d6938d84508ca4
MD5 adcf83041135c51c54b99b6f88c67d6a
BLAKE2b-256 0c8df7975ce87564ccb1ffa2e69bea08b722f6b4843c27662263f8d73ee93d46

See more details on using hashes here.

File details

Details for the file uniquant-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: uniquant-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for uniquant-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a4486736cc40bd3e8b1ab998957c64d2c60a22b003c03459ca50d64dc139b9a7
MD5 b2a645168b1919bfb1c42e6a14beee1b
BLAKE2b-256 438d575e60c492f72c53fb12a90f2635d8e25f59e28983af60288ecb32d58a4a

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