Skip to content

Commit 871dd38

Browse files
damian3031hashhar
authored andcommitted
Drop support for end-of-life Python 3.8
Remove backports.zoneinfo dependency
1 parent caff0e8 commit 871dd38

File tree

10 files changed

+10
-39
lines changed

10 files changed

+10
-39
lines changed

.github/workflows/ci.yml

-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ jobs:
4141
fail-fast: false
4242
matrix:
4343
python: [
44-
"3.8",
4544
"3.9",
4645
"3.10",
4746
"3.11",

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Client for [Trino](https://trino.io/), a distributed SQL engine for interactive and batch big data processing.
44
Provides a low-level client and a DBAPI 2.0 implementation and a SQLAlchemy adapter.
5-
It supports Python>=3.8 and PyPy.
5+
It supports Python>=3.9 and PyPy.
66

77
[![Build Status](https://github.com/trinodb/trino-python-client/workflows/ci/badge.svg)](https://github.com/trinodb/trino-python-client/actions?query=workflow%3Aci+event%3Apush+branch%3Amaster)
88
[![Trino Slack](https://img.shields.io/static/v1?logo=slack&logoColor=959DA5&label=Slack&labelColor=333a41&message=join%20conversation&color=3AC358)](https://trino.io/slack.html)

setup.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@
7070
"Operating System :: Microsoft :: Windows",
7171
"Programming Language :: Python",
7272
"Programming Language :: Python :: 3",
73-
"Programming Language :: Python :: 3.8",
7473
"Programming Language :: Python :: 3.9",
7574
"Programming Language :: Python :: 3.10",
7675
"Programming Language :: Python :: 3.11",
@@ -79,9 +78,8 @@
7978
"Programming Language :: Python :: Implementation :: PyPy",
8079
"Topic :: Database :: Front-Ends",
8180
],
82-
python_requires=">=3.8",
81+
python_requires=">=3.9",
8382
install_requires=[
84-
"backports.zoneinfo;python_version<'3.9'",
8583
"python-dateutil",
8684
"pytz",
8785
# requests CVE https://github.com/advisories/GHSA-j8r2-6x86-q33q

tests/integration/test_dbapi_integration.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,7 @@
1515
from datetime import date, datetime, time, timedelta, timezone
1616
from decimal import Decimal
1717
from typing import Tuple
18-
19-
try:
20-
from zoneinfo import ZoneInfo
21-
except ModuleNotFoundError:
22-
from backports.zoneinfo import ZoneInfo
18+
from zoneinfo import ZoneInfo
2319

2420
import pytest
2521
import requests

tests/integration/test_types_integration.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@
33
import uuid
44
from datetime import date, datetime, time, timedelta, timezone, tzinfo
55
from decimal import Decimal
6-
7-
try:
8-
from zoneinfo import ZoneInfo
9-
except ModuleNotFoundError:
10-
from backports.zoneinfo import ZoneInfo
6+
from zoneinfo import ZoneInfo
117

128
import pytest
139

tests/unit/test_client.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from typing import Any, Dict, Optional
1919
from unittest import TestCase, mock
2020
from urllib.parse import urlparse
21+
from zoneinfo import ZoneInfoNotFoundError
2122

2223
import gssapi
2324
import httpretty
@@ -59,11 +60,6 @@
5960
_RetryWithExponentialBackoff,
6061
)
6162

62-
try:
63-
from zoneinfo import ZoneInfoNotFoundError # type: ignore
64-
except ModuleNotFoundError:
65-
from backports.zoneinfo._common import ZoneInfoNotFoundError # type: ignore
66-
6763

6864
@mock.patch("trino.client.TrinoRequest.http")
6965
def test_trino_initial_request(mock_requests, sample_post_response_data):

tox.ini

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist = py37,py38,py39,py310,py311
2+
envlist = py39,py310,py311
33

44
[testenv]
55
extras = tests

trino/client.py

+2-7
Original file line numberDiff line numberDiff line change
@@ -47,20 +47,15 @@
4747
from email.utils import parsedate_to_datetime
4848
from time import sleep
4949
from typing import Any, Dict, List, Optional, Tuple, Union
50-
51-
from trino.mapper import RowMapper, RowMapperFactory
52-
53-
try:
54-
from zoneinfo import ZoneInfo
55-
except ModuleNotFoundError:
56-
from backports.zoneinfo import ZoneInfo
50+
from zoneinfo import ZoneInfo
5751

5852
import requests
5953
from tzlocal import get_localzone_name # type: ignore
6054

6155
import trino.logging
6256
from trino import constants, exceptions
6357
from trino._version import __version__
58+
from trino.mapper import RowMapper, RowMapperFactory
6459

6560
__all__ = ["ClientSession", "TrinoQuery", "TrinoRequest", "PROXIES"]
6661

trino/dbapi.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,7 @@
2727
from time import time
2828
from typing import Any, Dict, List, NamedTuple, Optional # NOQA for mypy types
2929
from urllib.parse import urlparse
30-
31-
try:
32-
from zoneinfo import ZoneInfo
33-
except ModuleNotFoundError:
34-
from backports.zoneinfo import ZoneInfo
30+
from zoneinfo import ZoneInfo
3531

3632
import trino.client
3733
import trino.exceptions

trino/mapper.py

+1-6
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,11 @@
22

33
import abc
44
import base64
5-
import sys
65
import uuid
76
from datetime import date, datetime, time, timedelta, timezone, tzinfo
87
from decimal import Decimal
98
from typing import Any, Dict, Generic, List, Optional, Tuple, TypeVar
10-
11-
if sys.version_info >= (3, 9):
12-
from zoneinfo import ZoneInfo
13-
else:
14-
from backports.zoneinfo import ZoneInfo
9+
from zoneinfo import ZoneInfo
1510

1611
import trino.exceptions
1712
from trino.types import (

0 commit comments

Comments
 (0)