Move hub.py to contrib directory