aether (Python)
Python client for the Aether REST API — SEC filings, earnings-call transcripts, and EU financial regulation, every hit a ready-to-cite payload (exact source text + accession-numbered citation
- sec.gov URL). Mirrors the TypeScript SDK at
../typescript.
Install
pip install evidinvest-aether-sdk
The rule: name the company, then narrow
Pass issuer on every call — {"ticker": …}, {"cik": …}, or
{"company_name": …} for non-US filers with no US ticker. Then read scope
and quality_caveat off the response: scope == "issuer" with no caveat is
the only guarantee you got a filtered answer. Omit the issuer and the call
searches every filer at once: slower, relevance-ranked only, and caveated.
Keep the company in issuer and the question in query. Putting the ticker in
the query text appears to work — the engine infers a filer — which is exactly
why it is risky: nothing errors when the guess is wrong.
Use
from aether import AetherClient
with AetherClient(api_key="ak_...") as aether:
# Unified — filings, JP/KR, EU regulation and earnings calls at once
out = aether.search(
query="data center revenue",
issuer={"ticker": "NVDA"},
fiscal_year=2027, # NVIDIA's OWN fiscal year: the year ending Jan 2027
limit=10,
)
if out.quality_caveat:
print(out.scope, out.quality_caveat)
for hit in out.results:
print(hit.corpus, hit.citation, hit.text[hit.body_offset or 0 :][:200])
# SEC filings (10-K/10-Q/8-K, prospectuses) + SE/JP/KR registries
filings = aether.financial_search(
query="supply-chain concentration risk",
issuer={"ticker": "AAPL"},
limit=5,
)
for c in filings.results:
start = c.body_offset or 0 # skip the EDGAR cover page
print(c.citation, "->", c.metadata.get("source_url"))
print(c.text[start : start + 200])
# Earnings calls — speaker-attributed, point-in-time
calls = aether.transcript_search(
query="Blackwell demand",
issuer={"ticker": "NVDA"},
order="earliest", # find the FIRST mention
limit=5,
)
print(calls.results[0].raw["speaker_name"], calls.results[0].raw["call_date"])
# EU regulation — anchor on the CELEX, this corpus's equivalent of an issuer
reg = aether.regulation_search(
query="stablecoin issuer own funds requirements",
celex="32023R1114", # MiCA
limit=5,
)
Fetch mode — don't rank a document you can name
query is optional. Omit it, pass an identifier plus form_type /
fiscal_year / section / accession_number, and you get that filing's
sections in filing order with no ranking — mode == "fetch", tens of
milliseconds, and confidence is None on every hit (nothing was scored).
risks = aether.financial_search(
issuer={"ticker": "AAPL"},
form_type=["10-K"],
section="Item 1A", # case-insensitive substring of the label
limit=5,
)
risks.mode # "fetch"
risks.total # matching CHUNKS, not returned rows — use it to page
Same on transcripts: transcript_search(issuer={"ticker": "NVDA"}, fiscal_year=2027, quarter="Q2") returns one call in spoken order.
Reading a response
scope+quality_caveatare the contract.source,profile,domainand everything undermetadata["retrieval"]are diagnostics — report them, never branch on them.- Crop from
body_offset. Where a chunk opens with an EDGAR cover page, that is the offset intextwhere the body begins — 1,462 characters in on a TSMC monthly-revenue 6-K.Nonemeans the text opens with its own body. confidenceis a relative score, not a threshold. Do not gate rendering on a fixed cut-off; it isNonein fetch mode by design.- Fewer results than
limitis normal — near-duplicates are suppressed rather than padded over. Not an error. - Keep the default 60 s timeout on any path that can go cross-company; the engine's own floor there is 15 s.
- Nothing is silently dropped:
SearchOutput.rawandChunk.rawhold the untouched JSON, so a field this client does not name yet is still reachable.
Get an API key at https://aether.evidinvest.com/developer/keys (anonymous
calls work but are rate-limited). Full request/response reference:
docs/search.md. Changes:
CHANGELOG.md.
Develop
python3 -m unittest discover -s clients/python/tests # fixtures, no network
License
Apache-2.0 — see LICENSE.
Metadata
Release files for evidinvest-aether-sdk 0.3.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 | |
|---|---|---|---|
| evidinvest_aether_sdk-0.3.0.tar.gz | 11.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| evidinvest_aether_sdk-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.4 kB
Release files / evidinvest_aether_sdk-0.3.0.tar.gz
| Download URL | evidinvest_aether_sdk-0.3.0.tar.gz |
|---|---|
| Size | 11.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c130f9ed9458ab1149797c81a8fc4eef484291117f154e80cda868d2e3c98cb
|
|
BLAKE2b-256 checksum How to use checksums |
67ba502ac963a785e7de5507b02ac74c30d822c290e9d0045f59e994614226e6
|
| 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 Sep 11, 2026.
Transparency logRelease files / evidinvest_aether_sdk-0.3.0-py3-none-any.whl
| Download URL | evidinvest_aether_sdk-0.3.0-py3-none-any.whl |
|---|---|
| Size | 8.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7fcf6ef7260045e9978770b56dd7fbf486aa4de2e05e8c609960549bd4dc5c99
|
|
BLAKE2b-256 checksum How to use checksums |
57b3af1ca3d6314de601317c088aef2657ee1d9ddb367c69ca6328962a802b30
|
| 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 Sep 11, 2026.
Transparency log