add python client
refine code