Setup script

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