Metadata-Version: 2.4
Name: parsimony
Version: 0.0.1
Summary: Connector framework for financial data — typed fetch and hybrid-search catalogs.
Project-URL: Homepage, https://parsimony.dev
Project-URL: Repository, https://github.com/ockham-sh/parsimony
Project-URL: Documentation, https://docs.parsimony.dev
Author-email: "Ockham.sh" <team@ockham.sh>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: catalog,connectors,data,finance,fred,sdmx
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: httpx>=0.28.1
Requires-Dist: pandas<3,>=2.3.0
Requires-Dist: platformdirs<5,>=4.0.0
Requires-Dist: pyarrow>=23.0.1
Requires-Dist: pydantic<3,>=2.11.1
Requires-Dist: rank-bm25>=0.2
Provides-Extra: all
Requires-Dist: faiss-cpu>=1.8.0; extra == 'all'
Requires-Dist: huggingface-hub>=0.25.0; extra == 'all'
Requires-Dist: litellm<2,>=1.59.0; extra == 'all'
Requires-Dist: onnxruntime>=1.18.0; extra == 'all'
Requires-Dist: optimum[onnxruntime]>=1.22.0; extra == 'all'
Requires-Dist: sentence-transformers>=3.0.0; extra == 'all'
Provides-Extra: catalog
Requires-Dist: faiss-cpu>=1.8.0; extra == 'catalog'
Requires-Dist: huggingface-hub>=0.25.0; extra == 'catalog'
Requires-Dist: sentence-transformers>=3.0.0; extra == 'catalog'
Provides-Extra: dev
Requires-Dist: faiss-cpu>=1.8.0; extra == 'dev'
Requires-Dist: huggingface-hub>=0.25.0; extra == 'dev'
Requires-Dist: litellm<2,>=1.59.0; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pip-audit>=2.7; 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: ruff>=0.15.10; extra == 'dev'
Requires-Dist: sentence-transformers>=3.0.0; extra == 'dev'
Requires-Dist: types-requests>=2.31; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material; extra == 'docs'
Requires-Dist: mkdocs-multirepo-plugin>=0.7; extra == 'docs'
Provides-Extra: litellm
Requires-Dist: litellm<2,>=1.59.0; extra == 'litellm'
Provides-Extra: standard-onnx
Requires-Dist: faiss-cpu>=1.8.0; extra == 'standard-onnx'
Requires-Dist: huggingface-hub>=0.25.0; extra == 'standard-onnx'
Requires-Dist: onnxruntime>=1.18.0; extra == 'standard-onnx'
Requires-Dist: optimum[onnxruntime]>=1.22.0; extra == 'standard-onnx'
Requires-Dist: sentence-transformers>=3.0.0; extra == 'standard-onnx'
Description-Content-Type: text/markdown

<div align="center">
<picture>
  <source media="(prefers-color-scheme: dark)" srcset="docs/assets/parsimony-brand-dark.png" />
  <img src="docs/assets/parsimony-brand-light.png" alt="parsimony" width="460" />
</picture>

**Financial data access skill for coding agents.**

[![PyPI](https://img.shields.io/pypi/v/parsimony.svg)](https://pypi.org/project/parsimony/)
[![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Python](https://img.shields.io/pypi/pyversions/parsimony.svg)](https://pypi.org/project/parsimony/)

</div>


---

Agents + code execution is the best way to automate financial workflows.

[Parsimony](https://parsimony.dev) is a coding-agent skill, backed by an eponymous [Python framework](https://docs.parsimony.dev), that gives your agent one interface to find, fetch, organize, and navigate financial data across sources.


## Install

Install the [Parsimony skill](skills/parsimony/SKILL.md) for Cursor, Claude Code, Codex, and other compatible agents:

```bash
npx skills add ockham-sh/parsimony
```

Or, without Node, run the same CLI via uv:

```bash
uvx npx-skills add ockham-sh/parsimony
```

Then ask your agent:

> Build a notebook comparing unemployment and inflation in the US and the euro area since 2015.

Behind the scenes, the agent uses the Parsimony framework in your own Python environment to navigate and fetch data, or build custom connectors.


## The Framework

The skill is backed by the [Parsimony framework](https://docs.parsimony.dev), which provides:

1. A thin layer for building, organizing, and using *data connectors* -- functions for searching, navigating, and fetching data.
2. Purpose-built components for writing custom connectors efficiently, such as data catalogs and semantic search indexes.


## The Ecosystem

Connectors are distributed as plugins. A curated selection of [prebuilt plugins](https://parsimony.dev/connectors) is maintained in a [dedicated repository](https://github.com/ockham-sh/parsimony-connectors).

For sources that don't provide search and discovery endpoints, such as Eurostat, Parsimony provides custom search functions built on Parsimony catalogs.

You and your agent can also publish your own plugins. Public plugins follow the [`parsimony-<name>` convention](https://docs.parsimony.dev/plugins/authoring/), which lets Parsimony discover them automatically once installed.


## Documentation

The complete framework documentation is published at [docs.parsimony.dev](https://docs.parsimony.dev).


## Development

```bash
make install
make check
```

See the [development guide](docs/development.md) and [contribution guidelines](CONTRIBUTING.md).


## The Stack

- [parsimony](https://github.com/ockham-sh/parsimony) provides the framework and agent skill.
- [parsimony-connectors](https://github.com/ockham-sh/parsimony-connectors) provides a curated set of connector plugins.
- [parsimony-agents](https://github.com/ockham-sh/parsimony-agents) provides a framework for building data retrieval and analysis agents on Parsimony.
- Open-format catalogs are hosted on [Hugging Face](https://huggingface.co/parsimony-dev). They power functions for sources without native discovery APIs.
- The upcoming [Ockham Terminal](https://ockham.sh) is an open-source, self-hostable IDE for data-related work, built on `parsimony-agents`.


## License

Apache-2.0. See [LICENSE](LICENSE).
