Skip to main content

A library providing a clients for interacting with various APIs of cryptocurrency exchanges for trading and accessing market data

Project description

PyCryptoEx

GitHub license PyPi package version Supported python versions linting - Ruff types - Mypy

[!CAUTION] This project is currently in alpha version and may have critical changes

A Python library providing a clients for interacting with various APIs of cryptocurrency exchanges for trading and accessing market data.

Installation

pip install -U pycryptoex

Choose and install one or more supported crypto exchanges:

pycryptoex [names ...]

For example:

pycryptoex bybit kucoin

Install from Github main

pip install -U git+https://github.com/ren3104/pycryptoex@main
pycryptoex [names ...] --update --version main

Quick Start

import asyncio

from pycryptoex import KuCoin, Bybit


async def handler(json_data):
    print(json_data)


async def main():
    # Request to public endpoints
    kucoin = KuCoin()
    async with kucoin:
        await kucoin.request(...)

    # Request to private endpoints
    bybit = Bybit(
        api_key="YOUR_API_KEY",
        secret="YOUR_API_SECRET"
    )
    async with bybit:
        await bybit.request(..., signed=True)

    # Start the public websocket
    kucoin_public_ws = await kucoin.create_websocket_stream()
    await kucoin_public_ws.start()
    # Subscribe handler to a public channel
    topic = "/market/candles:BTC-USDT_1min"
    await kucoin_public_ws.subscribe_callback(topic, handler)
    # Unsubscribe handler from a public channel
    await kucoin_public_ws.unsubscribe_callback(topic, handler)
    # Unsubscribe all handlers from a public channel
    await kucoin_public_ws.unsubscribe(topic)
    # Stop the public websocket
    await kucoin_public_ws.close()

    # Start the private websocket
    kucoin_private_ws = await kucoin.create_websocket_stream(private=True)
    await kucoin_private_ws.start()
    # Subscribe to private channels
    await kucoin_private_ws.subscribe_callback("/account/balance", handler)

    # Block until websockets close
    while not kucoin_public_ws.closed or not kucoin_private_ws.closed:
        await asyncio.sleep(0.1)

Supported Crypto Exchanges

Exchange Api Client Websocket Stream Manager
Bybit + -
KuCoin + +

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

pycryptoex-0.6.0.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

pycryptoex-0.6.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file pycryptoex-0.6.0.tar.gz.

File metadata

  • Download URL: pycryptoex-0.6.0.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for pycryptoex-0.6.0.tar.gz
Algorithm Hash digest
SHA256 bc240ebb706ee905e040961cc81efe7825cc47457d766aaf32b1a92edcba51bb
MD5 14e3faba38d091cd93d7b53541ba52cb
BLAKE2b-256 d6d096f583d409d6b45b95c158d46e405c32a95688755327664fc09fea23b173

See more details on using hashes here.

File details

Details for the file pycryptoex-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: pycryptoex-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for pycryptoex-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 afd4d3a504031051ef0473bf14ca92080c12f1c3d9fbaa7e9d18a8887dc5675d
MD5 a10c8b0feb9716a5904f28ade29f09aa
BLAKE2b-256 9d28e5b20b02f7aeeaed3ff5ba110bef63b5b63a9ee317e9eaa7a5854cf6a6dc

See more details on using hashes here.

Supported by

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