pdl.py: initial version