You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**tests/test_cache.py**: 29 unit tests for `TTLCache` (get/set, expiration, invalidate, clear, len/repr, constants) and cache integration with `Tickers`, `Submissions`, and `Xbrl` services.
12
17
-**edgar/\_\_init\_\_.py**: Top-level convenience functions for reduced boilerplate.
13
18
-`edgar.company("AAPL")` — create a `Company` without instantiating `EdgarClient`.
14
19
-`edgar.get_filings("AAPL", form="10-K")` — fetch filings in one call.
@@ -37,6 +42,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
37
42
38
43
### Changed
39
44
45
+
-**edgar/client.py**: `EdgarClient` now accepts `rate_limit` parameter: `EdgarClient(user_agent="...", rate_limit=5)`.
46
+
- Defaults to 10 (SEC's maximum). Validates range 1–10.
47
+
- Passed through to `EdgarSession` for sliding-window enforcement.
48
+
-**edgar/client.py**: `EdgarClient` now accepts `cache` parameter (`bool`, default `True`).
49
+
-`cache=True` creates a shared `TTLCache` passed to `EdgarSession`.
50
+
-`cache=False` disables caching; all requests hit the network.
51
+
-**edgar/session.py**: `EdgarSession` accepts optional `cache` parameter storing a `TTLCache` instance.
52
+
-**edgar/tickers.py**: `Tickers._load()` checks/stores data in the TTL cache (`TTL_TICKERS`).
53
+
-**edgar/submissions.py**: `Submissions.get_submissions()` checks/stores responses in the TTL cache (`TTL_SUBMISSIONS`).
54
+
-**edgar/xbrl.py**: `Xbrl.company_facts()` checks/stores responses in the TTL cache (`TTL_TAXONOMY`).
55
+
-**tests/test_rate_limiter.py**: 8 new tests for configurable rate limit (custom values, boundary validation, client passthrough). Total: 17 tests.
40
56
-**xbrl.py**: `company_concepts()` and `frames()` now accept an optional `taxonomy` parameter (default `"us-gaap"`). Previously hardcoded to `us-gaap`, now supports `"ifrs-full"`, `"dei"`, or any other taxonomy.
41
57
-**edgar/tickers.py**: New `Tickers` service for ticker/CIK/company name resolution via `sec.gov/files/company_tickers.json`.
42
58
-`resolve_ticker("AAPL")` → zero-padded CIK string (`"0000320193"`).
0 commit comments