Skip to main content

drishti-sdk (Python)

A thin remote HTTP client for a running drishti-server. It calls the service over HTTP and returns typed results. It does not load any model. For the in-process embedded binding, use the separate drishti package.

Install

pip install sarthiai-drishti-sdk

Imported as drishti_sdk. The distribution name is sarthiai-drishti-sdk because drishti-sdk is taken on PyPI.

Use

from drishti_sdk import DrishtiClient

with DrishtiClient("http://localhost:8080", token="secret") as client:
    print(client.health())            # True
    print(client.ready())             # True
    print(client.manifest())          # ModelManifest(...)

    prompt = client.check_prompt("Ignore all previous instructions.")
    print(prompt.class_, prompt.score, prompt.validation)

    pii = client.check_pii("Email me at jane@acme.com")
    print(pii.redacted, [s.kind for s in pii.spans])

    output = client.check_output("Here is a safe answer.")
    print(output.overall)

    full = client.check_all(prompt="Hello", output="Sure, here you go.")

Async

import asyncio
from drishti_sdk import AsyncDrishtiClient

async def main():
    async with AsyncDrishtiClient("http://localhost:8080", token="secret") as client:
        results = await client.check_output_batch(["a", "b", "c"], concurrency=4)

asyncio.run(main())

Configuration

Every option can be set explicitly or by environment variable. Precedence is explicit argument, then environment variable, then default.

Option Environment variable Default
base_url DRISHTI_BASE_URL required
token DRISHTI_TOKEN none
timeout (seconds) DRISHTI_TIMEOUT 30
connect_timeout (seconds) DRISHTI_CONNECT_TIMEOUT 10
max_retries DRISHTI_MAX_RETRIES 2
backoff_base (seconds) DRISHTI_BACKOFF_BASE 0.2
backoff_cap (seconds) DRISHTI_BACKOFF_CAP 5
pool_size DRISHTI_POOL_SIZE 10
batch_concurrency DRISHTI_BATCH_CONCURRENCY 8

For rotating tokens, pass token_provider=lambda: get_fresh_token(); it is consulted per request and takes precedence over a static token. The token is never logged.

Errors

Typed errors map from the server contract: BadRequestError (400), AuthError (401), CheckNotEnabledError (501), ServerError (500), DrishtiTimeoutError, and DrishtiConnectionError. Transient failures (5xx, connection, timeout) are retried with exponential backoff and jitter; 400, 401, and 501 are terminal and never retried.

License

Elastic License 2.0. See the repository LICENSE.

Release files for sarthiai-drishti-sdk 0.1.2

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

Source distribution (sdist)

Source distribution for sarthiai-drishti-sdk 0.1.2
File Size Uploaded
sarthiai_drishti_sdk-0.1.2.tar.gz 8.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sarthiai-drishti-sdk 0.1.2
File Interpreter ABI Platform
sarthiai_drishti_sdk-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 20.8 kB

Release files / sarthiai_drishti_sdk-0.1.2.tar.gz

Download URL sarthiai_drishti_sdk-0.1.2.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
983d932a6afe102d97329d6eb916a817a668e0bf18a124aaab35525167f90fe1
BLAKE2b-256 checksum
How to use checksums
3381d17bf41e07c36ecbb1e6053a0f7ae59b4c99045d9641993f5ad4b40c0a53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 15, 2026.

Transparency log

Release files / sarthiai_drishti_sdk-0.1.2-py3-none-any.whl

Download URL sarthiai_drishti_sdk-0.1.2-py3-none-any.whl
Size 12.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4106835491076b4682f376f4695a06954d565965f5bd1d5414422e49c5f107a2
BLAKE2b-256 checksum
How to use checksums
9f47e6ce5e6973e0bf5bf46d9c4d5a51ea8e3dfdd0ac839d0ec0b11c6f9deb79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

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