This project has been archived by its maintainers, and is no longer receiving any updates.
oasis-rofl-client
Python client SDK for Oasis ROFL.
Installation
pip install oasis-rofl-client
Or using uv:
uv add install oasis-rofl-client
The package requires Python 3.9+ and depends on httpx for async HTTP operations.
Quickstart
The RoflClient provides async methods for interacting with ROFL services:
import asyncio
from oasis_rofl_client import RoflClient
async def main():
client = RoflClient()
key = await client.generate_key("my-key-id")
print(f"Generated SECP256K1 key: {key}")
asyncio.run(main())
API Reference
RoflClient
The main client class for interacting with ROFL runtime services.
Constructor
RoflClient(url: str = '')
url: Optional URL or Unix socket path- If empty (default): Uses Unix socket at
/run/rofl-appd.sock - If starts with
http://orhttps://: Uses HTTP transport - Otherwise: Treats as Unix socket path
- If empty (default): Uses Unix socket at
Methods
async generate_key(key_id: str, kind: KeyKind = KeyKind.SECP256K1) -> str
Fetches or generates a cryptographic key from ROFL.
- Parameters:
key_id: Identifier for the keykind: Type of key to generate (default:KeyKind.SECP256K1). Available options:KeyKind.RAW_256: Generate 256 bits of entropyKeyKind.RAW_384: Generate 384 bits of entropyKeyKind.ED25519: Generate an Ed25519 private keyKeyKind.SECP256K1: Generate a Secp256k1 private key
- Returns: The private key as a hex string
- Raises:
httpx.HTTPStatusErrorif the request fails
Examples
For a complete working example, see examples/basic_usage.py.
Release Process
Publishing to PyPI is fully automated via GitHub Actions.
License
Licensed under the Apache License, Version 2.0. See LICENSE for details or visit http://www.apache.org/licenses/LICENSE-2.0.
Metadata
Release files for oasis-rofl-client-rube 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| oasis_rofl_client_rube-0.0.4.tar.gz | 17.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| oasis_rofl_client_rube-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.9 kB
Release files / oasis_rofl_client_rube-0.0.4.tar.gz
| Download URL | oasis_rofl_client_rube-0.0.4.tar.gz |
|---|---|
| Size | 17.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0e0e622815622a46c79b2b25be4a80e3c658b98c13b841a5722d06d8a9fb7e6a
|
|
BLAKE2b-256 checksum How to use checksums |
c390ba5bdb63939def7e80816471b89333f7b9c9fec7e0f64fe655aefe84f58c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.8.22
|
Release files / oasis_rofl_client_rube-0.0.4-py3-none-any.whl
| Download URL | oasis_rofl_client_rube-0.0.4-py3-none-any.whl |
|---|---|
| Size | 4.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1f8772fec5242eff169901c872a8f24c4eb690dd3d7961c1298c698f35f7b4f1
|
|
BLAKE2b-256 checksum How to use checksums |
b0801c9b70a9fdfdf7c22ce880b53554d62791f80f36219fb57b54706fc566a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.8.22
|