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.1.tar.gz (15.7 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.1-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: uniquant-1.0.1.tar.gz
  • Upload date:
  • Size: 15.7 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.1.tar.gz
Algorithm Hash digest
SHA256 568f3d66d54d39f179b2b63c5b9885cbe6b12b6bebbf9f25e8ea299b846d52a2
MD5 4092e11d0a1e0ec06bf5c5a99b3798e3
BLAKE2b-256 8d133022f1e4ada2f9dda5816df7a1e6e57f313b7bf56bf909614bfa30a57aac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uniquant-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 15.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7f881681d9e6a722e42e8315a94b90374f18df42cd1d55e79c7245d26c3d5bd2
MD5 4ac30793304a9c6ba8c670b8418cd8d1
BLAKE2b-256 749a0dc757599e35982d9917808f6e91850f7216ef62a9fca3d84cd1f4680277

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