Drop Python 3.7 support

This commit is contained in:
ZipFile 2025-05-18 08:54:11 +00:00
parent 6685c5a141
commit 46a8ea6bd0
5 changed files with 6 additions and 29 deletions

View File

@ -4,28 +4,12 @@ on: [push, pull_request, workflow_dispatch]
jobs: jobs:
tests-on-legacy-versions:
name: Run tests on legacy versions
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.7]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- run: pip install tox
- run: tox
env:
TOXENV: ${{ matrix.python-version }}
test-on-different-versions: test-on-different-versions:
name: Run tests name: Run tests
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
python-version: [3.8, 3.9, "3.10", 3.11, 3.12, 3.13] python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: actions/setup-python@v4 - uses: actions/setup-python@v4

View File

@ -13,7 +13,7 @@ maintainers = [
description = "Dependency injection framework for Python" description = "Dependency injection framework for Python"
readme = {file = "README.rst", content-type = "text/x-rst"} readme = {file = "README.rst", content-type = "text/x-rst"}
license = {file = "LICENSE.rst", content-type = "text/x-rst"} license = {file = "LICENSE.rst", content-type = "text/x-rst"}
requires-python = ">=3.7" requires-python = ">=3.8"
keywords = [ keywords = [
"Dependency injection", "Dependency injection",
"DI", "DI",
@ -31,7 +31,6 @@ classifiers = [
"Operating System :: OS Independent", "Operating System :: OS Independent",
"Programming Language :: Python", "Programming Language :: Python",
"Programming Language :: Python :: 3", "Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.10",

View File

@ -4,7 +4,6 @@ from __future__ import absolute_import
import asyncio import asyncio
import builtins import builtins
import contextvars
import copy import copy
import errno import errno
import functools import functools
@ -17,6 +16,7 @@ import sys
import threading import threading
import warnings import warnings
from configparser import ConfigParser as IniConfigParser from configparser import ConfigParser as IniConfigParser
from contextvars import ContextVar
try: try:
from inspect import _is_coroutine_mark as _is_coroutine_marker from inspect import _is_coroutine_mark as _is_coroutine_marker
@ -3224,15 +3224,10 @@ cdef class ContextLocalSingleton(BaseSingleton):
:param provides: Provided type. :param provides: Provided type.
:type provides: type :type provides: type
""" """
if not contextvars:
raise RuntimeError(
"Contextvars library not found. This provider "
"requires Python 3.7 or a backport of contextvars. "
"To install a backport run \"pip install contextvars\"."
)
super(ContextLocalSingleton, self).__init__(provides, *args, **kwargs) super(ContextLocalSingleton, self).__init__(provides, *args, **kwargs)
self._storage = contextvars.ContextVar("_storage", default=self._none) self._storage = ContextVar("_storage", default=self._none)
def reset(self): def reset(self):
"""Reset cached instance, if any. """Reset cached instance, if any.

View File

@ -34,7 +34,6 @@ async def test_init_async_function():
@mark.asyncio @mark.asyncio
@mark.skipif(sys.version_info < (3, 6), reason="requires Python 3.6+")
async def test_init_async_generator(): async def test_init_async_generator():
resource = object() resource = object()

View File

@ -1,7 +1,7 @@
[tox] [tox]
parallel_show_output = true parallel_show_output = true
envlist= envlist=
coveralls, pylint, flake8, pydocstyle, pydantic-v1, pydantic-v2, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, pypy3.9, pypy3.10 coveralls, pylint, flake8, pydocstyle, pydantic-v1, pydantic-v2, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, pypy3.9, pypy3.10
[testenv] [testenv]
deps= deps=