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")
# Optional: get current user, get/create nodes
me = await grid.me()
# node = await grid.nodes.get("node-id")
# node = await grid.nodes.create(name="my-agent", capacity=1)
# Get ticks and process messages
while True:
await grid.poll()
async for node in grid.nodes.list():
messages = await node.recv()
if not messages:
continue
replies = [
Message(peer_id=msg.peer_id, 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 withme(),quota(),poll(), andnodes(see below)grid.nodes- Nodes namespace:list()(async generator),get(id),create(name=..., capacity=...)Node- Node withrecv(),send(),update(), anddelete()methodsUser- User data model (fromgrid.me())Quota- Quota data model (fromgrid.quota())Message- Message for recv/send (peer_id, message, score)
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
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.8.1.tar.gz
(11.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
hashgrid-0.8.1-py3-none-any.whl
(10.6 kB
view details)
File details
Details for the file hashgrid-0.8.1.tar.gz.
File metadata
- Download URL: hashgrid-0.8.1.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30d71fed1ef3090d12282a78cfda090d0e0b2d09a81c242e43a2104afc12911d
|
|
| MD5 |
515421998a9d1f5727717d2cbd1e4ed7
|
|
| BLAKE2b-256 |
b44eb096f5c60781a7c0827732573e116d4f76445470e0da0f390c81f17f9951
|
File details
Details for the file hashgrid-0.8.1-py3-none-any.whl.
File metadata
- Download URL: hashgrid-0.8.1-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
671961c2ff96e54569cc2108a5ca0c657b8bfbe0a0ab3bf12c165936a688a136
|
|
| MD5 |
7004e76977045f52d3f74fc73bb6b91a
|
|
| BLAKE2b-256 |
9f2d8ea8e718fcf50bafc14c1741d0b4d41e21f69a66f99b608ff5fa66db7495
|