Skip to content

FAST Guide to MPF 0.57 ("dev" branch)

Last updated October 10, 2023

This page explains how to install and configure the "dev" branch of MPF, which is needed to use MPF with your FAST Neuron Controller. (You can also use this branch with a Nano Controller.) The dev branch is the pre-release version of MPF. (The "stable" branch of MPF is 0.56.x.)

Here's the high level overview of what you need to do:

  1. (Optional) install a new version of Python, up through 3.11.5. (MPF 0.57 requires a minimum of Python 3.8.)
  2. Install MPF 0.57 via pip.
  3. Update your config files for MPF 0.57.
  4. Install MPF Monitor 0.57.
  5. Install MPF-MC 0.57.
  6. Share bugs via Slack or GitHub.

1. Check or upgrade your version of Python

Verify the version of Python you have will support MPF 0.57:

Python Version MPF 0.56 (stable) MPF 0.57 (dev)
3.7 ✅ 🚫
3.8 ✅ ✅
3.9 ✅ ✅
3.10 🚫 ✅
3.11 🚫 ✅
3.12 🚫 🚫

Python 3.12 is too new

Python 3.12 was just released (Oct 2023) and many of the other things MPF depends on are not yet updated. That should happen over the next few months and we expect that supporting 3.12 will be easy once those are updated.

You don't have to update your version of Python if you don't want to, but if you're starting from scratch, you might as well install the latest version of Python. (If you're using a Mac, you can install Python 3.11 via Homebrew.)

2. Install MPF v0.57 via pip

Installing the dev branch of MPF is similar to installing the stable branch, except you add the --pre flag to the pip command. (This tells pip to install the pre-release version of MPF.)

pip install mpf --pre

Note that if you have multiple versions of Python installed, you can put the version of Python you want to use in the pip command. For example, to force the Python 3.11 version of pip, you'd run:

pip3.11 install mpf --pre

Keeping MPF 0.57 up to date

Since MPF 0.57 is a pre-release version, it's being updated frequently. You'll want to update frequently as well. You can see the most recent MPF 0.57 dev release here. (This is a link to the MPF package on PyPI, which is where that "pip" app installs from.)

Then you can check the version of MPF you have installed by running mpf --version:

> mpf --version
Mission Pinball Framework v0.57.0.dev11

You can update to the latest dev version at any time by adding --upgrade to the pip command you used to install MPF:

> mpf --version
Mission Pinball Framework v0.57.0.dev6

> pip3 install mpf --pre --upgrade
[lots of stuff scrolls by]

> mpf --version
Mission Pinball Framework v0.57.0.dev11

3. Update your MPF config files for MPF 0.57

There are some changes to the MPF config files for MPF 0.57. These changes fall into two categories:

3A. Update your config files to version 6

Prior to MPF 0.57, the MPF config files were "mostly" YAML but not 100% compliant. MPF had several "hacks" which originally made it easier to write config files, but over time these hacks made it hard to maintain MPF. (These hacks were part of the reason MPF was stuck on old versions of Python for so long.) So in MPF 0.57, we removed those hacks, which means that the MPF config files are now 100% compliant YAML. 🎉 The downside to this is that you'll need to update your MPF config files to be 100% compliant YAML.

Remember that MPF uses config file versions (that #config_version= line at the top of every config file) to ensure the files its loading will work, so to use MPF 0.57, you'll need to update your config files to use the new config files and show files to version 6.

The good news is that this is pretty easy to do. It's mostly "find and replace" type things. There's a guide to the config file v6 changes on the MPF website: missionpinball.org/config/instructions/config_v6/

3B. Update the fast: section of your config files

The FAST platform interface was completely overhauled for MPF 0.57. Since we were doing all that work, and since the Neuron and Expansion boards change a lot of things, and since MPF 0.57 was already moving to a new config file version, we decided to make some changes to the FAST config settings as well.

You'll have to update the fast: section of your config, but that will only take a few minutes. And you'll also need to update the numbers for your hardware devices, but that's simple find-and-replace stuff.

If you have an existing config for an older version of MPF that you're migrating to 0.57, we have a migration guide

We also have an entire set of documentation (the FAST MPF Config Guides) which explains how add your FAST hardware to MPF configs.

4. Install MPF Monitor 0.57

The dev branch of MPF Monitor has also been updated to v0.57, and also supports Python 3.8-3.11. You install it in the same way you installed MPF 0.57, by adding the --pre flag to the pip command:

> pip3 install mpf-monitor --pre

Then you can run MPF Monitor like normal.

5. Install MPF-MC 0.57

> pip3 install mpf-mc --pre

We had some audio issues in earlier builds of MPF-MC 0.57. We think they've been resolved, but if you have any issues, let us know in Slack.

6. Share bugs via Slack or GitHub

If you find any bugs in MPF 0.57, please let us know! Post any bugs or questions to the FAST Pinball slack in the #software channel. Or, if you want to post full details of a bug, you can post it to the MPF GitHub Issues page where it can be tracked fully.

N or > jump the next page, P or < for previous, search with S or ?