Repair every dead series-ID encoding (library now 82/82 query helpers
return live data, verified against the BLS API):
- JOLTS: 21-char format (was 18) — add state/area/sizeclass fields
- OES: national area code 0000000 (was invalid 0000400)
- ECI: correct owner/component/estimate encoding, default unadjusted (CIU)
- Productivity: 4-digit sector + 4-digit measure codes (was 2+3)
- QCEW: 13-char timeseries-API form (ENUUS00010510 / ENU{fips}00010{own}10)
- PPI: repoint finished-goods -> final demand (WPUFD4); keep alias
- ECEC: drop fabricated health-insurance/retirement helpers; add total benefits
- wages SOC: software developers 151132 -> 151252 (2018 SOC)
Tooling/docs:
- config reads BLS_API_KEY env var (takes precedence; config.py gitignored)
- add requirements.txt
- rewrite README as project front door + coverage table + limitations
- correct JOLTS/OES tables in series_id_formats.md, USAGE.md, dataset explorer
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
21 lines
739 B
Python
21 lines
739 B
Python
# BLS API Configuration
|
|
# ----------------------
|
|
# 1. Register for a free API key at: https://data.bls.gov/registrationEngine/
|
|
# Required fields: first name, last name, organization, email address.
|
|
# Your key will be emailed within a few minutes.
|
|
#
|
|
# 2. Copy this file to config.py:
|
|
# cp config.example.py config.py
|
|
#
|
|
# 3. Provide your key one of two ways:
|
|
# a) Preferred — set an environment variable (nothing to edit here):
|
|
# export BLS_API_KEY="your-key"
|
|
# b) Or replace YOUR_KEY_HERE below with your key.
|
|
#
|
|
# config.py is gitignored, so a key placed here is never committed.
|
|
|
|
import os
|
|
|
|
BLS_API_KEY = os.environ.get("BLS_API_KEY", "YOUR_KEY_HERE")
|
|
BLS_API_BASE = "https://api.bls.gov/publicAPI/v2"
|