New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

coinbaseadvanced

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

coinbaseadvanced

Coinbase Advanced Trade API client library.

  • 1.2.0
  • PyPI
  • Socket score

Maintainers
1

Coinbase Advanced

Python library for the Coinbase Advanced Trade API.

Features

  • Support for all the REST API endpoints through convenient methods.
  • Automatic parsing of API responses into relevant Python objects.
  • Unit Tests based on real responses using fixtures.
  • Support for Cloud and Legacy Auth Schemas:

Example

from coinbaseadvanced.client import CoinbaseAdvancedTradeAPIClient

# Creating the client using Clould API Keys.
client = CoinbaseAdvancedTradeAPIClient.from_cloud_api_keys(API_KEY_NAME, PRIVATE_KEY)

# Listing accounts.
accounts_page = client.list_accounts()
print(accounts_page.size)

# Creating a limit order.
order_created = client.create_limit_order(client_order_id="lknalksdj89asdkl", product_id="ALGO-USD", side=Side.BUY, limit_price=".19", base_size=5)

Websocket usage

Here is a basic example of how to use the CoinbaseWebSocketClient:

import asyncio
import time
from client_websocket import CoinbaseWebSocketClient

def handle_candle_event(event):
    print(f"Received event candle: {event}")

async def main():
    api_key = "your-api-key"
    private_key = "-----BEGIN EC PRIVATE KEY-----\n\n-----END EC PRIVATE KEY-----"
    
    client = CoinbaseWebSocketClient(api_key, private_key)
    client.subscribe(["BTC-EUR"], "candles", callback=handle_candle_event)
    
    while True:
        time.sleep(1)

if __name__ == "__main__":
    asyncio.run(main())

Callback Functions

You can define your own callback functions to handle different types of events. The callback function will receive an event object that you can process as needed.

Heartbeat Subscription

For each subscription to a market data channel, a separate heartbeat subscription is automatically created. This helps to ensure that the connection remains open and active.

Concurrencyadding

Each subscription runs in a separate thread to ensure that multiple subscriptions can operate concurrently without blocking each other.

Coinbase API Rate Limits

Before using this library, it is highly recommended to read the Coinbase API rate limits (https://docs.cdp.coinbase.com/advanced-trade/docs/ws-best-practices/) to understand the constraints and avoid exceeding the limits.

Best Practices

It is also recommended to follow the WebSocket best practices (https://docs.cdp.coinbase.com/advanced-trade/docs/ws-best-practices/) provided by Coinbase for optimal performance and reliability.

Subscription Recommendations

If possible, subscribe to one symbol per subscription to help balance the load on the Coinbase server and improve the reliability of your data stream.

Installation

pip install coinbaseadvanced

Contributing/Development

Any and all contributions are welcome! The process is simple:

  1. Fork repo.
  2. Install Requirements: pip install -r requirements.txt.
  3. Make your changes.
  4. Run the test suite python -m unittest -v.
  5. Submit a pull request.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc