Skip to content

Latest commit

 

History

History
86 lines (54 loc) · 2.59 KB

README.md

File metadata and controls

86 lines (54 loc) · 2.59 KB

codecov PyPI - Python Version GitHub Workflow Status GitHub

Gemini Public API

The gemini-public-api is an unofficial Python implementation of the public Gemini REST API. It provides a simple interface for interacting with the Gemini cryptocurrency exchange, supporting both synchronous and asynchronous communication.

Installation

To get the Gemini Public API Python client running on your local machine, use pip:

pip3 install gemini-public-api

Please make sure that you have Python 3.6 or newer, as this library requires it.

Usage

Synchronous Usage

from gemini_public_api import api

symbols = api.get_symbols()
print(symbols.json())

Asynchronous Usage

The library relies on the aiohttp package for truly asynchronous execution. The SessionContextManager context manager is used for making async requests. Here's how to fetch the available symbols asynchronously:

from gemini_public_api.aiohttp import api
from gemini_public_api.aiohttp.session_context_manager import SessionContextManager

async with SessionContextManager() as session:
    response = await api.get_symbols(session)
    
    async with response as resp:
        data = await resp.json()
        print(data)

Alternatively, without the context manager:

import aiohttp

from gemini_public_api.aiohttp import api

session = aiohttp.ClientSession()

response = await api.get_symbols(session)
 
async with response as resp:
   data = await resp.json()
   print(data)

await session.close()

Dependencies

gemini-public-api is built with:

  • poetry - A tool for dependency management and packaging in Python.
  • hypothesis - A powerful, flexible, and easy-to-use library for property-based testing.
  • requests - The definitive library for making HTTP requests in Python.
  • aiohttp - An asynchronous HTTP client/server framework for asyncio and Python.

Authors

  • mpol1t

License

This project is licensed under the MIT License