Skip to main content

Python client SDK for Oasis ROFL.

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-0.1.4.tar.gz (17.3 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-0.1.4-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file oasis_rofl_client-0.1.4.tar.gz.

File metadata

  • Download URL: oasis_rofl_client-0.1.4.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.22

File hashes

Hashes for oasis_rofl_client-0.1.4.tar.gz
Algorithm Hash digest
SHA256 e063676b217a9fb3e1d5f589ac48952bb11b398f2395aa0a03a55baf8b09db64
MD5 986e12632788d8c7af7e167a20a3f8fc
BLAKE2b-256 4843a30a7bcdc5737029b800d743dae1234884fa357fa35254e6c38ef711d96e

See more details on using hashes here.

File details

Details for the file oasis_rofl_client-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for oasis_rofl_client-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f1488fe2dc4394b81ed655a61a5b6cc0c204a52675f6cc23e6ccdcb65291880c
MD5 cd3db264034a86d4ad86a4c7fa698aa9
BLAKE2b-256 04a2f0a45a94df4bd300e7efe0db37d539328e19116c670acd50b9fcf30482fb

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