Metadata-Version: 2.4
Name: filingsift
Version: 0.2.0
Summary: Dependency-free client for the FilingSift REST API v1
Author: FilingSift
License-Expression: Apache-2.0
Project-URL: Homepage, https://filingsift.com/
Project-URL: Documentation, https://filingsift.com/api/
Project-URL: API Reference, https://filingsift.com/openapi.yaml
Project-URL: Source, https://github.com/JasinHurst/FilingSift
Project-URL: Issues, https://github.com/JasinHurst/FilingSift/issues
Keywords: SEC,EDGAR,filings,finance,API
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Office/Business :: Financial
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Dynamic: license-file

# FilingSift Python SDK

This is the dependency-free Python 3.10+ client for FilingSift REST schema
1.0.0. This package is version `0.2.0`:

```bash
python3 -m pip install filingsift==0.2.0
```

Version `0.2.0` fixes successful empty responses and adds the modeling and
developer-distribution helpers listed below. Installing `0.1.0` does not include
these changes. Registry publication and API deployment are separate steps;
consult the repository's `sdks/release-policy.json` and SDK publishing authority.

```python
from filingsift import FilingSiftClient

client = FilingSiftClient()
company = client.get_company("AAPL")
print(company["data"]["events"])
```

Pass `api_key=` for routes that accept API keys. Keep the key in a server-side secret and
never commit it or use it in browser code. The client returns the REST response
unchanged so accession, filing URL, exact evidence, hashes, uncertainty, and
verification remain available. Missing and refused values remain missing; the
SDK never substitutes zero.

Repository helpers cover company lookup, reader documents and comparisons,
evidence PDFs, filing comparisons, bounded search, financing screens and
intelligence, coverage, onboarding, monitoring, CSV/XLSX exports, analyst
formulas and templates, SSE, archives, parsed representations, sandbox samples,
and public operations history. Market-wide search, raw XBRL queries, and
corporate-event queries use `request()` with their documented REST paths.

The SSE generator makes one connection. Persist each event's `eventId` and pass
it as `cursor` when reconnecting; retries and backoff belong to the caller.
Saved-search helpers exist, but the server requires a browser session for those
routes. An API key does not grant access to saved searches, annotations, research
folders, saved views, memo drafts, or saved models.

Ordinary requests default to a 15-second timeout; the SSE socket timeout is at
least 30 seconds. The caller controls pagination, retries, and stream reconnection.
JSON responses keep their original values, text responses are strings, and
PDF/XLSX responses are bytes. Successful HTTP 204 and 205 responses return `None`
without decoding a body, including `delete_saved_search()`. An empty HTTP 200
response expected as JSON still raises `invalid_response`; a response explicitly
marked as text can be an empty string. The client does not expose successful-response headers, so use a
lower-level HTTP client when the workflow requires checksum or rate-limit headers.

`base_url` must be a parsed HTTPS URL, or an HTTP URL whose host is exactly
`localhost` or `127.0.0.1` for development. Custom ports and API base paths are
preserved, for example `http://localhost:5200/api/v1`. Credentials, query strings,
fragments, malformed ports, whitespace and backslashes are rejected before any
request. Supply only a trusted endpoint when using an API key.

These transport corrections apply to version `0.2.0`; they do not
change the published `0.1.0` package. Other response or network errors can occur
after an operation succeeds, so do not blindly retry a mutation.


## License

The Python SDK source contained in this directory is licensed under the Apache
License 2.0. That SDK-specific license does not change the proprietary license
applying to the rest of the FilingSift repository, service, extraction engine,
data, or documentation.
