Metadata-Version: 2.4
Name: qablet_contracts
Version: 0.4.0
Summary: qablet_contracts created by qablet
Home-page: https://github.com/qablet/qablet-contracts/
Author: qablet
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyarrow
Requires-Dist: pandas
Requires-Dist: numpy
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: coverage; extra == "test"
Requires-Dist: flake8; extra == "test"
Requires-Dist: isort; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: mypy; extra == "test"
Requires-Dist: gitchangelog; extra == "test"
Requires-Dist: mkdocs; extra == "test"
Requires-Dist: mkdocstrings; extra == "test"
Requires-Dist: mkdocstrings-python; extra == "test"
Requires-Dist: mkdocs-material; extra == "test"
Requires-Dist: pyarrow; extra == "test"
Requires-Dist: pandas; extra == "test"
Requires-Dist: numpy; extra == "test"
Requires-Dist: ruff; extra == "test"
Dynamic: author
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: summary

# qablet_contracts

[![CI](https://github.com/qablet/qablet-contracts/actions/workflows/main.yml/badge.svg)](https://github.com/qablet/qablet-contracts/actions/workflows/main.yml)


**Qablet Contracts documentation is at [qablet.github.io/qablet-contracts](https://qablet.github.io/qablet-contracts/).**

A Qablet timetable defines a financial product using a sequence of payments, choices and conditions. A valuation model implemented with a Qablet parser can value any contract, as long as the contract can be described using a Qablet Timetable. 

This repository contains code to create qablet timetables.
It does not contain models that price qablet timetables. Such models will be available in other independent projects.  


## Install it from PyPI

```bash
pip install qablet_contracts
```

## Development

**Prerequisites:** Python 3.12

### Create a virtual environment

**Linux / macOS**

```bash
python3.12 -m venv .venv
source .venv/bin/activate
pip install -e .[test]
```

**Windows**

```
py -3.12 -m venv .venv
.venv\Scripts\activate
pip install -e .[test]
```

### Run tests

```bash
pytest tests/
```

On Linux/macOS you can also use the Makefile, which runs linters before tests and generates a coverage report:

```bash
make test
```
