added qp.py and requirements