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.5.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

pycryptoex-0.5.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pycryptoex-0.5.0.tar.gz
Algorithm Hash digest
SHA256 3f52acebc70ea435b483c58d5d46248e20966d7d130753087e0d8917234355f2
MD5 03089225dea962db9b15c989f8f5205b
BLAKE2b-256 f8a376485a26cf16a1bd50c05984bc7876998d0481e2f4d949ea790331a4dc6e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pycryptoex-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a9f0ad55d122af77c0eac77ad1d579ad963d3bcfe35a57868bb744ae1972e03
MD5 0695a76835c34018738af777f31f0418
BLAKE2b-256 67b3c39bfcb09312e6f63fcab0f0565f68a64e9d2355a33187b34f36159bfee0

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