Skip to main content

NoResponse Python SDK

Install it with pip install noresponse (Python 3.11 or later) and import noresponse_sdk. To work on the SDK, install it from source with pip install -e sdks/python and run python -m unittest discover -s sdks/python/tests -v.

import os
from noresponse_sdk import Client

client = Client(
    api_key=os.environ["NORESPONSE_API_KEY"],
    base_url=os.environ["NORESPONSE_API_URL"],  # https://api.noresponse.org in production
)
assessment = client.assess_signup(
    account_id="usr_123",
    email="person@example.com",   # email, username or phone: at least one
    name="Jane A. Doe",           # optional, used only for matching
    ip="73.162.18.45",            # optional, the signup's public IP
    idempotency_key="signup-usr_123-0000001",
)
# Pending means no recommendation: never allow. Enforce your own fallback policy.

client.assess(account_id=..., identifiers={...}, idempotency_key=...) takes the identifiers mapping directly (email, username, phone, name, ip). Also supports client.get_assessment(assessment_id) and client.query_assessments(account_id=..., limit=..., cursor=...); each takes response_mode="detailed" (with the detailed key scope) to add risk.details and signals, and refuses raw.

For signed webhooks call verify_webhook(raw_body, list_of_raw_header_pairs, secrets_by_key_id). It checks the v1= HMAC-SHA256 signature over the raw bytes, the 300-second window and the event id, refuses repeated or case-variant headers, and returns the typed WebhookEvent. An assessment.updated event's data is the full assessment as get_assessment returns it; webhook_assessment(event) returns it as a typed Assessment. webhook_verification_response(event) echoes a verified registration challenge.

Only call the API from a trusted backend. All recommendations are advisory and not calibrated probabilities. The SDK does not turn a timeout, pending assessment, blocked source or absence of evidence into an allow decision. See example rules for turning an assessment into an action.

Every request, response, summary, detail, signal and webhook type is a TypedDict in noresponse_sdk.generated_models, generated from the provider OpenAPI contract. See provider onboarding for key rotation, webhook verification, retries and staging setup.

Metadata

Release files for noresponse 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for noresponse 1.0.0
File Size Uploaded Provenance
noresponse-1.0.0.tar.gz 17.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for noresponse 1.0.0
File Interpreter ABI Platform
noresponse-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 30.5 kB

Release files / noresponse-1.0.0.tar.gz

Download URL noresponse-1.0.0.tar.gz
Size 17.6 kB
Tags Source
SHA-256 checksum
How to use checksums
76f9a9d08da3d14e0966cb07a3ca9aa4dac6c9b7f1863732595a41d33295ac65
BLAKE2b-256 checksum
How to use checksums
9b75350f199df634f4b3768f8d6c3fa13a4ecd496e4fb81a0c0b54d0a84d43f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / noresponse-1.0.0-py3-none-any.whl

Download URL noresponse-1.0.0-py3-none-any.whl
Size 13.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d44afb624dff1be7b5aeeb4684e6ff1aa5de5766dd8797bdb056d54887254101
BLAKE2b-256 checksum
How to use checksums
78dc0919127127e9e1a6c513a3728bb240160fd4b790bd423f3e963232403349
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Security for noresponse 1.0.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page