python distutils framework