Metadata-Version: 2.4
Name: fina-logic-lib
Version: 0.1.1
Summary: Deterministic FinBench logic library (195 rules across 6 layers)
Author: Potheesh Vignesh K
License-Expression: MIT
Project-URL: Homepage, https://github.com/finbench/fina-logic-lib
Project-URL: Repository, https://github.com/finbench/fina-logic-lib
Project-URL: Issues, https://github.com/finbench/fina-logic-lib/issues
Keywords: finbench,finance,rules-engine,deterministic,multi-agent,logic-lib
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Office/Business :: Financial
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0; extra == "dev"
Requires-Dist: build>=1.2.0; extra == "dev"
Requires-Dist: twine>=5.0.0; extra == "dev"
Requires-Dist: ruff>=0.5.0; extra == "dev"
Dynamic: license-file

# fina-logic-lib

Deterministic logic library for **FinBench - AI Multi-Agent Business Analyst System**.

Author: **Potheesh Vignesh K**

## What this package provides

- 195 deterministic rules across 6 layers:
- Extraction resolver (45)
- Decision rules (50)
- Composite resolver (30)
- Reconciliation (25)
- Narrative reasoning (20)
- Verification and abstention (25)

A separate formula engine can handle numeric computation, while `fina-logic-lib` handles rule-based interpretation, routing, consistency checks, and abstention.

## Install

```bash
pip install fina-logic-lib
```

## Development setup

```bash
python -m venv .venv
.venv\Scripts\activate
python -m pip install --upgrade pip
pip install -r requirements-dev.txt
```

## Verify

```bash
pytest tests/ -v
```

Lint check:

```bash
ruff check src tests
```

## Release safety checks

```bash
python scripts/check_release.py
```

This runs tests, builds package artifacts, and validates metadata with `twine check`.

## Publish

Set token env and upload:

```bash
set TWINE_USERNAME=__token__
set TWINE_PASSWORD=<your-pypi-token>
python scripts/publish.py
```
