Skip to main content

hank-sec-egress

hank-sec-egress owns SEC HTTP identity, URL containment, retry/redirect policy, and pacing. Its explicit backends serve different deployment contracts:

  • hank_sec_egress.portable.get() is for independently installed public clients. It admits at most one request start per second per process, including redirects. It returns HTTP errors without automatic retries or server-directed sleeps, preserving MCP worker availability. It honors standard Requests proxy and CA environment settings and needs no private host configuration, fcntl, or ~/.sec_budget. SEC_USER_AGENT overrides the public EDGAR client identity; caller-supplied User-Agent headers cannot override this owner.
  • hank_sec_egress.get() / async_get() are for managed Unix services. They coordinate the version-1 machine limiter at ~/.sec_budget/machine_limiter.state, including socket-write admission. They require SEC_BUDGET_SITE (prod or dev), SEC_USER_AGENT, and, starting with 0.2.0, SEC_EXPECTED_MACHINE_IDENTITY. The latter is deployment-owned configuration compared against socket.getfqdn(); it does not override the actual machine identity. No private hostnames ship in the package.

Both APIs require a nonempty product-owned caller_label. Both accept only sec.gov URLs, replace caller User-Agent headers, and apply the same compression and redirect bounds. Managed admission retains its bounded retry count. Managed consumers may call effective_headers() for request-time identity projection. Limiter implementation classes and mutable host configuration are not package-root exports.

Public EDGAR MCP submissions metadata deliberately calls SEC directly through portable.get(). Scratch document extraction remains an HTTP call to the hosted EDGAR API. Managed deployments remain pinned to their existing package versions until their deployment configuration and dependency locks are updated together.

Metadata

Release files for hank-sec-egress 0.2.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 hank-sec-egress 0.2.1
File Size Uploaded
hank_sec_egress-0.2.1.tar.gz 15.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hank-sec-egress 0.2.1
File Interpreter ABI Platform
hank_sec_egress-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 26.8 kB

Release files / hank_sec_egress-0.2.1.tar.gz

Download URL hank_sec_egress-0.2.1.tar.gz
Size 15.1 kB
Tags Source
SHA-256 checksum
How to use checksums
92317fa381f0c884a8ed82ce32229b15d776a942bd62bd487c931e37659c8e40
BLAKE2b-256 checksum
How to use checksums
e2798d8d95cfa3c0dcb04e256baaf03093f109e134c3ea1ca922f4aa722a3e4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2

Release files / hank_sec_egress-0.2.1-py3-none-any.whl

Download URL hank_sec_egress-0.2.1-py3-none-any.whl
Size 11.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4c164f8c2df16a6f7c9d69eeda65888eb925b582945bc0f9bfb561028ccd8ff9
BLAKE2b-256 checksum
How to use checksums
9428ad97d9b628546928bb9b10d7480d2fd5166d4238859eac388caa936ee554
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2

Release history Release notifications | RSS feed

0.2.12

2 release files

0.2.11

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

This release

0.2.1 This release

2 release files

0.2.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