Repository: open-telemetry/opentelemetry-python

Issue:
Drop support for Python 3.5
Following discussion: https://github.com/open-telemetry/opentelemetry-python/discussions/1647


Discussion:
I'll be happy to get this one done :sunglasses: 

Resolving patch:
diff --git a/scripts/eachdist.py b/scripts/eachdist.py
--- a/scripts/eachdist.py
+++ b/scripts/eachdist.py
@@ -7,7 +7,6 @@
 import shutil
 import subprocess
 import sys
-from collections import namedtuple
 from configparser import ConfigParser
 from datetime import datetime
 from inspect import cleandoc
@@ -26,17 +25,7 @@ def unique(elems):
             seen.add(elem)
 
 
-try:
-    subprocess_run = subprocess.run
-except AttributeError:  # Py < 3.5 compat
-    CompletedProcess = namedtuple("CompletedProcess", "returncode")
-
-    def subprocess_run(*args, **kwargs):
-        check = kwargs.pop("check", False)
-        if check:
-            subprocess.check_call(*args, **kwargs)
-            return CompletedProcess(returncode=0)
-        return CompletedProcess(returncode=subprocess.call(*args, **kwargs))
+subprocess_run = subprocess.run
 
 
 def extraargs_help(calledcmd):


Test patch:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -16,7 +16,6 @@ jobs:
   build:
     env:
       # We use these variables to convert between tox and GHA version literals
-      py35: 3.5
       py36: 3.6
       py37: 3.7
       py38: 3.8
@@ -27,18 +26,9 @@ jobs:
     strategy:
       fail-fast: false  # ensures the entire test matrix is run, even if one permutation fails
       matrix:
-        python-version: [ py35, py36, py37, py38, py39, pypy3 ]
+        python-version: [ py36, py37, py38, py39, pypy3 ]
         package: ["instrumentation", "core", "exporter", "propagator"]
         os: [ ubuntu-latest ]
-        include:
-          # py35-instrumentation segfaults on 18.04 so we instead run on 20.04
-          - python-version: py35
-            package: instrumentation
-            os: ubuntu-20.04
-        exclude:
-          - os: ubuntu-latest
-            python-version: py35
-            package: instrumentation
     steps:
       - name: Checkout Core Repo @ SHA - ${{ github.sha }}
         uses: actions/checkout@v2
@@ -118,7 +108,6 @@ jobs:
   contrib-build:
     env:
       # We use these variables to convert between tox and GHA version literals
-      py35: 3.5
       py36: 3.6
       py37: 3.7
       py38: 3.8
@@ -128,18 +117,9 @@ jobs:
     strategy:
       fail-fast: false  # ensures the entire test matrix is run, even if one permutation fails
       matrix:
-        python-version: [ py35, py36, py37, py38, py39, pypy3 ]
+        python-version: [ py36, py37, py38, py39, pypy3 ]
         package: ["instrumentation", "exporter"]
         os: [ ubuntu-latest ]
-        include:
-          # py35-instrumentation segfaults on 18.04 so we instead run on 20.04
-          - python-version: py35
-            package: instrumentation
-            os: ubuntu-20.04
-        exclude:
-          - os: ubuntu-latest
-            python-version: py35
-            package: instrumentation
     steps:
       - name: Checkout Contrib Repo @ SHA - ${{ env.CONTRIB_REPO_SHA }}
         uses: actions/checkout@v2
diff --git a/tests/util/setup.cfg b/tests/util/setup.cfg
--- a/tests/util/setup.cfg
+++ b/tests/util/setup.cfg
@@ -26,14 +26,13 @@ classifiers =
     License :: OSI Approved :: Apache Software License
     Programming Language :: Python
     Programming Language :: Python :: 3
-    Programming Language :: Python :: 3.5
     Programming Language :: Python :: 3.6
     Programming Language :: Python :: 3.7
     Programming Language :: Python :: 3.8
     Programming Language :: Python :: 3.9
 
 [options]
-python_requires = >=3.5
+python_requires = >=3.6
 package_dir=
     =src
 packages=find_namespace: