Metadata-Version: 2.4
Name: parsimony-rba
Version: 0.5.0
Summary: Reserve Bank of Australia connector for the parsimony framework
Project-URL: Homepage, https://www.rba.gov.au
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,parsimony,rba
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: openpyxl>=3.1.5
Requires-Dist: pandas<3,>=2.3.0
Requires-Dist: parsimony-core<0.6,>=0.5.0
Requires-Dist: pydantic<3,>=2.11.1
Requires-Dist: xlrd>=2.0.2
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'
Provides-Extra: publish
Requires-Dist: parsimony-core[standard-onnx]<0.6,>=0.5.0; extra == 'publish'
Provides-Extra: recommended
Description-Content-Type: text/markdown

# parsimony-rba

Reserve Bank of Australia source for parsimony: statistical tables fetch and catalog enumeration.

Part of the [parsimony-connectors](https://github.com/ockham-sh/parsimony-connectors) monorepo. Distributed standalone on PyPI as `parsimony-rba`.

## Connectors

| Name | Kind | Description |
|---|---|---|
| `rba_fetch` | connector | Fetch a published RBA statistical table by `table_id` (e.g. `f1-data`, `g1-data`). Resolves the live tables index, downloads the CSV, and returns a tidy long-format DataFrame. |
| `enumerate_rba` | enumerator | Discover available series by scraping the tables index and parsing each CSV's metadata header rows. |

## Install

```bash
pip install parsimony-rba
```

Pulls in `parsimony-core>=0.4,<0.5` automatically. Verify discovery:

```bash
python -c "from parsimony import discover; print([p.name for p in discover.iter_providers()])"
```

## Configuration

No environment variables required — the RBA statistics site is public. The optional `curl_cffi` extra improves reliability against the Akamai CDN's TLS-fingerprinting checks; the connector falls back to `httpx` automatically.

## Quick start

```python
import asyncio
from parsimony_rba import CONNECTORS

async def main():
    connectors = CONNECTORS.bind_env()
    result = await connectors["rba_fetch"](table_id="f1-data")
    print(result.data.head())

asyncio.run(main())
```

For multi-plugin composition:

```python
from parsimony import discover
connectors = discover.load_all().bind_env()
```

## Catalog publishing

This plugin publishes a catalog under the `rba` namespace, backed by `enumerate_rba`.

```bash
parsimony publish --provider rba --target "hf://<your-org>/parsimony-rba"
```

## Provider

- Homepage: <https://www.rba.gov.au>
- Statistical tables: <https://www.rba.gov.au/statistics/tables/>

## License

See [LICENSE](./LICENSE).
