docs: def find_required_python_version(
          classifiers: t.Sequence[str], version_prefix: str = 'Programming Language :: Python :: ',
          only_suffix: str = ' :: Only') -> t.Optional[str]:
      """Determine the minimum required Python version."""
      versions_min, versions_only = partition_version_classifiers(
          classifiers, version_prefix, only_suffix)
      if len(versions_only) > 1:
          raise ValueError(
              'more than one "{}" version encountered in {}'.format(only_suffix, versions_only))
      only_version = None
      if len(versions_only) == 1:
          only_version = versions_only[0]
          for version in versions_min:
              if version[:len(only_version)] != only_version:
                  raise ValueError(
                      'the "{}" version {} is inconsistent with version {}'
                      .format(only_suffix, only_version, version))
      min_supported_version = None
      for version in versions_min:
          if min_supported_version is None or \
                  (len(version) >= len(min_supported_version) and version < min_supported_version):
              min_supported_version = version
      if min_supported_version is None:
          if only_version is not None:
              return '.'.join([str(_) for _ in only_version])
      else:
          return '>=' + '.'.join([str(_) for _ in min_supported_version])
      return None