Skip to main content

Python client SDK for Oasis ROFL.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

oasis-rofl-client

PyPI version

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:// or https://: Uses HTTP transport
    • Otherwise: Treats as Unix socket path

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 key
    • kind: Type of key to generate (default: KeyKind.SECP256K1). Available options:
      • KeyKind.RAW_256: Generate 256 bits of entropy
      • KeyKind.RAW_384: Generate 384 bits of entropy
      • KeyKind.ED25519: Generate an Ed25519 private key
      • KeyKind.SECP256K1: Generate a Secp256k1 private key
  • Returns: The private key as a hex string
  • Raises: httpx.HTTPStatusError if 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.

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

oasis_rofl_client_rube-0.0.4.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

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

oasis_rofl_client_rube-0.0.4-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file oasis_rofl_client_rube-0.0.4.tar.gz.

File metadata

File hashes

Hashes for oasis_rofl_client_rube-0.0.4.tar.gz
Algorithm Hash digest
SHA256 0e0e622815622a46c79b2b25be4a80e3c658b98c13b841a5722d06d8a9fb7e6a
MD5 b317b7701f14d6ae566ef8ebe933f3e5
BLAKE2b-256 c390ba5bdb63939def7e80816471b89333f7b9c9fec7e0f64fe655aefe84f58c

See more details on using hashes here.

File details

Details for the file oasis_rofl_client_rube-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for oasis_rofl_client_rube-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1f8772fec5242eff169901c872a8f24c4eb690dd3d7961c1298c698f35f7b4f1
MD5 b86d626138b3ff96d30bbfb6bfc5e5ee
BLAKE2b-256 b0801c9b70a9fdfdf7c22ce880b53554d62791f80f36219fb57b54706fc566a0

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