nopaque - Python SDK for Nopaque
Official Python client for the Nopaque API.
Install
pip install nopaque
Quick start
from nopaque import Nopaque
from nopaque.models.mapping import MappingJobConfig
client = Nopaque(api_key="nop_live_...") # or set NOPAQUE_API_KEY
# Create a mapping job and wait for it to complete
job = client.mapping.create(
name="Main IVR",
phone_number="+441234567890",
config=MappingJobConfig(mapping_mode="dtmf"),
)
client.mapping.start(job.id)
final = client.mapping.wait_for_complete(job.id)
print(final.status)
# List audio files with automatic pagination
for audio in client.audio.list():
print(audio.id, audio.file_name)
client.close()
Async
import asyncio
from nopaque import AsyncNopaque
async def main():
async with AsyncNopaque() as client:
job = await client.mapping.get("map_abc123")
print(job.status)
asyncio.run(main())
Digital testing (beta)
Run automated chat-channel conversations against a bot and get a pass/fail verdict. Access is limited to beta workspaces during the beta period.
sector and mission are required — the API returns a 400 without them.
run = client.digital_testing.create(
target_ref="acme/billing-bot",
target={"transport": "web-widget", "url": "https://example.com/support"},
sector="utilities",
mission="check the outstanding balance",
kind="freeform",
acceptance="The bot states the outstanding balance.",
)
finished = client.digital_testing.wait_for_run(run.id)
# `completed` with outcome "fail" is a RESULT, not an error.
print(finished.status, finished.outcome, finished.pass_rate)
Reusable configs live under client.digital_test_configs
(create, list, get, update, delete, launch), and
client.digital_compliance lists compliance audits and fetches a per-target
report.
Voices
List the operator-enabled voices a mission test may use, and which one is the default.
voices = client.testing.list_voices()
for voice in voices.voices:
print(voice.voice_id, voice.name)
print("default:", voices.default_voice_id)
Features
- Full coverage of the Nopaque REST API via API-key auth
- Typed Pydantic v2 models for every request and response
- Paired sync (
Nopaque) and async (AsyncNopaque) clients - Automatic pagination for list endpoints
- Polling helpers for long-running jobs (
wait_for_complete) - One-call audio upload/download wrapping the presigned-URL flow
- Method-aware retry with exponential jitter and
Retry-Afterhonor - Typed exception hierarchy (
NotFoundError,RateLimitError, etc.)
Documentation
Full reference: https://nopaque.co.uk/docs/sdks
Authentication
Pass your API key to the client:
Nopaque(api_key="nop_live_...")
Or set the environment variable:
export NOPAQUE_API_KEY=nop_live_...
API keys are workspace-scoped and subject to per-minute rate limits based on your subscription tier. Free tier cannot use API keys.
Requirements
- Python 3.9+
httpx >= 0.27,pydantic >= 2.6
License
MIT
Release files for nopaque 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nopaque-0.4.0.tar.gz | 69.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nopaque-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 134.7 kB
Release files / nopaque-0.4.0.tar.gz
| Download URL | nopaque-0.4.0.tar.gz |
|---|---|
| Size | 69.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c22594862b68335dac50276d8b96bb3713c6be92848ede51e46f9d513e959839
|
|
BLAKE2b-256 checksum How to use checksums |
2506ebdf96139dbbab6142894a7ad2ff02dd1030ae50eff816a4bbd991844475
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 14, 2026.
Transparency logRelease files / nopaque-0.4.0-py3-none-any.whl
| Download URL | nopaque-0.4.0-py3-none-any.whl |
|---|---|
| Size | 65.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
03360b019b14a3d60ac8bf8a42f525b77543659e1468a60bd4cd65ac2738c3d9
|
|
BLAKE2b-256 checksum How to use checksums |
da366d94032736649696b7f6fa05d1164182acebbd4a626843a9c980a63bc300
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 14, 2026.
Transparency log