Repository: MLBazaar/MLBlocks (language: python)

Issue:
Support python 3.9 and 3.10
The changes involved are:

-  Change the `setup.py` python specifications
-  Add Python3.9 and 3.10 to `tox.ini`
-  Add Python3.9 and 3.10 to `.github/workflows/tests.yml`
-  Add 3.9 and 3.10 to the list of supported Python versions in the README.md

Note that this upgrade is only tested on mlblocks functionality. It does not test its compatibility with mlprimitives or BTB. 


Discussion / hints:

Fix patch:
diff --git a/Makefile b/Makefile
index 2ae6c7c3..4fa8cc04 100644
--- a/Makefile
+++ b/Makefile
@@ -76,6 +76,10 @@ install: clean-build clean-pyc ## install the package to the active Python's sit
 install-examples: clean-build clean-pyc ## install the package and the examples dependencies
 	pip install .[examples]
 
+.PHONY: install-unit
+install-unit: clean-build clean-pyc ## install the package and dependencies for unit tests
+	pip install .[unit]
+
 .PHONY: install-test
 install-test: clean-build clean-pyc ## install the package and test dependencies
 	pip install .[test]
diff --git a/README.md b/README.md
index 4da013b0..13c23c3a 100644
--- a/README.md
+++ b/README.md
@@ -50,7 +50,7 @@ Features include:
 
 ## Requirements
 
-**MLBlocks** has been developed and tested on [Python 3.6, 3.7 and 3.8](https://www.python.org/downloads/)
+**MLBlocks** has been developed and tested on [Python 3.6, 3.7, 3.8, 3.9, and 3.10](https://www.python.org/downloads/)
 
 ## Install with `pip`
 
diff --git a/setup.py b/setup.py
index 70d599ea..17159dbb 100644
--- a/setup.py
+++ b/setup.py
@@ -96,6 +96,8 @@
         'Programming Language :: Python :: 3.6',
         'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
+        'Programming Language :: Python :: 3.9',
+        'Programming Language :: Python :: 3.10',
     ],
     description='Pipelines and primitives for machine learning and data science.',
     extras_require={
@@ -113,7 +115,7 @@
     long_description_content_type='text/markdown',
     name='mlblocks',
     packages=find_packages(include=['mlblocks', 'mlblocks.*']),
-    python_requires='>=3.6,<3.9',
+    python_requires='>=3.6,<3.11',
     setup_requires=setup_requires,
     test_suite='tests',
     tests_require=tests_require,
diff --git a/tox.ini b/tox.ini
index e38f071b..a589526a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,8 +1,10 @@
 [tox]
-envlist = py3{6,7,8}, test-devel
+envlist = py3{6,7,8,9,10}, test-devel
 
 [travis]
 python =
+    3.10: py10
+    3.9: py39
     3.8: py38, test-devel
     3.7: py37
     3.6: py36


Test patch:
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 4cb525ed..3f46f728 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -45,7 +45,7 @@ jobs:
     runs-on: ${{ matrix.os }}
     strategy:
       matrix:
-        python-version: [3.6, 3.7, 3.8]
+        python-version: ['3.6', '3.7', '3.8', '3.9', '3.10']
         os: [ubuntu-20.04, macos-latest]
     steps:
     - uses: actions/checkout@v1