NOSIBLE Python SDK
nosible is the official synchronous Python SDK for NOSIBLE's worldwide
web-surveillance platform. It provides SEARCH for retrieving dated, ranked
web sources and WORLD for accessing structured, point-in-time verified
events for models, research, and backtesting.
Version 0.4.0 supports every SEARCH v2.1
endpoint and exposes WORLD through the
client.world namespace. Existing 0.3 Search models and convenience methods
remain available.
Installation
pip install "nosible==0.4.0"
Python 3.9 or newer is supported.
Authentication
Create an API key at app.nosible.com, then set
NOSIBLE_API_KEY or pass the key to the client.
$Env:NOSIBLE_API_KEY="nos_sk_..."
from nosible import Nosible
client = Nosible()
# Or: client = Nosible(nosible_api_key="nos_sk_...")
Search uses the api-key request header. Authenticated World routes use bearer
authentication. World version is public and always credential-free. Search
Schema and Markdown delivery requests are sent without credentials first; if a
deployment responds with an authentication error, the SDK retries once with
SDK-managed bearer authentication when an API key is configured. Credentials
configured on an injected HTTP client are replaced for every SDK request and
are never forwarded to presigned Bulk and Time Search download URLs.
Search v2.1
from nosible import Nosible
with Nosible() as client:
results = client.fast_search(
question="What is changing in semiconductor capacity?",
companies=["NVIDIA", "TSMC"],
collection="this-week",
deduplicate=True,
n_results=25
)
for result in results:
print(result.title, result.similarity, result.url)
The client covers all 11 Search endpoints:
searchfor Cybernaut agentic searchfast_searchandfast_searchesrich_searchbulk_searchtime_searchscrape_urltopic_trendsave_search,get_searches, anddelete_searchget_limits
Bulk and Time Search handle polling, Fernet decryption, and current Zstandard
or legacy gzip payloads. bulk_search returns a ResultSet; time_search
preserves the interval-bucket response. Transient download responses are
retried, and authentication configured on an injected httpx.Client is
explicitly disabled for presigned download hosts.
fast_searches accepts question strings, list[Search], or SearchSet.
Shared filters and retrieval options are applied consistently to every search
whose model does not override them. Non-null model values take precedence,
including False for the optional certain filter. Expansion generation is
enabled when either the batch or the individual model opts in. Requests run
concurrently up to the client's configured concurrency while results retain
input order.
For compatibility, Fast Search defaults to 100 results and 128 context tokens, while the service schema defaults are 10 and 256. Requests for fewer than 10 results are truncated locally.
World
from nosible import Nosible
with Nosible() as client:
page = client.world.entity_events(
entity_type="ORG",
name="NVIDIA",
from_="2026-07-01",
to="2026-07-20",
include="event_lite",
include_live=True
)
for event in page:
print(event.event_id, event.event["title"])
neighbors = client.world.similar_events(
date="2026-07-20",
event_id=page[0].event_id,
floor=0.35
)
client.world covers dated events, entity/ticker/ontology timelines, global
search and aggregation, resolve and metadata routes, dated search, event
details and coverage, snapshots, and all Markdown delivery routes.
WorldEvent and WorldEventPage preserve unknown fields so newer server
schemas can round-trip without data loss. Snippet does the same for Search
scrape payloads, including the distinction between an omitted field and an
explicit null.
Errors and custom transports
HTTP failures raise subclasses of NosibleAPIError, which remains a
ValueError for backwards compatibility. Errors expose status_code,
code, method, path, body, and retry_after.
An httpx.Client and alternate merged API origin can be injected for testing
or private deployments:
import httpx
from nosible import Nosible
http = httpx.Client()
client = Nosible(
base_url="https://staging.example/api",
http_client=http
)
client.close() # Does not close an injected client.
http.close()
Reference
Metadata
Release files for nosible 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 | |
|---|---|---|---|
| nosible-0.4.0.tar.gz | 51.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nosible-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 104.1 kB
Release files / nosible-0.4.0.tar.gz
| Download URL | nosible-0.4.0.tar.gz |
|---|---|
| Size | 51.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
456e5e457749a68ac7060fa47799ee44c41ef4aaf035b15c7f8ec1127e462606
|
|
BLAKE2b-256 checksum How to use checksums |
6b867939637e68e7d4356255b241fbc69f678971819e452f97829e8914423af0
|
| 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 7, 2026.
Transparency logRelease files / nosible-0.4.0-py3-none-any.whl
| Download URL | nosible-0.4.0-py3-none-any.whl |
|---|---|
| Size | 52.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b1f5aa6fcb8a1a5f506a661403fd673f0bcba1b1f7bab0be7f0905c473ae742b
|
|
BLAKE2b-256 checksum How to use checksums |
b4ace1b71dfb555c7de84758975e385416edec0d95df9db1653c4fb7dfd4c80a
|
| 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 7, 2026.
Transparency log