closes #4: lazy load python library (avoid requiring it when useless)