code: def new_deploy(py_ver: PyVer, release_target: ReleaseTarget):
      
      cache_file = f'app_{py_ver.name}.tar'
      template = yaml.safe_load(f"""
      machine:
        image: circleci/classic:201710-02
      steps:
        - attach_workspace:
            at: {cache_dir}
        - checkout
        - run:
            name: Install prerequisites
            command: sudo pip install awscli
        - run:
            name: Load docker image layer cache
            command: docker load -i {cache_dir}/{cache_file}
        - run:
            name: Start a named container
            command: docker run --name=SDK {py_ver.tag}
        - run:
            name: Extract the documentation
            command: 'docker cp SDK:/build/built_docs ./built_docs'
        - run:
            name: Upload the documentation
            command: >-
              aws s3 sync --delete --cache-control
              max-age=3600 built_docs s3://mbed-cloud-sdk-python
        - run:
            name: Tag and release
            command: >-
              docker run --env-file=scripts/templates/envvars.env
              -e TWINE_REPOSITORY={release_target.twine_repo}
              {py_ver.tag}
              sh -c "source .venv/bin/activate && python scripts/tag_and_release.py --mode={release_target.mode}"
        - run:
            name: Start the release party!
            command: >-
              docker run --env-file=scripts/templates/envvars.env
              {py_ver.tag}
              sh -c "source .venv/bin/activate && python scripts/notify.py"
      """)
      return deploy_name(py_ver, release_target), template
docs: Job for deploying package to pypi