code: def deploy(version):
      
      NAME = "pathquery"
      git = Command("git").in_dir(DIR.project)
      version_file = DIR.project.joinpath("VERSION")
      old_version = version_file.bytes().decode('utf8')
      if version_file.bytes().decode("utf8") != version:
          DIR.project.joinpath("VERSION").write_text(version)
          git("add", "VERSION").run()
          git("commit", "-m", "RELEASE: Version {0} -> {1}".format(
              old_version,
              version
          )).run()
          git("push").run()
          git("tag", "-a", version, "-m", "Version {0}".format(version)).run()
          git("push", "origin", version).run()
      else:
          git("push").run()
  
      # Set __version__ variable in __init__.py, build sdist and put it back
      initpy = DIR.project.joinpath(NAME, "__init__.py")
      original_initpy_contents = initpy.bytes().decode('utf8')
      initpy.write_text(
          original_initpy_contents.replace("DEVELOPMENT_VERSION", version)
      )
      python("setup.py", "sdist").in_dir(DIR.project).run()
      initpy.write_text(original_initpy_contents)
  
      # Upload to pypi
      python(
          "-m", "twine", "upload", "dist/{0}-{1}.tar.gz".format(NAME, version)
      ).in_dir(DIR.project).run()
docs: Deploy to pypi as specified version.