Metadata-Version: 2.4
Name: parsimony-fred
Version: 0.1.1
Summary: FRED (Federal Reserve Economic Data) connector for the parsimony framework
Project-URL: Homepage, https://parsimony.dev
Project-URL: Repository, https://github.com/ockham-sh/parsimony-connectors
Project-URL: Issues, https://github.com/ockham-sh/parsimony-connectors/issues
Author-email: "Ockham.sh" <team@ockham.sh>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: connectors,data,finance,fred,parsimony
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Office/Business :: Financial
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: pandas<3,>=2.3.0
Requires-Dist: parsimony-core<0.3,>=0.1.0a0
Requires-Dist: pydantic<3,>=2.11.1
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-asyncio>=1.3.0; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest>=9.0.3; extra == 'dev'
Requires-Dist: respx>=0.22.0; extra == 'dev'
Requires-Dist: ruff>=0.15.10; extra == 'dev'
Description-Content-Type: text/markdown

# parsimony-fred

**FRED (Federal Reserve Economic Data) connector for the [parsimony](https://github.com/ockham-sh/parsimony) framework.**

## What it does

Once installed alongside `parsimony-core`, this plugin is discovered automatically and exposes the following connectors:

| Connector | Kind | Tool-tagged | Description |
|---|---|---|---|
| `fred_search` | search | ✓ | Keyword search across FRED series (id, title, units, frequency). |
| `fred_fetch` | fetch | — | Fetch observation-level data for a FRED series by `series_id`. |
| `enumerate_fred_release` | enumerator | — | Enumerate all series in a FRED release (catalog indexing). |

## Install

```bash
pip install parsimony-core parsimony-fred
export FRED_API_KEY=<your-key>  # https://fred.stlouisfed.org/docs/api/api_key.html
```

Verify discovery:

```bash
parsimony list-plugins
```

## Use

```python
from parsimony.connectors import build_connectors_from_env

connectors = build_connectors_from_env()
result = await connectors["fred_fetch"](series_id="UNRATE")
df = result.data  # pandas DataFrame
```

Or via the MCP server (exposes only tool-tagged connectors):

```bash
parsimony mcp serve --tool-only
```

## Development

```bash
uv sync --extra dev
uv run pytest
```

Release-blocking conformance test: `uv run pytest tests/test_conformance.py`.

## License

Apache-2.0 — see [LICENSE](LICENSE).
