From 7576a59402c3ac92bbcc49963433495dc4b23799 Mon Sep 17 00:00:00 2001 From: Amin Alaee Date: Tue, 1 Feb 2022 17:12:56 +0100 Subject: [PATCH 1/3] Drop Python 3.6 --- .github/workflows/test-suite.yml | 2 +- README.md | 2 +- databases/backends/postgres.py | 1 - databases/core.py | 7 +------ docs/index.md | 2 +- requirements.txt | 7 ++----- setup.py | 5 ++--- 7 files changed, 8 insertions(+), 18 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..7d333403 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 7+ --- diff --git a/databases/backends/postgres.py b/databases/backends/postgres.py index 3d0a36f2..3e1a6fff 100644 --- a/databases/backends/postgres.py +++ b/databases/backends/postgres.py @@ -1,6 +1,5 @@ import logging import typing -from collections.abc import Sequence import asyncpg from sqlalchemy.dialects.postgresql import pypostgresql diff --git a/databases/core.py b/databases/core.py index 893eb37e..a5383052 100644 --- a/databases/core.py +++ b/databases/core.py @@ -1,8 +1,8 @@ import asyncio import contextlib +import contextvars import functools import logging -import sys import typing from types import TracebackType from urllib.parse import SplitResult, parse_qsl, unquote, urlsplit @@ -18,11 +18,6 @@ TransactionBackend, ) -if sys.version_info >= (3, 7): # pragma: no cover - import contextvars as contextvars -else: # pragma: no cover - import aiocontextvars as contextvars - 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", From 84ee96da180c16bb0bfdd23d5c9a17d1a667c6f1 Mon Sep 17 00:00:00 2001 From: Amin Alaee Date: Tue, 1 Feb 2022 17:20:17 +0100 Subject: [PATCH 2/3] fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d333403..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 7+ +**Requirements**: Python 3.7+ --- From 9d46a29133cb214be1c52bea6cf5923f98c8b418 Mon Sep 17 00:00:00 2001 From: Amin Alaee Date: Sun, 29 May 2022 10:46:52 +0200 Subject: [PATCH 3/3] lint --- databases/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/databases/core.py b/databases/core.py index 8e2f4dfc..0e27227c 100644 --- a/databases/core.py +++ b/databases/core.py @@ -1,9 +1,9 @@ import asyncio import contextlib -from contextvars import ContextVar import functools import logging import typing +from contextvars import ContextVar from types import TracebackType from urllib.parse import SplitResult, parse_qsl, unquote, urlsplit