From 19d6d1f32c702f6419e030ce9c3e557c2aa5db49 Mon Sep 17 00:00:00 2001 From: alpha nerd Date: Mon, 13 Apr 2026 14:59:33 +0200 Subject: [PATCH 1/7] doc: added api-rate limits and models --- doc/README.md | 8 +++--- doc/models.md | 48 +++++++++++++++++++++++++++++++++ doc/rate-limits.md | 67 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+), 3 deletions(-) create mode 100644 doc/models.md create mode 100644 doc/rate-limits.md diff --git a/doc/README.md b/doc/README.md index ceb903b..d1f498d 100644 --- a/doc/README.md +++ b/doc/README.md @@ -44,9 +44,11 @@ asyncio.run(main()) 1. [Installation](installation.md) - How to install and set up the client 2. [Getting Started](getting-started.md) - Quick start guide with examples 3. [API Reference](api-reference.md) - Complete API documentation -4. [Security Guide](security-guide.md) - Security features and best practices -5. [Examples](examples.md) - Advanced usage scenarios -6. [Troubleshooting](troubleshooting.md) - Common issues and solutions +4. [Models](models.md) - Available models and selection guide +5. [Security Guide](security-guide.md) - Security features and best practices +6. [Examples](examples.md) - Advanced usage scenarios +7. [Rate Limits](rate-limits.md) - Request limits, burst allowance, and error handling +8. [Troubleshooting](troubleshooting.md) - Common issues and solutions ## Key Features diff --git a/doc/models.md b/doc/models.md new file mode 100644 index 0000000..9860039 --- /dev/null +++ b/doc/models.md @@ -0,0 +1,48 @@ +# Available Models + +All models are available via `api.nomyo.ai`. Pass the model ID string directly to the `model` parameter of `create()`. + +## Model List + +| Model ID | Parameters | Type | Notes | +|---|---|---|---| +| `Qwen/Qwen3-0.6B` | 0.6B | General | Lightweight, fast inference | +| `Qwen/Qwen3.5-0.8B` | 0.8B | General | Lightweight, fast inference | +| `LiquidAI/LFM2.5-1.2B-Thinking` | 1.2B | Thinking | Reasoning model | +| `ibm-granite/granite-4.0-h-small` | Small | General | IBM Granite 4.0, enterprise-focused | +| `Qwen/Qwen3.5-9B` | 9B | General | Balanced quality and speed | +| `utter-project/EuroLLM-9B-Instruct-2512` | 9B | General | Multilingual, strong European language support | +| `zai-org/GLM-4.7-Flash` | — | General | Fast GLM variant | +| `mistralai/Ministral-3-14B-Instruct-2512-GGUF` | 14B | General | Mistral instruction-tuned | +| `ServiceNow-AI/Apriel-1.6-15b-Thinker` | 15B | Thinking | Reasoning model | +| `openai/gpt-oss-20b` | 20B | General | OpenAI open-weight release | +| `LiquidAI/LFM2-24B-A2B` | 24B (2B active) | General | MoE — efficient inference | +| `Qwen/Qwen3.5-27B` | 27B | General | High quality, large context | +| `google/medgemma-27b-it` | 27B | Specialized | Medical domain, instruction-tuned | +| `nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-NVFP4` | 30B (3B active) | General | MoE — efficient inference | +| `Qwen/Qwen3.5-35B-A3B` | 35B (3B active) | General | MoE — efficient inference | +| `moonshotai/Kimi-Linear-48B-A3B-Instruct` | 48B (3B active) | General | MoE — large capacity, efficient inference | + +> **MoE** (Mixture of Experts) models show total/active parameter counts. Only active parameters are used per token, keeping inference cost low relative to total model size. + +## Usage Example + +```python +from nomyo import SecureChatCompletion + +client = SecureChatCompletion(api_key="your-api-key") + +response = await client.create( + model="Qwen/Qwen3.5-9B", + messages=[{"role": "user", "content": "Hello!"}] +) +``` + +## Choosing a Model + +- **Low latency / edge use**: `Qwen/Qwen3-0.6B`, `Qwen/Qwen3.5-0.8B`, `LiquidAI/LFM2.5-1.2B-Thinking` +- **Balanced quality and speed**: `Qwen/Qwen3.5-9B`, `mistralai/Ministral-3-14B-Instruct-2512-GGUF` +- **Reasoning / chain-of-thought**: `LiquidAI/LFM2.5-1.2B-Thinking`, `ServiceNow-AI/Apriel-1.6-15b-Thinker` +- **Multilingual**: `utter-project/EuroLLM-9B-Instruct-2512` +- **Medical**: `google/medgemma-27b-it` +- **Highest quality**: `moonshotai/Kimi-Linear-48B-A3B-Instruct`, `Qwen/Qwen3.5-35B-A3B` diff --git a/doc/rate-limits.md b/doc/rate-limits.md new file mode 100644 index 0000000..7d9f85c --- /dev/null +++ b/doc/rate-limits.md @@ -0,0 +1,67 @@ +# Rate Limits + +The NOMYO API (`api.nomyo.ai`) enforces rate limits to ensure fair usage and service stability for all users. + +## Default Rate Limit + +By default, each API key is limited to **2 requests per second**. + +## Burst Allowance + +Short bursts above the default limit are permitted. You may send up to **4 requests per second** in burst mode, provided you have not exceeded burst usage within the current **10-second window**. + +Burst capacity is granted once per 10-second window. If you consume the burst allowance, you must wait for the window to reset before burst is available again. + +## Rate Limit Summary + +| Mode | Limit | Condition | +|---------|--------------------|----------------------------------| +| Default | 2 requests/second | Always active | +| Burst | 4 requests/second | Once per 10-second window | + +## Error Responses + +### 429 Too Many Requests + +Returned when your request rate exceeds the allowed limit. + +``` +HTTP/1.1 429 Too Many Requests +``` + +**What to do:** Back off and retry after a short delay. Implement exponential backoff in your client to avoid repeated limit hits. + +### 503 Service Unavailable (Cool-down) + +Returned when burst limits are abused repeatedly. A **30-minute cool-down** is applied to the offending API key. + +``` +HTTP/1.1 503 Service Unavailable +``` + +**What to do:** Wait 30 minutes before retrying. Review your request patterns to ensure you stay within the permitted limits. + +## Best Practices + +- **Throttle your requests** client-side to stay at or below 2 requests/second under normal load. +- **Use burst sparingly** — it is intended for occasional spikes, not sustained high-throughput usage. +- **Implement exponential backoff** when you receive a `429` response. Start with a short delay (e.g. 500 ms) and double it on each subsequent failure, up to a reasonable maximum. +- **Monitor for `503` responses** — repeated occurrences indicate that your usage pattern is triggering the abuse threshold. Refactor your request logic before the cool-down expires. + +## Example: Exponential Backoff + +```python +import asyncio +import httpx + +async def request_with_backoff(client, *args, max_retries=5, **kwargs): + delay = 0.5 + for attempt in range(max_retries): + response = await client.create(*args, **kwargs) + if response.status_code == 429: + await asyncio.sleep(delay) + delay = min(delay * 2, 30) + continue + return response + raise RuntimeError("Rate limit exceeded after maximum retries") +``` From 57998fd84cb332bf5ea92d1cac750bda11931581 Mon Sep 17 00:00:00 2001 From: alpha nerd Date: Mon, 13 Apr 2026 15:12:22 +0200 Subject: [PATCH 2/7] doc: add workflow image --- doc/README.md | 2 ++ doc/secure-inference.jpg | Bin 0 -> 186024 bytes 2 files changed, 2 insertions(+) create mode 100644 doc/secure-inference.jpg diff --git a/doc/README.md b/doc/README.md index d1f498d..70dd9d6 100644 --- a/doc/README.md +++ b/doc/README.md @@ -3,6 +3,8 @@ This documentation provides comprehensive information about using the NOMYO Secure Python Chat Client, a drop-in replacement for OpenAI's ChatCompletion API with end-to-end (E2E) encryption. To use this client library you need a paid subscribtion on [NOMYO Inference](https://chat.nomyo.ai/). +![Inference Image](./secure-inference.jpg) + ## Overview The NOMYO Secure Client provides: diff --git a/doc/secure-inference.jpg b/doc/secure-inference.jpg new file mode 100644 index 0000000000000000000000000000000000000000..70c6fd1b98da80ea4e60aadf934cd2f17a65ae8f GIT binary patch literal 186024 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%0Doxm#h^~!1+SuH{L(d*MC*}2lihmf2#ei`#%I; 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 Date: Mon, 13 Apr 2026 17:48:10 +0200 Subject: [PATCH 3/7] fix: revert workflows to reach any platform and any arch --- .forgejo/workflows/publish.yml | 28 +++++++--------------------- pyproject.toml | 11 +++++++---- setup.py | 31 ------------------------------- 3 files changed, 14 insertions(+), 56 deletions(-) delete mode 100644 setup.py diff --git a/.forgejo/workflows/publish.yml b/.forgejo/workflows/publish.yml index 17f700c..9fdee68 100644 --- a/.forgejo/workflows/publish.yml +++ b/.forgejo/workflows/publish.yml @@ -7,16 +7,10 @@ on: workflow_dispatch: jobs: - build-and-publish: - name: Build & Publish (${{ matrix.runner }}, py${{ matrix.python }}) - runs-on: ${{ matrix.runner }} + publish: + runs-on: docker-amd64 container: - image: python:${{ matrix.python }}-bookworm - - strategy: - matrix: - python: ["3.10", "3.11", "3.12"] - runner: [docker-amd64, docker-arm64] + image: python:3.12-bookworm steps: - name: Checkout repository @@ -26,21 +20,13 @@ jobs: . - name: Install build tools - run: | - apt-get update -qq && apt-get install -y patchelf - pip install build Cython twine auditwheel + run: pip install build twine - - name: Build wheel - run: python -m build --wheel - - - name: Repair wheel to manylinux - run: auditwheel repair dist/*.whl --wheel-dir wheelhouse/ - - - name: Check wheel metadata - run: twine check wheelhouse/*.whl + - name: Build package + run: python -m build - name: Publish to PyPI env: TWINE_USERNAME: __token__ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} - run: twine upload --verbose wheelhouse/*.whl + run: twine upload dist/* diff --git a/pyproject.toml b/pyproject.toml index e0902c3..681ba9a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] -requires = ["setuptools>=68", "wheel", "Cython>=3.0"] -build-backend = "setuptools.build_meta" +requires = ["hatchling>=1.0.0", "wheel"] +build-backend = "hatchling.build" [project] name = "nomyo" @@ -46,5 +46,8 @@ Documentation = "https://bitfreedom.net/code/nomyo-ai/nomyo/wiki/NOMYO-Secure-Cl Repository = "https://bitfreedom.net/code/nomyo-ai/nomyo" Issues = "https://bitfreedom.net/code/nomyo-ai/nomyo/issues" -[tool.setuptools.packages.find] -include = ["nomyo*"] +[tool.hatch.build.targets.wheel] +packages = ["nomyo"] + +[tool.hatch.build.targets.sdist] +exclude = ["test/", "build.sh", "dist/"] diff --git a/setup.py b/setup.py deleted file mode 100644 index 92d0bd3..0000000 --- a/setup.py +++ /dev/null @@ -1,31 +0,0 @@ -from setuptools import setup -from setuptools.command.build_py import build_py as _build_py -from Cython.Build import cythonize - -# Modules compiled to .so — exclude their .py source from the wheel -COMPILED_MODULES = {"nomyo", "SecureCompletionClient", "SecureMemory"} - - -class BuildPyNoPy(_build_py): - """Skip copying .py source files for cythonized modules.""" - - def find_package_modules(self, package, package_dir): - modules = super().find_package_modules(package, package_dir) - return [ - (pkg, mod, path) - for pkg, mod, path in modules - if not (pkg == "nomyo" and mod in COMPILED_MODULES) - ] - - -setup( - ext_modules=cythonize( - [ - "nomyo/nomyo.py", - "nomyo/SecureCompletionClient.py", - "nomyo/SecureMemory.py", - ], - compiler_directives={"language_level": "3"}, - ), - cmdclass={"build_py": BuildPyNoPy}, -) From 93adb6c45c8cf89227b359f94622ca227bcef3a5 Mon Sep 17 00:00:00 2001 From: alpha nerd Date: Wed, 15 Apr 2026 12:08:21 +0200 Subject: [PATCH 4/7] feat: add automatic client retry logic with exponential backoff --- README.md | 6 +- doc/api-reference.md | 11 +++- doc/rate-limits.md | 20 +++--- nomyo/SecureCompletionClient.py | 106 ++++++++++++++++++-------------- nomyo/__init__.py | 2 +- nomyo/nomyo.py | 6 +- pyproject.toml | 2 +- 7 files changed, 87 insertions(+), 66 deletions(-) diff --git a/README.md b/README.md index 1846d2e..c10b898 100644 --- a/README.md +++ b/README.md @@ -349,7 +349,8 @@ SecureChatCompletion( base_url: str = "https://api.nomyo.ai", allow_http: bool = False, api_key: Optional[str] = None, - secure_memory: bool = True + secure_memory: bool = True, + max_retries: int = 2 ) ``` @@ -359,6 +360,7 @@ SecureChatCompletion( - `allow_http`: Allow HTTP connections (ONLY for local development, never in production) - `api_key`: Optional API key for bearer authentication - `secure_memory`: Enable secure memory protection (default: True) +- `max_retries`: Retries on retryable errors (429, 500, 502, 503, 504, network errors) with exponential backoff. Default: 2 #### Methods @@ -370,7 +372,7 @@ SecureChatCompletion( #### Constructor ```python -SecureCompletionClient(router_url: str = "https://api.nomyo.ai") +SecureCompletionClient(router_url: str = "https://api.nomyo.ai", allow_http: bool = False, max_retries: int = 2) ``` #### Methods diff --git a/doc/api-reference.md b/doc/api-reference.md index 439e471..363c865 100644 --- a/doc/api-reference.md +++ b/doc/api-reference.md @@ -11,7 +11,8 @@ SecureChatCompletion( base_url: str = "https://api.nomyo.ai", allow_http: bool = False, api_key: Optional[str] = None, - secure_memory: bool = True + secure_memory: bool = True, + max_retries: int = 2 ) ``` @@ -21,6 +22,7 @@ SecureChatCompletion( - `allow_http` (bool): Allow HTTP connections (ONLY for local development, never in production) - `api_key` (Optional[str]): Optional API key for bearer authentication - `secure_memory` (bool): Enable secure memory protection (default: True) +- `max_retries` (int): Number of retries on retryable errors (429, 500, 502, 503, 504, network errors). Uses exponential backoff. Default: 2 ### Methods @@ -92,13 +94,18 @@ The `SecureCompletionClient` class handles the underlying encryption, key manage ### Constructor ```python -SecureCompletionClient(router_url: str = "https://api.nomyo.ai", allow_http: bool = False) +SecureCompletionClient( + router_url: str = "https://api.nomyo.ai", + allow_http: bool = False, + max_retries: int = 2 +) ``` **Parameters:** - `router_url` (str): Base URL of the NOMYO Router (must use HTTPS for production) - `allow_http` (bool): Allow HTTP connections (ONLY for local development, never in production) +- `max_retries` (int): Number of retries on retryable errors (429, 500, 502, 503, 504, network errors). Uses exponential backoff. Default: 2 ### Methods diff --git a/doc/rate-limits.md b/doc/rate-limits.md index 7d9f85c..2c18da2 100644 --- a/doc/rate-limits.md +++ b/doc/rate-limits.md @@ -48,20 +48,14 @@ HTTP/1.1 503 Service Unavailable - **Implement exponential backoff** when you receive a `429` response. Start with a short delay (e.g. 500 ms) and double it on each subsequent failure, up to a reasonable maximum. - **Monitor for `503` responses** — repeated occurrences indicate that your usage pattern is triggering the abuse threshold. Refactor your request logic before the cool-down expires. -## Example: Exponential Backoff +## Retry Behaviour + +The client retries automatically on `429`, `500`, `502`, `503`, `504`, and network errors using exponential backoff (1 s, 2 s, …). The default is **2 retries**. You can raise or disable this per client: ```python -import asyncio -import httpx +# More retries for high-throughput workloads +client = SecureChatCompletion(api_key="...", max_retries=5) -async def request_with_backoff(client, *args, max_retries=5, **kwargs): - delay = 0.5 - for attempt in range(max_retries): - response = await client.create(*args, **kwargs) - if response.status_code == 429: - await asyncio.sleep(delay) - delay = min(delay * 2, 30) - continue - return response - raise RuntimeError("Rate limit exceeded after maximum retries") +# Disable retries entirely +client = SecureChatCompletion(api_key="...", max_retries=0) ``` diff --git a/nomyo/SecureCompletionClient.py b/nomyo/SecureCompletionClient.py index ee81942..4c1d96d 100644 --- a/nomyo/SecureCompletionClient.py +++ b/nomyo/SecureCompletionClient.py @@ -1,4 +1,4 @@ -import ctypes, json, base64, urllib.parse, httpx, os, secrets, sys, warnings, logging +import asyncio, ctypes, json, base64, urllib.parse, httpx, os, secrets, sys, warnings, logging from typing import Dict, Any, Optional from cryptography.hazmat.primitives import serialization, hashes from cryptography.hazmat.primitives.asymmetric import rsa, padding @@ -76,7 +76,7 @@ class SecureCompletionClient: - Response parsing """ - def __init__(self, router_url: str = "https://api.nomyo.ai", allow_http: bool = False, secure_memory: bool = True): + def __init__(self, router_url: str = "https://api.nomyo.ai", allow_http: bool = False, secure_memory: bool = True, max_retries: int = 2): """ Initialize the secure completion client. @@ -84,6 +84,9 @@ class SecureCompletionClient: router_url: Base URL of the NOMYO Router (must use HTTPS for production) allow_http: Allow HTTP connections (ONLY for local development, never in production) secure_memory: Whether to use secure memory operations for this instance. + max_retries: Number of retries on retryable errors (429, 500, 502, 503, 504, + network errors). Uses exponential backoff. Default 2, matching + the OpenAI Python SDK default. """ self.router_url = router_url.rstrip('/') self.private_key = None @@ -91,6 +94,7 @@ class SecureCompletionClient: self.key_size = 4096 # RSA key size self.allow_http = allow_http # Store for use in fetch_server_public_key self._use_secure_memory = _SECURE_MEMORY_AVAILABLE and secure_memory + self.max_retries = max_retries # Validate HTTPS for security if not self.router_url.startswith("https://"): @@ -659,13 +663,22 @@ class SecureCompletionClient: url = f"{self.router_url}/v1/chat/secure_completion" logger.debug("Target URL: %s", url) - try: - async with httpx.AsyncClient(timeout=60.0) as client: - response = await client.post( - url, - headers=headers, - content=encrypted_payload - ) + _RETRYABLE_STATUS_CODES = {429, 500, 502, 503, 504} + last_exc: Exception = APIConnectionError("Request failed") + + for attempt in range(self.max_retries + 1): + if attempt > 0: + delay = 2 ** (attempt - 1) # 1s, 2s, 4s, … + logger.warning("Retrying request (attempt %d/%d) after %.1fs...", attempt, self.max_retries, delay) + await asyncio.sleep(delay) + + try: + async with httpx.AsyncClient(timeout=60.0) as client: + response = await client.post( + url, + headers=headers, + content=encrypted_payload + ) logger.debug("HTTP Status: %d", response.status_code) @@ -676,7 +689,6 @@ class SecureCompletionClient: return decrypted_response elif response.status_code == 400: - # Bad request try: error = response.json() raise InvalidRequestError( @@ -688,7 +700,6 @@ class SecureCompletionClient: raise InvalidRequestError("Bad request: Invalid response format") elif response.status_code == 401: - # Unauthorized - authentication failed try: error = response.json() error_message = error.get('detail', 'Invalid API key or authentication failed') @@ -701,7 +712,6 @@ class SecureCompletionClient: raise AuthenticationError("Invalid API key or authentication failed") elif response.status_code == 403: - # Forbidden - model not allowed for security tier try: error = response.json() raise ForbiddenError( @@ -713,7 +723,6 @@ class SecureCompletionClient: raise ForbiddenError("Forbidden: Model not allowed for the requested security tier") elif response.status_code == 404: - # Endpoint not found try: error = response.json() raise APIError( @@ -724,44 +733,47 @@ class SecureCompletionClient: except (json.JSONDecodeError, ValueError): raise APIError("Endpoint not found: Secure inference not enabled") - elif response.status_code == 429: - # Rate limit exceeded + elif response.status_code in _RETRYABLE_STATUS_CODES: try: error = response.json() - raise RateLimitError( - f"Rate limit exceeded: {error.get('detail', 'Too many requests')}", + if not isinstance(error, dict): + error = {"detail": "unknown"} + detail_msg = error.get("detail", "unknown") + except (json.JSONDecodeError, ValueError): + error = {} + detail_msg = "unknown" + + if response.status_code == 429: + last_exc = RateLimitError( + f"Rate limit exceeded: {detail_msg}", status_code=429, error_details=error ) - except (json.JSONDecodeError, ValueError): - raise RateLimitError("Rate limit exceeded: Too many requests") - - elif response.status_code == 500: - # Server error - try: - error = response.json() - raise ServerError( - f"Server error: {error.get('detail', 'Internal server error')}", + elif response.status_code == 500: + last_exc = ServerError( + f"Server error: {detail_msg}", status_code=500, error_details=error ) - except (json.JSONDecodeError, ValueError): - raise ServerError("Server error: Internal server error") - - elif response.status_code == 503: - # Service unavailable - inference backend is down - try: - error = response.json() - raise ServiceUnavailableError( - f"Service unavailable: {error.get('detail', 'Inference backend is unavailable')}", + elif response.status_code == 503: + last_exc = ServiceUnavailableError( + f"Service unavailable: {detail_msg}", status_code=503, error_details=error ) - except (json.JSONDecodeError, ValueError): - raise ServiceUnavailableError("Service unavailable: Inference backend is unavailable") + else: + last_exc = APIError( + f"Unexpected status code: {response.status_code} {detail_msg}", + status_code=response.status_code, + error_details=error + ) + + if attempt < self.max_retries: + logger.warning("Got retryable status %d: %s", response.status_code, detail_msg) + continue + raise last_exc else: - # Unexpected status code try: unexp_detail = response.json() if not isinstance(unexp_detail, dict): @@ -774,13 +786,17 @@ class SecureCompletionClient: status_code=response.status_code ) - except httpx.NetworkError as e: - raise APIConnectionError(f"Failed to connect to router: {e}") - except (SecurityError, APIError, AuthenticationError, InvalidRequestError, ForbiddenError, RateLimitError, ServerError, ServiceUnavailableError, APIConnectionError): - raise # Re-raise known exceptions - except Exception: - logger.exception("Unexpected error in send_secure_request") - raise APIConnectionError("Request failed due to an unexpected error") + except httpx.NetworkError as e: + last_exc = APIConnectionError(f"Failed to connect to router: {e}") + if attempt < self.max_retries: + logger.warning("Network error on attempt %d: %s", attempt, e) + continue + raise last_exc + except (SecurityError, APIError, AuthenticationError, InvalidRequestError, ForbiddenError, RateLimitError, ServerError, ServiceUnavailableError, APIConnectionError): + raise # Non-retryable — propagate immediately + except Exception: + logger.exception("Unexpected error in send_secure_request") + raise APIConnectionError("Request failed due to an unexpected error") def _validate_rsa_key(self, key, key_type: str = "private") -> None: """ diff --git a/nomyo/__init__.py b/nomyo/__init__.py index 0a81157..5773045 100644 --- a/nomyo/__init__.py +++ b/nomyo/__init__.py @@ -51,6 +51,6 @@ try: except ImportError: pass -__version__ = "0.2.5" +__version__ = "0.2.6" __author__ = "NOMYO AI" __license__ = "Apache-2.0" diff --git a/nomyo/nomyo.py b/nomyo/nomyo.py index 682997b..95709b2 100644 --- a/nomyo/nomyo.py +++ b/nomyo/nomyo.py @@ -52,7 +52,7 @@ class SecureChatCompletion: ``` """ - def __init__(self, base_url: str = "https://api.nomyo.ai", allow_http: bool = False, api_key: Optional[str] = None, secure_memory: bool = True, key_dir: Optional[str] = None): + def __init__(self, base_url: str = "https://api.nomyo.ai", allow_http: bool = False, api_key: Optional[str] = None, secure_memory: bool = True, key_dir: Optional[str] = None, max_retries: int = 2): """ Initialize the secure chat completion client. @@ -68,8 +68,10 @@ class SecureChatCompletion: Set to False for testing or when security is not required. key_dir: Directory to load/save RSA keys. If None, ephemeral keys are generated in memory for this session only. + max_retries: Number of retries on retryable errors (429, 500, 502, 503, 504, + network errors). Uses exponential backoff. Default 2. """ - self.client = SecureCompletionClient(router_url=base_url, allow_http=allow_http, secure_memory=secure_memory) + self.client = SecureCompletionClient(router_url=base_url, allow_http=allow_http, secure_memory=secure_memory, max_retries=max_retries) self._keys_initialized = False self._keys_lock = asyncio.Lock() self.api_key = api_key diff --git a/pyproject.toml b/pyproject.toml index 681ba9a..5576a31 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "nomyo" -version = "0.2.5" +version = "0.2.6" description = "OpenAI-compatible secure chat client with end-to-end encryption for NOMYO Inference Endpoints" authors = [ {name = "NOMYO.AI", email = "ichi@nomyo.ai"}, From 1fad4f15f07af79853a85810a06a1dc942c999ab Mon Sep 17 00:00:00 2001 From: alpha nerd Date: Fri, 17 Apr 2026 17:59:14 +0200 Subject: [PATCH 5/7] doc: demo credentials updated --- README.md | 11 +++++++++++ doc/getting-started.md | 28 ++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/README.md b/README.md index c10b898..32c6c81 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,17 @@ ## 🚀 Quick Start +### 0. Try It Now (Demo Credentials) + +No account needed — use these public demo credentials to test immediately: + +| | | +|---|---| +| **API key** | `NOMYO_AI_E2EE_INFERENCE` | +| **Model** | `Qwen/Qwen3-0.6B` | + +> **Note:** The demo endpoint uses a fixed 256-token context window and is intended for evaluation only. + ### 1. Install methods via pip (recommended): diff --git a/doc/getting-started.md b/doc/getting-started.md index 4ccdf82..1cf78a4 100644 --- a/doc/getting-started.md +++ b/doc/getting-started.md @@ -1,5 +1,33 @@ # Getting Started +## Try It Now (Demo Credentials) + +You can test the client immediately using these public demo credentials — no sign-up required: + +| | | +|---|---| +| **API key** | `NOMYO_AI_E2EE_INFERENCE` | +| **Model** | `Qwen/Qwen3-0.6B` | + +> **Note:** The demo endpoint uses a fixed 256-token context window and is intended for evaluation only. + +```python +import asyncio +from nomyo import SecureChatCompletion + +async def main(): + client = SecureChatCompletion(api_key="NOMYO_AI_E2EE_INFERENCE") + + response = await client.create( + model="Qwen/Qwen3-0.6B", + messages=[{"role": "user", "content": "Hello!"}] + ) + + print(response['choices'][0]['message']['content']) + +asyncio.run(main()) +``` + ## Basic Usage The NOMYO client provides end-to-end encryption (E2E) for all communications between your application and the NOMYO inference endpoints. This ensures that your prompts and responses are protected from unauthorized access or interception. From e440a7c43b6234864cd8d6a105d7fd3fefc9634a Mon Sep 17 00:00:00 2001 From: alpha nerd Date: Sat, 18 Apr 2026 15:38:03 +0200 Subject: [PATCH 6/7] fix: adding missing import doc: added TPM attestation related information --- doc/api-reference.md | 20 +++++++++ doc/security-guide.md | 79 ++++++++++++++++++++++++++++++++- nomyo/SecureCompletionClient.py | 2 +- 3 files changed, 99 insertions(+), 2 deletions(-) diff --git a/doc/api-reference.md b/doc/api-reference.md index 363c865..1069082 100644 --- a/doc/api-reference.md +++ b/doc/api-reference.md @@ -75,10 +75,30 @@ A dictionary containing the chat completion response with the following structur "prompt_tokens": int, "completion_tokens": int, "total_tokens": int + }, + "_metadata": { + "payload_id": str, + "processed_at": int, # Unix timestamp + "is_encrypted": bool, + "response_status": str, + "security_tier": str, # "standard", "high", or "maximum" + "memory_protection": dict, # server-side memory protection info + "cuda_device": dict, # privacy-safe GPU info (hashed identifiers) + "tpm_attestation": { # TPM 2.0 hardware attestation (see Security Guide) + "is_available": bool, + # Present only when is_available is True: + "pcr_banks": str, # e.g. "sha256:0,7,10" + "pcr_values": dict, # {bank: {pcr_index: hex_digest}} + "quote_b64": str, # base64-encoded TPMS_ATTEST (signed by AIK) + "signature_b64": str, # base64-encoded TPMT_SIGNATURE + "aik_pubkey_b64": str, # base64-encoded TPM2B_PUBLIC (ephemeral AIK) + } } } ``` +The `_metadata` field is added by the client library and is not part of the OpenAI API response format. See the [Security Guide](security-guide.md) for how to interpret and verify `tpm_attestation`. + #### acreate(model, messages, **kwargs) Async alias for create() method. diff --git a/doc/security-guide.md b/doc/security-guide.md index 6c34f71..6e4abdc 100644 --- a/doc/security-guide.md +++ b/doc/security-guide.md @@ -162,6 +162,81 @@ Secure memory features: - Guarantees zeroing of sensitive memory - Prevents memory dumps from containing sensitive data +## Hardware Attestation (TPM 2.0) + +### What it is + +When the server has a TPM 2.0 chip, every response includes a `tpm_attestation` block in `_metadata`. This is a cryptographically signed hardware quote proving: + +- Which firmware and Secure Boot state the server is running (PCR 0, 7) +- Which application binary is running, when IMA is active (PCR 10) + +The quote is signed by an ephemeral AIK (Attestation Identity Key) generated fresh for each request and tied to the `payload_id` nonce, so it cannot be replayed for a different request. + +### Reading the attestation + +```python +response = await client.create( + model="Qwen/Qwen3-0.6B", + messages=[{"role": "user", "content": "..."}], + security_tier="maximum" +) + +tpm = response["_metadata"].get("tpm_attestation", {}) + +if tpm.get("is_available"): + print("PCR banks:", tpm["pcr_banks"]) # e.g. "sha256:0,7,10" + print("PCR values:", tpm["pcr_values"]) # {bank: {index: hex}} + print("AIK key:", tpm["aik_pubkey_b64"][:32], "...") +else: + print("TPM not available on this server") +``` + +### Verifying the quote + +The response is self-contained: `aik_pubkey_b64` is the full public key of the AIK that signed the quote, so no separate key-fetch round-trip is needed. + +Verification steps using `tpm2-pytss`: + +```python +import base64 +from tpm2_pytss.types import TPM2B_PUBLIC, TPMT_SIGNATURE, TPM2B_ATTEST + +# 1. Decode the quote components +aik_pub = TPM2B_PUBLIC.unmarshal(base64.b64decode(tpm["aik_pubkey_b64"]))[0] +quote = TPM2B_ATTEST.unmarshal(base64.b64decode(tpm["quote_b64"]))[0] +sig = TPMT_SIGNATURE.unmarshal(base64.b64decode(tpm["signature_b64"]))[0] + +# 2. Verify the signature over the quote using the AIK public key +# (use a TPM ESAPI verify_signature call or an offline RSA verify) + +# 3. Inspect the qualifying_data inside the quote — it must match +# SHA-256(payload_id.encode())[:16] to confirm this quote is for this request + +# 4. Check pcr_values against your known-good baseline +``` + +> Full verification requires `tpm2-pytss` on the client side (`pip install tpm2-pytss` + `sudo apt install libtss2-dev`). It is optional — the attestation is informational unless your deployment policy requires verification. + +### Behaviour per security tier + +| Tier | TPM unavailable | +|------|----------------| +| `standard` | `tpm_attestation: {"is_available": false}` — request proceeds | +| `high` | same as standard | +| `maximum` | `ServiceUnavailableError` (HTTP 503) — request rejected | + +For `maximum` tier, the server enforces TPM availability as a hard requirement. If your server has no TPM and you request `maximum`, catch the error explicitly: + +```python +from nomyo import ServiceUnavailableError + +try: + response = await client.create(..., security_tier="maximum") +except ServiceUnavailableError as e: + print("Server does not meet TPM requirements for maximum tier:", e) +``` + ## Compliance Considerations ### HIPAA Compliance @@ -207,9 +282,11 @@ response = await client.create( messages=[{"role": "user", "content": "Hello"}] ) -print(response["_metadata"]) # Contains security-related information +print(response["_metadata"]) # Contains security_tier, memory_protection, tpm_attestation, etc. ``` +See [Hardware Attestation](#hardware-attestation-tpm-20) for details on the `tpm_attestation` field. + ### Logging Enable logging to see security operations: diff --git a/nomyo/SecureCompletionClient.py b/nomyo/SecureCompletionClient.py index 4c1d96d..6aa5379 100644 --- a/nomyo/SecureCompletionClient.py +++ b/nomyo/SecureCompletionClient.py @@ -1,5 +1,5 @@ import asyncio, ctypes, json, base64, urllib.parse, httpx, os, secrets, sys, warnings, logging -from typing import Dict, Any, Optional +from typing import Dict, Any, Optional, Union from cryptography.hazmat.primitives import serialization, hashes from cryptography.hazmat.primitives.asymmetric import rsa, padding from cryptography.hazmat.backends import default_backend From 1330a1068f9ad5484e525c9c77d1d2a9fb8ce39d Mon Sep 17 00:00:00 2001 From: alpha nerd Date: Sat, 18 Apr 2026 15:48:21 +0200 Subject: [PATCH 7/7] bump: version --- nomyo/__init__.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nomyo/__init__.py b/nomyo/__init__.py index 5773045..6fb55fe 100644 --- a/nomyo/__init__.py +++ b/nomyo/__init__.py @@ -51,6 +51,6 @@ try: except ImportError: pass -__version__ = "0.2.6" +__version__ = "0.2.7" __author__ = "NOMYO AI" __license__ = "Apache-2.0" diff --git a/pyproject.toml b/pyproject.toml index 5576a31..d0f08cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "nomyo" -version = "0.2.6" +version = "0.2.7" description = "OpenAI-compatible secure chat client with end-to-end encryption for NOMYO Inference Endpoints" authors = [ {name = "NOMYO.AI", email = "ichi@nomyo.ai"},