From 17b03a4a72a02cf0aa330c362beae06da762dc1f Mon Sep 17 00:00:00 2001
From: Amin Alaee <mohammadamin.alaee@gmail.com>
Date: Mon, 30 May 2022 12:32:22 +0200
Subject: [PATCH] Drop Python 3.6 (#458)

---
 .github/workflows/test-suite.yml | 2 +-
 README.md                        | 2 +-
 databases/core.py                | 7 +------
 docs/index.md                    | 2 +-
 requirements.txt                 | 7 ++-----
 setup.py                         | 5 ++---
 6 files changed, 8 insertions(+), 17 deletions(-)

diff --git a/.github/workflows/test-suite.yml b/.github/workflows/test-suite.yml
index 6a081e1e..0690b4d1 100644
--- a/.github/workflows/test-suite.yml
+++ b/.github/workflows/test-suite.yml
@@ -14,7 +14,7 @@ jobs:
 
     strategy:
       matrix:
-        python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]
+        python-version: ["3.7", "3.8", "3.9", "3.10"]
 
     services:
       mysql:
diff --git a/README.md b/README.md
index ede6bbc3..ba16a104 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ Databases is suitable for integrating against any async Web framework, such as [
 
 **Documentation**: [https://www.encode.io/databases/](https://www.encode.io/databases/)
 
-**Requirements**: Python 3.6+
+**Requirements**: Python 3.7+
 
 ---
 
diff --git a/databases/core.py b/databases/core.py
index ff208da2..0e27227c 100644
--- a/databases/core.py
+++ b/databases/core.py
@@ -2,8 +2,8 @@
 import contextlib
 import functools
 import logging
-import sys
 import typing
+from contextvars import ContextVar
 from types import TracebackType
 from urllib.parse import SplitResult, parse_qsl, unquote, urlsplit
 
@@ -13,11 +13,6 @@
 from databases.importer import import_from_string
 from databases.interfaces import DatabaseBackend, Record
 
-if sys.version_info >= (3, 7):  # pragma: no cover
-    from contextvars import ContextVar
-else:  # pragma: no cover
-    from aiocontextvars import ContextVar
-
 try:  # pragma: no cover
     import click
 
diff --git a/docs/index.md b/docs/index.md
index a5198af2..b18de817 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -17,7 +17,7 @@ expression language, and provides support for PostgreSQL, MySQL, and SQLite.
 Databases is suitable for integrating against any async Web framework, such as [Starlette][starlette],
 [Sanic][sanic], [Responder][responder], [Quart][quart], [aiohttp][aiohttp], [Tornado][tornado], or [FastAPI][fastapi].
 
-**Requirements**: Python 3.6+
+**Requirements**: Python 3.7+
 
 ---
 
diff --git a/requirements.txt b/requirements.txt
index a6c8960a..0d1d5b76 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,11 +1,8 @@
-# Notes...
-# The JSONField tests require sqlalchemy 1.3+. Other cases work at lower versions.
-# The aiocontextvars package is only required as a backport for Python 3.6.
 -e .
 
 # Async database drivers
-asyncmy;python_version>"3.6"
-aiomysql;python_version<"3.10"
+asyncmy
+aiomysql
 aiopg
 aiosqlite
 asyncpg
diff --git a/setup.py b/setup.py
index 046933be..decbf7e5 100644
--- a/setup.py
+++ b/setup.py
@@ -37,7 +37,7 @@ def get_packages(package):
 setup(
     name="databases",
     version=get_version("databases"),
-    python_requires=">=3.6",
+    python_requires=">=3.7",
     url="https://github.com/encode/databases",
     license="BSD",
     description="Async database support for Python.",
@@ -47,7 +47,7 @@ def get_packages(package):
     author_email="tom@tomchristie.com",
     packages=get_packages("databases"),
     package_data={"databases": ["py.typed"]},
-    install_requires=["sqlalchemy>=1.4,<1.5", 'aiocontextvars;python_version<"3.7"'],
+    install_requires=["sqlalchemy>=1.4,<1.5"],
     extras_require={
         "postgresql": ["asyncpg"],
         "asyncpg": ["asyncpg"],
@@ -66,7 +66,6 @@ def get_packages(package):
         "Operating System :: OS Independent",
         "Topic :: Internet :: WWW/HTTP",
         "Programming Language :: Python :: 3",
-        "Programming Language :: Python :: 3.6",
         "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: 3.8",
         "Programming Language :: Python :: 3.9",