old_contents: """Release time helpers, executed using nox.
  """
  
  import nox
  
  
  def get_author_list():
      """Get the list of authors from Git commits.
      """
      # subprocess because session.run doesn't give us stdout
      result = subprocess.run(
          ["git", "log", "--use-mailmap", "--format=%aN <%aE>"],
          capture_output=True,
          encoding="utf-8",
      )
  
      # Create a unique list.
      authors = []
      seen_authors = set()
      for author in result.stdout.splitlines():
          author = author.strip()
          if author.lower() not in seen_authors:
              seen_authors.add(author.lower())
              authors.append(author)
  
      # Sort our list of Authors by their case insensitive name
      return sorted(authors, key=lambda x: x.lower())
  
  
  # -----------------------------------------------------------------------------
  # Commands used during the release process
  # -----------------------------------------------------------------------------
  @nox.session
  def generate_authors(session):
      # Get our list of authors
      session.log("Collecting author names")
      authors = get_author_list()
  
      # Write our authors to the AUTHORS file
      session.log("Writing AUTHORS")
      with io.open("AUTHORS.txt", "w", encoding="utf-8") as fp:
          fp.write(u"\n".join(authors))
          fp.write(u"\n")
  
  
  @nox.session
  def generate_news(session):
      session.log("Generating NEWS")
      session.install("towncrier")
  
      # You can pass 2 possible arguments: --draft, --yes
      session.run("towncrier", *session.posargs)
  
new_contents: """Release time helpers, executed using nox.
  """
  
  import io
  import subprocess
  
  import nox
  
  
  def get_author_list():
      """Get the list of authors from Git commits.
      """
      # subprocess because session.run doesn't give us stdout
      result = subprocess.run(
          ["git", "log", "--use-mailmap", "--format=%aN <%aE>"],
          capture_output=True,
          encoding="utf-8",
      )
  
      # Create a unique list.
      authors = []
      seen_authors = set()
      for author in result.stdout.splitlines():
          author = author.strip()
          if author.lower() not in seen_authors:
              seen_authors.add(author.lower())
              authors.append(author)
  
      # Sort our list of Authors by their case insensitive name
      return sorted(authors, key=lambda x: x.lower())
  
  
  # -----------------------------------------------------------------------------
  # Commands used during the release process
  # -----------------------------------------------------------------------------
  @nox.session
  def generate_authors(session):
      # Get our list of authors
      session.log("Collecting author names")
      authors = get_author_list()
  
      # Write our authors to the AUTHORS file
      session.log("Writing AUTHORS")
      with io.open("AUTHORS.txt", "w", encoding="utf-8") as fp:
          fp.write(u"\n".join(authors))
          fp.write(u"\n")
  
  
  @nox.session
  def generate_news(session):
      session.log("Generating NEWS")
      session.install("towncrier")
  
      # You can pass 2 possible arguments: --draft, --yes
      session.run("towncrier", *session.posargs)
  
subject: Add missing imports