now iPython is optional