How to check if object is cycles light source? My first idea was to get the surface type of the material. If this is an emission shader it should be a light source, but I can't find something in the python documentation to get the surface input.
You can do this by getting the material and checking if there is a node called Emission in the node tree, like this:

import bpy
obj = bpy.context.object
nodes = obj.data.materials[0].node_tree.nodes
if "Emission" in nodes:
    print("yes")


Likewise, you could also check for a EMISSION node by using this instead:

for node in nodes:
    if node.type == "EMISSION":
        print("yes")


That way if the user had changed the name it would still catch it.