Python Library for Probabilistic Graphical Models
Python Other
Switch branches/tags
Nothing to show
Clone or download


Build Status Appveyor codecov Code Health Join the chat at

pgmpy is a python library for working with Probabilistic Graphical Models.

Documentation and list of algorithms supported is at our official site
Examples on using pgmpy:
Basic tutorial on Probabilistic Graphical models using pgmpy:

Our mailing list is at!forum/pgmpy .

We have our community chat at gitter.


pgmpy has following non optional dependencies:

  • Python 2.7 or Python 3
  • NetworkX 1.11
  • Scipy 0.18.0
  • Numpy 1.11.1
  • Pandas 0.18.1


Using conda:

$ conda install -c ankurankan pgmpy

Using pip:

$ pip install -r requirements.txt  # or requirements-dev.txt if you want to run unittests
$ pip install pgmpy

Or for installing the latest codebase:

$ git clone 
$ cd pgmpy/
$ pip install -r requirements.txt
$ python install

If you face any problems during installation let us know, via issues, mail or at our gitter channel.



You can check the latest sources from our github repository use the command:

git clone


Issues can be reported at our issues section.

Before opening a pull request, please have a look at our contributing guide

Contributing guide contains some points that will make our life's easier in reviewing and merging your PR.

If you face any problems in pull request, feel free to ask them on the mailing list or gitter.

If you want to implement any new features, please have a discussion about it on the issue tracker or the mailing list before starting to work on it.


After installation, you can launch the test form pgmpy source directory (you will need to have the nose package installed):

$ nosetests -v

to see the coverage of existing code use following command

$ nosetests --with-coverage --cover-package=pgmpy

Documentation and usage

Everything is at:

You can also build the documentation in your local system. We use sphinx to help us building documentation from our code.

$ cd /path/to/pgmpy/docs
$ make html

Then the docs will be in _build/html


We have a few example jupyter notebooks here: For more detailed jupyter notebooks and basic tutorials on Graphical Models check:


pgmpy is released under MIT License. You can read about our license at here