You should be able to create a network like the one in the picture using SMILE. It may be a challenging network in terms of the number of parameters and perhaps inference but well, SMILE is very, very fast, so you may not even notice the time that it takes to update this network.
If the standard exact algorithm in SMILE (clustering) does not manage to update this network, please try EPIS-BN, one of the fastest, if not the fastest sampling algorithm (it is an approximate algorithm).
If that does not manage to update your network, you can implement your own specialized algorithm on the side. Just use SMILE to load or construct your network and then access the probability tables to get data into your own structures that you will then use to calculate the posteriors. You cannot upload the posteriors back into SMILE but you can use them in your Python program.