https://github.com/sandialabs/conin
A python library that supports the constrained analysis of probabilistic graphical models
https://github.com/sandialabs/conin
scr-3226 snl-applications snl-data-analysis snl-science-libs
Last synced: 4 months ago
JSON representation
A python library that supports the constrained analysis of probabilistic graphical models
- Host: GitHub
- URL: https://github.com/sandialabs/conin
- Owner: sandialabs
- License: other
- Created: 2025-06-02T12:57:11.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-15T11:34:07.000Z (4 months ago)
- Last Synced: 2026-03-16T00:10:15.948Z (4 months ago)
- Topics: scr-3226, snl-applications, snl-data-analysis, snl-science-libs
- Language: Python
- Homepage:
- Size: 3.14 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
A Python library that supports the constrained analysis of probabilistic graphical models
--------------------------------------------------------------------------------
[](https://github.com/sandialabs/conin/actions/workflows/pytest.yml?query=branch%3Amain)
[](https://codecov.io/gh/sandialabs/conin)
[](http://conin.readthedocs.org/en/latest/)
[](https://github.com/sandialabs/conin/graphs/contributors)
[](https://github.com/sandialabs/conin/pulls?q=is:pr+is:merged)
[](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.