README: document Python version policy am: 56d530aa56

Original change: https://android-review.googlesource.com/c/platform/tools/repohooks/+/3491631

Change-Id: I13fe5e2ec54763d6a5a057fe88e91da917862ff6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/README.md b/README.md
index 9747c5d..ec3c22e 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # AOSP Preupload Hooks
 
-This repo holds hooks that get run by repo during the upload phase.  They
+This repo holds hooks that get run by [repo] during the upload phase.  They
 perform various checks automatically such as running linters on your code.
 
 Note: Currently all hooks are disabled by default.  Each repo must explicitly
@@ -311,6 +311,14 @@
   and exec-ed in its own context.  The only entry-point that matters is `main`.
 * New hooks can be added in `rh/hooks.py`.  Be sure to keep the list up-to-date
   with the documentation in this file.
+* Python versions
+  * Code loaded & run by end users (i.e. during `repo upload`) should stick to
+    older versions of Python.  We expect users to run on a variety of platforms
+    where Python is not the latest (e.g. Ubuntu LTS that is years behind).  We
+    currently require **Python 3.6**.  This aligns with [repo's supported Python
+    versions](https://gerrit.googlesource.com/git-repo/+/HEAD/docs/python-support.md).
+  * Code only run by repohooks developers may use much newer versions of Python
+    to keep things simple, especially as we don't readily test older versions.
 
 ## Warnings
 
@@ -337,3 +345,5 @@
   * Commit message checks (correct format/BUG/TEST/SOB tags/etc...).
   * Markdown (gitiles) validator.
   * Spell checker.
+
+[repo]: https://gerrit.googlesource.com/git-repo/
diff --git a/pre-upload.py b/pre-upload.py
index 892389d..c852c29 100755
--- a/pre-upload.py
+++ b/pre-upload.py
@@ -29,6 +29,7 @@
 
 
 # Assert some minimum Python versions as we don't test or support any others.
+# See README.md for what version we may require.
 if sys.version_info < (3, 6):
     print('repohooks: error: Python-3.6+ is required', file=sys.stderr)
     sys.exit(1)
diff --git a/tools/cpplint.py-update b/tools/cpplint.py-update
index eadc2cb..8732a62 100755
--- a/tools/cpplint.py-update
+++ b/tools/cpplint.py-update
@@ -22,6 +22,8 @@
 import urllib.request
 
 
+# Since this is manually run by repohooks developers, we can safely require more
+# recent versions of Python.
 assert (sys.version_info.major, sys.version_info.minor) >= (3, 9), (
     f"Python 3.9 or newer is required; found {sys.version}")
 
diff --git a/tools/pylint.py b/tools/pylint.py
index dff0007..5462407 100755
--- a/tools/pylint.py
+++ b/tools/pylint.py
@@ -24,6 +24,8 @@
 from typing import Dict, List, Optional, Set
 
 
+# This script is run by repohooks users.
+# See README.md for what version we may require.
 assert (sys.version_info.major, sys.version_info.minor) >= (3, 6), (
     f'Python 3.6 or newer is required; found {sys.version}')