Setup script

@Paul, please kindly review it as I never tried to do a setup script in python.