Command Reference
pulse has two halves: a light half for finding and running datasets you already know how to describe, and a heavier half that hands your request to an LLM to write the CDC WONDER XML for you. Start with the light half. It's faster, free, and works offline.
1 · Setup
Requires Python 3.12+. The LLM-backed commands (further down this page) also need a provider key; everything else works without one.
Set an Anthropic key for the default provider, or point pulse at Azure OpenAI instead:
2 · Light usage: finding a dataset
No LLM needed for any of this: it's all local keyword matching over the bundled dataset catalog.
See everything: every dataset pulse knows, grouped by topic:
Search by plain description: matches datasets and bundled queries by keyword/synonym, no LLM call:
Drill into one dataset: measures, grouping dimensions, bundled examples:
List the bundled example queries: 36 working queries, ready to run as-is:
Run one: hits the live CDC WONDER API (respects its 15s rate limit):
3 · Heavier usage: natural language queries
These commands call an LLM (Claude or Azure OpenAI, per your LLM_PROVIDER)
to turn a plain-English request into CDC WONDER XML. It grounds each request in
the closest matching bundled queries (the same examples shown on this site),
so the generated XML follows real, working parameter combinations instead of
guessing from scratch.
Build XML without running it: inspect or save it first:
Build and run in one step:
Refine an existing query with feedback: starts from real XML (a bundled query or a file you built earlier) instead of a blank prompt:
4 · The complicated cases
Compare two or more causes/datasets side by side: the LLM decides this needs multiple sub-queries, builds each one, and runs them in sequence (respecting CDC's rate limit between calls):
If a request turns out not to be a comparison, compare falls back to running it as a single query and tells you so.
Iterate conversationally: a REPL that keeps the current XML in memory across turns, so each follow-up refines what came before instead of starting over:
Anything not prefixed with : is treated as another round of natural-language feedback on the current query.