Source code: https://github.com/hazrmard/multirotor
Demo/Quickstart: https://multirotor.readthedocs.io/en/latest/Quickstart.html
There are many simulation libraries out there. For example AirSim using Unreal Engine, several implementations in Unity3D, Matlab toolboxes. I wanted a simple hackable codebase with which to experiment.
So, I wrote this. Propellers, motors, batteries, airframe are their own components and can be mixed and matched. The code lets you create any number of propellers, and an optimization function learns a PID controller for that vehicle. Additionally, there are convenience functions to visualize in 3D and sensor measurements.
Please let me know what you think :)