Here’s an example implementation with a discrete change point parameter:
See Case study 2: Coal mining disasters:
Introductory Overview of PyMC — PyMC 5.16.2 documentation
It’s much much more efficient to marginalize out the change points and absolutely critical if you need to estimate tail change point probability. Unfortunately, with multiple change points, marginalization cost grows exponentially in number of change points.