Skip to main content

Type-safe async Python SDK for the nono orchestrator server

Project description

nono Python SDK

A type-safe async Python SDK for the nono orchestrator server.

Features

  • Fully async - Built on httpx for async HTTP requests
  • Type-safe - Full Pydantic models with type hints
  • Kebab-case compatible - Handles both snake_case and kebab-case field names
  • Auto-configuration - Reads NONO_HOST and NONO_PORT from environment variables
  • Comprehensive - Covers all nono API endpoints

Installation

# From the sdks/python directory
pip install -e .

# Or with uv
uv pip install -e .

Quick Start

import asyncio
from nono import NonoClient, CallingFrame, OperationPushValue

async def main():
    # Client reads NONO_HOST and NONO_PORT from environment
    async with NonoClient() as client:
        # Read configuration
        config = await client.config_read()
        print(f"Config: {config.config}")

        # Create a session
        frame = CallingFrame(
            calling_entity_id="my-entity",
            data={"frame_data": "initial"},
            value_stack=[],
            op_stack=[],
            handler_stack=[],
        )

        session_id = await client.session_create(
            name="my-session",
            data={"counter": 0},
            frame=frame,
        )
        print(f"Created session: {session_id}")

        # Execute operations
        await client.frame_push_value(session_id, 42)
        
        # Read session data
        data = await client.session_get_data(session_id)
        print(f"Session data: {data}")

        # Clean up
        await client.session_delete(session_id)

asyncio.run(main())

License

MIT

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

nono-0.1.0.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

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

nono-0.1.0-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file nono-0.1.0.tar.gz.

File metadata

  • Download URL: nono-0.1.0.tar.gz
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for nono-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c1d984c725766270b5c367910e0627f9038463206aeb1a4e140d3687d6a6bb21
MD5 0b7af206603ffc4f993c6a35af836b83
BLAKE2b-256 14cdab6624dd31639008b3d21eae1b619b0cd8d5c5d71b12d49d61276d390bfb

See more details on using hashes here.

File details

Details for the file nono-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: nono-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for nono-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 792bbd327a663523ff657276cacdd017dd8ce66a76ad2cb31c88f439bda45d98
MD5 a8f0cd5332369d6af73195e187f1a516
BLAKE2b-256 e492c8d6a7dac0e02e639ae7e5d3cb1544ae3b8ebf1e96d8d63faf06284c6f4d

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