Skip to main content

specstream-client

pip install specstream-client (the specstream package on PyPI is a different project)

Python client and command line for SpecStream, the live web data engine for teams and agents. Describe the list you need in plain words; SpecStream reads the web where those things live, hands back only the matches, each with the page it came from, and you pay only for the matches.

The client has no dependencies and needs Python 3.12 or newer. It uses the same account, permissions, projects and balance as the workspace.

pip install specstream-client

The package installs the import name specstream and the command specstream.

Create an API key under Agents & API in your SpecStream workspace and keep it in the environment:

export SPECSTREAM_API_KEY="ss_live_..."

Read a request, get the price

import os
from specstream_client import Client

client = Client(os.environ["SPECSTREAM_API_KEY"])

read = client.compile("Open-source document-signing tools I can self-host. Include the license and latest release.")
offer = client.quote_capacity_work({
    "ast_hash": read["ast_hash"],
    "operation": "find",
    "requested_units": read["ast"]["limit"]["max"],
})
print(offer["maximum_cents"], offer["expires_at"])

Nothing has run yet. Review the quote: what will be found, the facts that come back, the most the work can cost, and when the price expires. A price lasts 30 minutes.

Approve it, then read the results

After a person approves, send the approved maximum in cents and a request key you saved first:

run = client.authorize_capacity_work({
    "quote_id": offer["quote_id"],
    "quote_hash": offer["quote_hash"],
    "confirm_max_cents": approved_maximum_cents,
    "idempotency_key": saved_request_key,
})
find_id = run["find_id"]

page = client.rows(find_id)
for row in page["rows"]:
    print(row)

If the response is lost, get_capacity_request(saved_request_key) returns the same work. Keep the original key when you retry, and you will not pay twice. get_find reports progress, and rows pages through results with next_cursor. Reading, exporting and sharing results you own cost nothing.

authorize_capacity_work refuses to send anything unless the quote, its signature, the maximum and the key are all present.

More than a first request

  • quote_capacity_work also prices extend (more results), add_facts and refresh (a recheck, at half price) on a finished run. Pass the original parent_find_id.
  • spec_options(kind) lists the facts you can ask for, per kind of thing. edit_spec changes a request without rereading it.
  • create_capacity_schedule keeps a request current, hourly to yearly, inside per-run and per-period limits.
  • export and download_export give CSV, XLSX, JSON or HTML. create_customer_webhook sends signed events.
  • Projects, members, shares and starred items have their own methods.

Kinds of thing include local businesses, companies, people, creators, products, apps, job postings, papers, clinical trials, grants, tenders, regulations, vulnerabilities, software packages, repositories, datasets, books and podcasts.

Command line

specstream compile "Food banks in Texas, with their annual revenue."
specstream get-capacity-balance
specstream quote-capacity-work --body quote-request.json
specstream authorize-capacity-work --body approved-execution.json
specstream rows --find-id FIND_ID

--body takes a JSON file or - for stdin. Every command's --help describes its parameters. The command line exposes the same operations as the client.

Pricing

New accounts start with $10 of work for 30 days, no card. A delivered result costs 10 cents, 30 cents or $1 depending on how many facts it carries. No result, no charge. Rechecks cost half. People and agents share one balance. See pricing.

MIT license.

Metadata

Release files for specstream-client 1.1.1

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

Source distribution (sdist)

Source distribution for specstream-client 1.1.1
File Size Uploaded Provenance Actions
specstream_client-1.1.1.tar.gz 29.4 kB Without provenance Details for specstream_client-1.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for specstream-client 1.1.1
File Interpreter ABI Platform Actions
specstream_client-1.1.1-py3-none-any.whl Python 3 none any Details for specstream_client-1.1.1-py3-none-any.whl

Total release size: 57.4 kB

Release files / specstream_client-1.1.1.tar.gz

Download URL specstream_client-1.1.1.tar.gz
Size 29.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e7af8bd481647574647fd6e921911aac3b6e5519cd1bb1cb52425fb800bbb96d
BLAKE2b-256 checksum
How to use checksums
c0441fc350be6518670109aaf3f7a77460077c2528a309a6c633f636ffa2ea73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / specstream_client-1.1.1-py3-none-any.whl

Download URL specstream_client-1.1.1-py3-none-any.whl
Size 28.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
414e4f53e4e47d1e0ce6b5369454c4b0dfa2e4855880edf87142f55614cc6bd4
BLAKE2b-256 checksum
How to use checksums
e13d99769c38cae71219a0a01a2ce8abab94559be533b1269e5137f1b1b604d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Security for specstream-client 1.1.1

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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