The PyMC project#

PyMC is a community driven project with the goal of making Bayesian modeling and probabilistic programming intuitive and performant.

The flagship of the PyMC project is the PyMC library, but PyMC also coordinates many other activities:



PyMC - Data Umbrella Sprint

The PyMC team has recently started hosting office hours regularly. Subscribe on Discourse to be notified of the next event!

Blog Post

Welcome to the PyMC blog

Check out the new PyMC blog, learn what to expect from it and how to subscribe


Probabilistic Programming in PyMC

Austin Rochford gave the coolest talk on Probabilistic Programming in PyMC 4.0


PyMC is participating in GSoC

If you are interested in open source, GSoC is the perfect opportunity to dive in and get involved. This year, anyone new to open source and over 18 years can participate!

Blog post

Sprint testimonials

Read about the recent PyMC-Data Umbrella sprint in this interview with Sandra Meneses, one of the participants who submitted a PR

Release announcement

PyMC 4.0 is closing in

Check out this blog post for a sneak preview of all the improvements PyMC 4.0 will bring! Or install the already available beta release and try it for yourself!

The PyMC library#

PyMC is a probabilistic programming library for Python that allows users to fit Bayesian models using a variety of numerical methods, most notably Markov chain Monte Carlo (MCMC) and variational inference (VI). Its flexibility and extensibility make it applicable to a large suite of problems. Along with core model specification and fitting functionality, PyMC integrates with ArviZ for exploratory analysis of the results.


PyMC strives to make Bayesian modeling as simple and painless as possible, allowing users to focus on their scientific problem, rather than on the methods used to solve it. Here is a partial list of its features:

  • Modern methods for fitting Bayesian models, including MCMC and VI.

  • Includes a large suite of well-documented statistical distributions.

  • Uses Aesara as the computational backend, allowing for fast expression evaluation, automatic gradient calculation, and GPU computing.

  • Built-in support for Gaussian process modeling.

  • Extensible: easily incorporates custom step methods and unusual probability distributions.

  • Bayesian models can be embedded in larger programs, and results can be analyzed with the full power of Python.