I have a lot of time-series data for physical systems, where the underlying state-space model is quite complex and definitely not linear, so a Kalman Filter is out of the question. Following the ideas in the paper [Bayesian networks for mathematical models: Techniques for automatic construction and efficient inference](https://www.sciencedirect.com/science/article/pii/S0888613X12001740), I would like to use Dynamic Bayesian Networks (DBN) to model these problems. What are the most common approaches to define these DBN, and subsequently perform inference? I'd prefer methods for which libraries/packages in R or Python are available, to avoid reinventing the wheel.

**Note**: I don't expect to learn the *topology* of the network from data (at least not right at the start of the activity!). For now I'm with deriving the network structure from domain knowledge (physical laws). However, I need a flexible framework for inference, because I will apply it to many different DBN, not to just one fixed topology.