Basically, it is a point in your script where contorl first enters or goes to when you execute your script from command line. It is a standard practice for writing python code specially when developing libraries or packages. __main__ is the entry point in python scripts. setup.py script makes the modules executable if they have an entry point.
Here are some of the great links: