This project has been archived by its maintainers, and is no longer receiving any updates.
peaq Robot SDK
Highlights
- DID management (create/read), Protobuf-based storage, chainstate reads
- On-chain storage for telemetry/config (JSON-friendly)
- Keystore-backed wallets with optional encryption
- Confirmation modes and status callbacks, aligned with peaq-sdk-py
- Clean imports:
from peaq_robot import PeaqRobot
Install
From this repo (monorepo-style):
cd packages/python
pip install -r requirements.txt
pip install -e .
From TestPyPI (resolve deps from PyPI):
python -m venv .venv && source .venv/bin/activate
pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple peaq-robot-sdk==0.0.0.dev4
Note: Python 3.8–3.12 are supported. Python 3.13 is currently not supported due to upstream wheel availability.
Wallets and Keystore
- Default keystore location:
~/.peaq_robot/wallet.json - Override path:
PEAQ_ROBOT_KEYSTORE=/custom/path.json - Optional encryption: set
PEAQ_ROBOT_KEY_PASSWORDto encrypt the keystore with Fernet+PBKDF2
Create or load automatically:
from peaq_robot import PeaqRobot
robot = PeaqRobot() # loads from keystore or creates on first run
print(robot.address)
Generate a fresh wallet and persist to keystore:
robot = PeaqRobot.create_wallet()
Use explicit keys (won’t be stored unless you call create_wallet):
PeaqRobot(mnemonic="..."), PeaqRobot(private_key="0x...")
Network selection
The SDK resolves a network URL for you:
- Default testnet (Agung):
wss://peaq-agung.api.onfinality.io/ws - Aliases:
"agung"|"test"|"testnet"→ Agung;"peaq"|"main"|"mainnet"→wss://quicknode3.peaq.xyz - HTTPS QuickNode converts to WSS automatically
from peaq_robot import PeaqRobot
robot = PeaqRobot(network="peaq") # mainnet quicknode3
robot = PeaqRobot(network="wss://...") # custom WSS
Transactions: confirmation modes and callbacks
Types are in peaq_robot.types:
ConfirmationMode:FAST|FINALTxOptions(mode=...)TransactionStatus:BROADCAST|IN_BLOCK|FINALIZEDTransactionStatusCallback(Pydantic model)
Write methods accept optional tx_options and on_status:
from peaq_robot.types import TxOptions, ConfirmationMode
# FAST (default): returns tx-hash string
tx = robot.store.add_data("LOG", {"ok": True})
# FINAL: returns SubstrateSendResult with finalize awaitable; emits status callbacks
def on_status(s):
print(s.model_dump())
res = robot.store.add_data(
"LOG2", {"ok": True},
tx_options=TxOptions(mode=ConfirmationMode.FINAL),
on_status=on_status,
)
final_receipt = asyncio.run(res.finalize)
DID (identity)
Create (idempotent friendly) and read:
name = f"did:peaq:{robot.address}"
try:
robot.id.create_identity(name=name) # returns hash (FAST)
except Exception as e:
# For duplicates, you might get AttributeAlreadyExist
if "AttributeAlreadyExist" in str(e):
pass
doc = robot.id.read_identity()
print(doc["decoded_data"]) # parsed protobuf
Storage
robot.store.add_data("TELEMETRY_001", {"battery": 87.3})
print(robot.store.read_data("TELEMETRY_001"))
Demos and examples
examples/wallet_demo.py: end-to-end flow- Set a local funder mnemonic in
examples/.env:PEAQ_ROBOT_FUND_MNEMONIC="abandon ... about"
- Run:
python examples/wallet_demo.py
- Set a local funder mnemonic in
examples/options_test.py: exercises FAST/FINAL modes and callbacks
Project layout
packages/
python/
peaq_robot/ # SDK implementation
README.md # package README for PyPI
setup.py, requirements.txt, pytest.ini
examples/
wallet_demo.py
options_test.py
Robotics wrappers (WIP)
peaq_robot.robotics.IdentityService– thin facade overRobotIdentitypeaq_robot.robotics.DataVault– thin facade overRobotStorage
Development
python3 -m venv .venv && source .venv/bin/activate
cd packages/python
pip install -r requirements.txt
pip install -e .
cd ../../
python examples/wallet_demo.py
Contributing
- Keep public APIs stable and backwards compatible
- Align Substrate ergonomics (confirmation modes, callbacks) with peaq-sdk-py
- Add examples/tests for new options
License
MIT
Style
- Classes: PascalCase (e.g.,
PeaqRobot) - Modules/packages: lowercase (e.g.,
peaq_robot) - Methods/functions: snake_case
Release files for peaq-robot-sdk 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| peaq_robot_sdk-0.0.2.tar.gz | 19.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| peaq_robot_sdk-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 41.6 kB
Release files / peaq_robot_sdk-0.0.2.tar.gz
| Download URL | peaq_robot_sdk-0.0.2.tar.gz |
|---|---|
| Size | 19.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b8d4ef9877ff7064812ca84fd5076e4444bdcf430affa096c5a52f1c7256e4bc
|
|
BLAKE2b-256 checksum How to use checksums |
d36e19ed4dacfdfff41b8e37d8141ea9d7e53cb76aff50e3f12f080ba8b37df5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 13, 2025.
Transparency logRelease files / peaq_robot_sdk-0.0.2-py3-none-any.whl
| Download URL | peaq_robot_sdk-0.0.2-py3-none-any.whl |
|---|---|
| Size | 22.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e69d19708740587c6b234f2b8cf5256ff835327c3ff531f3e69734a6541d9b40
|
|
BLAKE2b-256 checksum How to use checksums |
532863ccbe2b28661aaa9615c33604a00f8efd4aafe67479aa9238dbeea0a392
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 13, 2025.
Transparency log