Skip to content

The gemini-public-api is an unofficial Python wrapper around the public Gemini REST API

License

Notifications You must be signed in to change notification settings

mpol1t/gemini-public-api

Repository files navigation

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

About

The gemini-public-api is an unofficial Python wrapper around the public Gemini REST API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages