code: def create_or_update_project_index(
      bucket: "Bucket", prefix: str, project_names: Sequence[str]
  ) -> None:
      anchors = [
          f'<a href="{name}/">{name}</a><br>' for name in project_names
      ]
  
      index = INDEX_TEMPLATE % "\n".join(anchors)
  
      upload_index(bucket, prefix, index)
  
file_path: fairseq2/ci/scripts/update_pep503_index.py
imports: from argparse import ArgumentParser, Namespace
  from io import BytesIO
  from pathlib import PurePath
  from typing import TYPE_CHECKING, Any, Final, Optional, Sequence
  import boto3
label_desc: Use image node_id 4 for calling a global function with example usage: create_or_update_project_index(bucket, prefix, project_names) without return types