PyMC websites versioning#

The PyMC project has 3 main websites related directly to the PyMC library. These exist in addition to more specific websites like PyMCon, sprints or the docs of pymc-experimental. This guide explains their relation and what type of content should go on each of the websites.


All 3 websites share the same nabvar to give the appearance of a single website to users, but their generation process is completely independent from one another.

The content that appears under the Home and Community sections is generated from the source at; the content that appears under Learn, API and Contributing is generated from the source at pymc and the content under Examples is generated from pymc-examples.

The unversioned website is the main PyMC website, it contains the landing page and it is the parent project on ReadTheDocs. The other two are configured as subprojects of the unversioned website so that when we use the search bar, the keyword is searched across all 3 websites.

Unversioned website:

We publish the unversioned website at It has no language or version indicator.

The unversioned website is the main landing page and hosts content that is relevant to the PyMC library or project but not tied to a specific version. For example the PyMC ecosystem, community resources like the calendar or the code of conduct and the PyMC blog.

Versioned docs:

We publish the versioned docs at plus the language and version indicators. By default /en/stable/.

The versioned docs are synced with PyMC releases and contain a handful of guides about core functionality, the API documentation and the contributing guides. Being synced with the releases means that the same exact code we tag on GitHub and that goes to PyPI is used to generate the docs. Therefore, even if the latest version is updated with every commit, the default website stable is only updated when a new release is published.