Repository: tensorflow/addons

Issue:
Drop Python3.5 Support
Per SIG Build, python3.5 will not be supported in TF2.4 since it has reached end of life. We should align.


Discussion:
https://github.com/tensorflow/build/issues/14
Hi @seanpmorgan 
I can take up this task to port any module in python 3.5 to higher version
I think we should aim for python 3.8 as it is latest and has many good features.
What do you say @bhack 
Hi @Saqhas. So there should be no need to port anything as code is already built against py3.5, 3.6, 3.7, and 3.8:
https://github.com/tensorflow/addons/blob/master/.github/workflows/release.yml#L42

This more or less just involves dropping py3.5 from all of our build matrices. We could however use some py3.6+ features like f-strings though.




Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -107,7 +107,6 @@ def has_ext_modules(self):
         "Intended Audience :: Science/Research",
         "License :: OSI Approved :: Apache Software License",
         "Programming Language :: Python :: 3",
-        "Programming Language :: Python :: 3.5",
         "Programming Language :: Python :: 3.6",
         "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: 3.8",


Test patch:
diff --git a/.github/workflows/ci_test.yml b/.github/workflows/ci_test.yml
--- a/.github/workflows/ci_test.yml
+++ b/.github/workflows/ci_test.yml
@@ -73,7 +73,7 @@ jobs:
     steps:
       - uses: actions/setup-python@v1
         with:
-          python-version: 3.5
+          python-version: 3.6
       - uses: actions/checkout@v2
       - run: pip install --default-timeout=1000 -r tools/install_deps/tensorflow-cpu.txt -r tools/install_deps/pytest.txt
       - run: pip install -e ./
@@ -91,7 +91,7 @@ jobs:
       - uses: actions/checkout@v2
       - uses: actions/setup-python@v1
         with:
-          python-version: 3.7
+          python-version: 3.6
       - run: pip install pygithub click
       - name: Check that the CODEOWNERS is valid
         run: python .github/workflows/notify_codeowners.py .github/CODEOWNERS
diff --git a/tools/docker/cpu_tests.Dockerfile b/tools/docker/cpu_tests.Dockerfile
--- a/tools/docker/cpu_tests.Dockerfile
+++ b/tools/docker/cpu_tests.Dockerfile
@@ -1,5 +1,5 @@
 #syntax=docker/dockerfile:1.1.5-experimental
-FROM python:3.5 as build_wheel
+FROM python:3.6 as build_wheel
 
 ARG TF_VERSION=2.3.0
 RUN pip install --default-timeout=1000 tensorflow-cpu==$TF_VERSION
@@ -27,7 +27,7 @@ RUN bazel build --enable_runfiles build_pip_pkg
 RUN bazel-bin/build_pip_pkg artifacts
 
 
-FROM python:3.5
+FROM python:3.6
 
 COPY tools/install_deps/tensorflow-cpu.txt ./
 RUN pip install --default-timeout=1000 -r tensorflow-cpu.txt
diff --git a/tools/run_gpu_tests.sh b/tools/run_gpu_tests.sh
--- a/tools/run_gpu_tests.sh
+++ b/tools/run_gpu_tests.sh
@@ -7,6 +7,6 @@ docker build \
        -f tools/docker/build_wheel.Dockerfile \
        --target tfa_gpu_tests \
        --build-arg TF_VERSION=2.3.0 \
-       --build-arg PY_VERSION=3.5 \
+       --build-arg PY_VERSION=3.6 \
        -t tfa_gpu_tests ./
 docker run --rm -t -v cache_bazel:/root/.cache/bazel --gpus=all tfa_gpu_tests