Project structure – technology stack for physics software

I have a project idea for a formula simulation software for physics with the ability to extend it with custom plugins. I'm just thinking about the tech stack to use.

When I think about the users and their background, I would say that this would be very useful for people in science, and in my experience, most of them know Python pretty well, which gives them the ability to write plug-ins in Python.

For the simulation part, I am currently thinking of 2D and 3D simulatins of different physics models. C ++ could be used, as there are several libraries in this area.

Therefore, my current outline is to use Python for the core interface, the UI, and the plugin interface. And to use C ++ for the simulation part and an interface library like pybind11 or similar for the connection.

Does anyone have experience with this type of software and has to make some input regarding the options of the tech stack?