Quality checks and Tests Docs build

Documentation | Tutorials | API reference | Slack

What does Markovflow do?

Markovflow is a Python library for time-series analysis via probabilistic inference in generative models with Markovian Gaussian Processes.

Markovflow uses the mathematical building blocks from GPflow and marries these with objects and operators dedicated to run inference and learning in linear dynamical systems. This combination leads to a framework that can be used for:

  • researching new Markovian Gaussian process based models, and
  • building, training, evaluating and deploying Gaussian processes in a modern way — making use of the tools developed by the deep learning community.

Getting started

In the Documentation, we have multiple Tutorials showing the basic functionality of the toolbox, and a comprehensive API reference.

Install Markovflow

This project is assuming you are using python3.

For users

To install the latest (stable) release of the toolbox from PyPI, use pip:

$ pip install markovflow

For contributors

To install this project in editable mode, run the commands below from the root directory of the markovflow repository.

poetry install

Check that the installation was successful by running the tests:

poetry run task test

You can have a peek at the pyproject.toml for the commands.

The Secondmind Labs Community

Getting help

Bugs, feature requests, pain points, annoying design quirks, etc: Please use GitHub issues to flag up bugs/issues/pain points, suggest new features, and discuss anything else related to the use of Markovflow that in some sense involves changing the Markovflow code itself. We positively welcome comments or concerns about usability, and suggestions for changes at any level of design. We aim to respond to issues promptly, but if you believe we may have forgotten about an issue, please feel free to add another comment to remind us.

Slack workspace

We have a public Secondmind Labs slack workspace. Please use this invite link and join the #markovflow channel, whether you’d just like to ask short informal questions or want to be involved in the discussion and future development of Markovflow.


All constructive input is very much welcome. For detailed information, see the guidelines for contributors.


Markovflow was originally created at Secondmind Labs and is now maintained by (in alphabetical order) Vincent Adam, Stefanos Eleftheriadis, Samuel Willis. We are grateful to all contributors who have helped shape Markovflow.

Markovflow is an open source project. If you have relevant skills and are interested in contributing then please do contact us (see “The Secondmind Labs Community” section above).

We are very grateful to our Secondmind Labs colleagues, maintainers of GPflow, GPflux, Trieste and Bellman, for their help with creating contributing guidelines, instructions for users and open-sourcing in general.


Apache License 2.0


GitHub - secondmind-labs/markovflow: A Tensorflow based library for Time Series Modelling with Gaussian Processes
A Tensorflow based library for Time Series Modelling with Gaussian Processes - GitHub - secondmind-labs/markovflow: A Tensorflow based library for Time Series Modelling with Gaussian Processes