Metadata-Version: 2.4
Name: conin
Version: 1.1
Summary: Clio supports constrained analysis and learning for stochastic models with latent variables
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Description-Content-Type: text/plain
License-File: LICENSE.md
Requires-Dist: munch
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: pyomo
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Provides-Extra: pgmpy
Requires-Dist: pgmpy; extra == "pgmpy"
Provides-Extra: pyagrum
Requires-Dist: pyagrum; extra == "pyagrum"
Provides-Extra: pgmax
Requires-Dist: pgmax; extra == "pgmax"
Provides-Extra: pomegranate
Requires-Dist: pomegranate; extra == "pomegranate"
Provides-Extra: pgm-all
Requires-Dist: pgmpy; extra == "pgm-all"
Requires-Dist: pyagrum; extra == "pgm-all"
Requires-Dist: pgmax; extra == "pgm-all"
Requires-Dist: pomegranate; extra == "pgm-all"
Dynamic: license-file

<img src="doc/logos/conin_logo_large.png" align="center" alt="CONIN Logo" width="450"/>
A Python library that supports the constrained analysis of probabilistic graphical models 

--------------------------------------------------------------------------------

[![Pytest Tests](https://github.com/sandialabs/conin/actions/workflows/pytest.yml/badge.svg?branch=main)](https://github.com/sandialabs/conin/actions/workflows/pytest.yml?query=branch%3Amain)
[![codecov](https://codecov.io/gh/sandialabs/conin/branch/main/graph/badge.svg)](https://codecov.io/gh/sandialabs/conin)
[![Documentation Status](https://readthedocs.org/projects/conin/badge/?version=latest)](http://conin.readthedocs.org/en/latest/)
[![GitHub contributors](https://img.shields.io/github/contributors/sandialabs/conin.svg)](https://github.com/sandialabs/conin/graphs/contributors)
[![Merged PRs](https://img.shields.io/github/issues-pr-closed-raw/sandialabs/conin.svg?label=merged+PRs)](https://github.com/sandialabs/conin/pulls?q=is:pr+is:merged)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

## Overview

Conin supports constrained inference and learning for hidden Markov models, Bayesian networks, dynamic Bayesian networks and Markov networks. Conin interfaces with the pgmpy python library for the specification of general probabilistic graphical models. Additionally, it interfaces with a variety of optimization solvers to support learning and inference.

## Testing

Conin tests can be executed using pytest:

```
cd conin
pytest .
```

If the pytest-cov package is installed, pytest can provide coverage statistics:

```
cd conin
pytest --cov=conin .
```

The following options list the lines that are missing from coverage tests:
```
cd conin
pytest --cov=conin --cov-report term-missing .
```

Note that pytest coverage includes coverage of test files themselves.  This gives a somewhat skewed sense of coverage for the code base, but it helps identify tests that are omitted or not executed completely.
