There are 2 next SDK, supported by PX4 team, which I would recommend for you. Dronecode and MAVROS. With Dronecode I have no experiences. But I think that Droncode is better for your usage.
MAVROS is node for ROS, which is a huge framework mainly for controlling robots. It has own messaging system and good infrastructure for multiprocess systems. MAVROS is better to use for complex controlling systems.
For standalone application is better Droncode.
With both SDK is possible to write an application in Python.