sift.py