code: def generate_sample_cdk_py_module(env_root, module_dir=None):
      
      if module_dir is None:
          module_dir = os.path.join(env_root, 'sampleapp.cdk')
      generate_sample_module(module_dir)
      for i in ['app.py', 'cdk.json', 'lambda-index.py', 'package.json',
                'runway.module.yml', 'Pipfile']:
          shutil.copyfile(
              os.path.join(ROOT,
                           'templates',
                           'cdk-py',
                           i),
              os.path.join(module_dir, i),
          )
      with open(os.path.join(module_dir, '.gitignore'), 'w') as stream:
          stream.write('node_modules')
      LOGGER.info("Sample CDK module created at %s", module_dir)
      LOGGER.info('To finish its setup, change to the %s directory and execute '
                  '"npm install" and "pipenv update -d --three" to generate its '
                  'lockfiles.', module_dir)
docs: Generate skeleton CDK python sample module.