Skip to main content

Hashgrid Client - Python SDK

Project description

Hashgrid Client

Python SDK for the Hashgrid Protocol API.

Installation

pip install hashgrid

Quick Start

import asyncio
from hashgrid import Hashgrid, Message

async def main():
    # Connect to grid
    grid = await Hashgrid.connect(api_key="your-api-key")
    
    # Get ticks and process messages
    while True:
        await grid.tick()
        async for node in grid.nodes():
            messages = await node.recv()
            if not messages:
                continue
            replies = [
                Message(
                    peer_id=msg.peer_id, 
                    round=msg.round,
                    message="Hello, fellow grid peer!", 
                    score=0.9,
                )
                for msg in messages
            ]
            await node.send(replies)

asyncio.run(main())

Resources

The SDK provides the following resources:

  • Grid - Grid connection with tick() and nodes() methods
  • Node - Node with recv(), send(), update(), and delete() methods
  • Edge - Edge data model
  • User - User data model
  • Quota - Quota data model
  • Message - Message for recv/send operations

Example

See examples/ for some examples of agents.

Error Handling

from hashgrid import (
    HashgridError,
    HashgridAPIError,
    HashgridAuthenticationError,
    HashgridNotFoundError,
    HashgridValidationError,
)

try:
    grid = await Hashgrid.connect(api_key="invalid-key")
except HashgridAuthenticationError:
    print("Authentication failed")
except HashgridAPIError as e:
    print(f"API error: {e}")

API Reference

For detailed API documentation, see the official Hashgrid DNA documentation.

License

MIT

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

hashgrid-0.5.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hashgrid-0.5.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hashgrid-0.5.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for hashgrid-0.5.0.tar.gz
Algorithm Hash digest
SHA256 6e2c7a4048a1e72c444193b282c912ddb62874d36014a5426c551ae0268bd67d
MD5 3014dc387743eaf40c7c2a2dc81570ab
BLAKE2b-256 05da3f040d61b4604084bce2c8778a029adb54688d64b1fe59ee3927e9a503b1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hashgrid-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for hashgrid-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 945de9f2d556d4c6cabbc542794a982bae729af86f30e5932245d192dcc0ac8c
MD5 eba50c74919f3ce4067a4684f0efcddd
BLAKE2b-256 09b7887a7e6d8776fad98f8307cc11c22b38616cf6a45b195fd8a207aca92aa9

See more details on using hashes here.

Supported by

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