- README: add a 5-minute Quickstart with a Python 3.9+ prerequisites
block (OS-specific python3/pip notes + venv step for PEP-668 systems)
- pyproject: set author email to david.boyd1@dc.gov
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Narrative of the audit/repair work plus a practical usage guide for the
client, query helpers, series builders, QCEW module, caching/errors/retry,
testing, and coverage.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- bls_client/retry.py: with_retries() retries timeouts/connection drops and
429/5xx with exponential backoff; honors Retry-After; never retries 4xx or
BLSQuotaError (those won't fix themselves)
- BLSClient(retries=2, backoff=0.5) wraps the data POST and discovery GETs;
qcew CSV fetch wrapped too. retries=0 disables.
- tests/test_retry.py: 6 offline tests (injectable sleep, no real delays)
- README: retry behavior documented; drop the now-resolved limitation
Offline suite 125 passing; live smoke green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- pyproject.toml: setuptools build, deps (requests), dev extra (pytest),
pytest config with opt-in `live` marker
- tests/: 95 offline tests locking every series-ID encoding against
known-good IDs (regression guard for the JOLTS/OES/ECI/productivity/QCEW
fixes), plus a live API smoke test behind `-m live`
- README: install-as-package + test instructions; drop the now-resolved
"no packaging"/"no tests" limitations
- gitignore build/test artifacts
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Self-contained HTML reference covering all BLS surveys organized by category:
Employment, Prices, Wages, Productivity, Safety, Consumer/Household, Other.
Each card shows survey description, example series ID, latest data point,
collapsible Python query snippet, and active/discontinued status.
19 of 42 active surveys return live data via the API.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Added Baltimore-Columbia-Towson MSA (CBSA 12580) and Richmond MSA (CBSA 40060)
- Now covers 6 geographies: DC, MD, VA states + DC/Baltimore/Richmond MSAs
- Added second Chart.js line chart showing employment levels over 24 months
- Cards grid updated to 3-column layout (2 rows of 3)
- Y-axis auto-formats to K/M for employment chart
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
No internet connection required to open dc_md_va_unemployment_report.html.
chart.umd.min.js (200 KB) is bundled into the HTML at generation time.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Includes:
- API v1/v2 documentation, endpoints, request/response schemas
- Complete survey catalog (60 surveys, live-fetched from API)
- Series ID decode tables: LAUS, CES, SM, QCEW, OES, JOLTS, CPI, PPI
- QCEW quarterly (47 fields) and annual (43 fields) CSV schemas
- dc_md_va_unemployment.py: pulls 16 LAUS series for DC/MD/VA + DC MSA
- Example API response and 5-year CSV output
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>