Skip to content

Commit fdc5038

Browse files
authored
chore!: Drop support for Python 3.7, put minimum version limit on Black (#754)
Co-authored-by: Dylan Anthony <[email protected]>
1 parent 88e79ba commit fdc5038

26 files changed

+50
-178
lines changed

Diff for: .github/workflows/checks.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
test:
1212
strategy:
1313
matrix:
14-
python: [ "3.7", "3.8", "3.9", "3.10", "3.11" ]
14+
python: [ "3.8", "3.9", "3.10", "3.11" ]
1515
os: [ ubuntu-latest, macos-latest, windows-latest ]
1616
runs-on: ${{ matrix.os }}
1717
steps:

Diff for: end_to_end_tests/golden-record/my_test_api_client/models/an_array_with_a_recursive_ref_in_items_object_additional_properties_item.py

-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ class AnArrayWithARecursiveRefInItemsObjectAdditionalPropertiesItem:
1414
)
1515

1616
def to_dict(self) -> Dict[str, Any]:
17-
1817
field_dict: Dict[str, Any] = {}
1918
for prop_name, prop in self.additional_properties.items():
2019
field_dict[prop_name] = []

Diff for: end_to_end_tests/golden-record/my_test_api_client/models/free_form_model.py

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ class FreeFormModel:
1212
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
1313

1414
def to_dict(self) -> Dict[str, Any]:
15-
1615
field_dict: Dict[str, Any] = {}
1716
field_dict.update(self.additional_properties)
1817
field_dict.update({})

Diff for: end_to_end_tests/golden-record/my_test_api_client/models/import_.py

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ class Import:
1212
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
1313

1414
def to_dict(self) -> Dict[str, Any]:
15-
1615
field_dict: Dict[str, Any] = {}
1716
field_dict.update(self.additional_properties)
1817
field_dict.update({})

Diff for: end_to_end_tests/golden-record/my_test_api_client/models/model_name.py

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ class ModelName:
1212
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
1313

1414
def to_dict(self) -> Dict[str, Any]:
15-
1615
field_dict: Dict[str, Any] = {}
1716
field_dict.update(self.additional_properties)
1817
field_dict.update({})

Diff for: end_to_end_tests/golden-record/my_test_api_client/models/model_reference_with_periods.py

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ class ModelReferenceWithPeriods:
1212
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
1313

1414
def to_dict(self) -> Dict[str, Any]:
15-
1615
field_dict: Dict[str, Any] = {}
1716
field_dict.update(self.additional_properties)
1817
field_dict.update({})

Diff for: end_to_end_tests/golden-record/my_test_api_client/models/model_with_additional_properties_refed.py

-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ class ModelWithAdditionalPropertiesRefed:
1414
additional_properties: Dict[str, AnEnum] = attr.ib(init=False, factory=dict)
1515

1616
def to_dict(self) -> Dict[str, Any]:
17-
1817
field_dict: Dict[str, Any] = {}
1918
for prop_name, prop in self.additional_properties.items():
2019
field_dict[prop_name] = prop.value

Diff for: end_to_end_tests/golden-record/my_test_api_client/models/model_with_any_json_properties.py

-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ def to_dict(self) -> Dict[str, Any]:
2626

2727
field_dict: Dict[str, Any] = {}
2828
for prop_name, prop in self.additional_properties.items():
29-
3029
if isinstance(prop, ModelWithAnyJsonPropertiesAdditionalPropertyType0):
3130
field_dict[prop_name] = prop.to_dict()
3231

Diff for: end_to_end_tests/golden-record/my_test_api_client/models/model_with_any_json_properties_additional_property_type_0.py

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ class ModelWithAnyJsonPropertiesAdditionalPropertyType0:
1212
additional_properties: Dict[str, str] = attr.ib(init=False, factory=dict)
1313

1414
def to_dict(self) -> Dict[str, Any]:
15-
1615
field_dict: Dict[str, Any] = {}
1716
field_dict.update(self.additional_properties)
1817
field_dict.update({})

Diff for: end_to_end_tests/golden-record/my_test_api_client/models/model_with_backslash_in_description.py

-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ class ModelWithBackslashInDescription:
1414
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
1515

1616
def to_dict(self) -> Dict[str, Any]:
17-
1817
field_dict: Dict[str, Any] = {}
1918
field_dict.update(self.additional_properties)
2019
field_dict.update({})

Diff for: end_to_end_tests/golden-record/my_test_api_client/models/model_with_primitive_additional_properties_a_date_holder.py

-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ class ModelWithPrimitiveAdditionalPropertiesADateHolder:
1414
additional_properties: Dict[str, datetime.datetime] = attr.ib(init=False, factory=dict)
1515

1616
def to_dict(self) -> Dict[str, Any]:
17-
1817
field_dict: Dict[str, Any] = {}
1918
for prop_name, prop in self.additional_properties.items():
2019
field_dict[prop_name] = prop.isoformat()

Diff for: end_to_end_tests/golden-record/my_test_api_client/models/model_with_recursive_ref_in_additional_properties.py

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ class ModelWithRecursiveRefInAdditionalProperties:
1212
additional_properties: Dict[str, "ModelWithRecursiveRefInAdditionalProperties"] = attr.ib(init=False, factory=dict)
1313

1414
def to_dict(self) -> Dict[str, Any]:
15-
1615
field_dict: Dict[str, Any] = {}
1716
for prop_name, prop in self.additional_properties.items():
1817
field_dict[prop_name] = prop.to_dict()

Diff for: end_to_end_tests/golden-record/my_test_api_client/models/none.py

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ class None_:
1212
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
1313

1414
def to_dict(self) -> Dict[str, Any]:
15-
1615
field_dict: Dict[str, Any] = {}
1716
field_dict.update(self.additional_properties)
1817
field_dict.update({})

Diff for: end_to_end_tests/golden-record/my_test_api_client/models/post_responses_unions_simple_before_complex_response_200a_type_1.py

-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ class PostResponsesUnionsSimpleBeforeComplexResponse200AType1:
1212
additional_properties: Dict[str, Any] = attr.ib(init=False, factory=dict)
1313

1414
def to_dict(self) -> Dict[str, Any]:
15-
1615
field_dict: Dict[str, Any] = {}
1716
field_dict.update(self.additional_properties)
1817
field_dict.update({})

Diff for: end_to_end_tests/golden-record/pyproject.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ packages = [
1212
include = ["CHANGELOG.md", "my_test_api_client/py.typed"]
1313

1414
[tool.poetry.dependencies]
15-
python = "^3.7"
15+
python = "^3.8"
1616
httpx = ">=0.15.4,<0.25.0"
1717
attrs = ">=21.3.0"
1818
python-dateutil = "^2.8.0"
@@ -23,7 +23,7 @@ build-backend = "poetry.core.masonry.api"
2323

2424
[tool.black]
2525
line-length = 120
26-
target_version = ['py37', 'py38', 'py39']
26+
target_version = ['py38', 'py39', 'py310', 'py311']
2727
exclude = '''
2828
(
2929
/(

Diff for: integration-tests/pyproject.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ packages = [
1010
include = ["CHANGELOG.md", "open_api_test_server_client/py.typed"]
1111

1212
[tool.poetry.dependencies]
13-
python = "^3.7"
13+
python = "^3.8"
1414
httpx = ">=0.15.4,<0.25.0"
1515
attrs = ">=21.3.0"
1616
python-dateutil = "^2.8.0"
@@ -24,7 +24,7 @@ build-backend = "poetry.masonry.api"
2424

2525
[tool.black]
2626
line-length = 120
27-
target_version = ['py37', 'py38', 'py39']
27+
target_version = ['py38', 'py39', 'py310', 'py311']
2828
exclude = '''
2929
(
3030
/(

Diff for: openapi_python_client/__init__.py

+1-6
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import mimetypes
55
import shutil
66
import subprocess
7-
import sys
87
from enum import Enum
8+
from importlib.metadata import version
99
from pathlib import Path
1010
from subprocess import CalledProcessError
1111
from typing import Any, Dict, List, Optional, Sequence, Union
@@ -21,11 +21,6 @@
2121
from .parser import GeneratorData, import_string_from_class
2222
from .parser.errors import ErrorLevel, GeneratorError
2323

24-
if sys.version_info.minor < 8: # version did not exist before 3.8, need to use a backport
25-
from importlib_metadata import version
26-
else:
27-
from importlib.metadata import version # type: ignore
28-
2924
__version__ = version(__package__)
3025

3126

Diff for: openapi_python_client/cli.py

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ def _version_callback(value: bool) -> None:
2121

2222

2323
def _process_config(path: Optional[pathlib.Path]) -> Config:
24-
2524
if not path:
2625
return Config()
2726

Diff for: openapi_python_client/parser/openapi.py

-1
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,6 @@ def _add_responses(
269269
) -> Tuple["Endpoint", Schemas]:
270270
endpoint = deepcopy(endpoint)
271271
for code, response_data in data.items():
272-
273272
status_code: HTTPStatus
274273
try:
275274
status_code = HTTPStatus(int(code))

Diff for: openapi_python_client/schema/openapi_schema_pydantic/open_api.py

+1-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# pylint: disable=W0611
2-
import sys
3-
from typing import List, Optional, Union
2+
from typing import List, Literal, Optional, Union
43

54
from pydantic import BaseModel, Extra
65

@@ -12,11 +11,6 @@
1211
from .server import Server
1312
from .tag import Tag
1413

15-
if sys.version_info.minor < 8:
16-
from typing_extensions import Literal
17-
else:
18-
from typing import Literal # type: ignore
19-
2014

2115
class OpenAPI(BaseModel):
2216
"""This is the root document object of the OpenAPI document.

Diff for: openapi_python_client/templates/pyproject.toml.jinja

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ packages = [
1313
include = ["CHANGELOG.md", "{{ package_name }}/py.typed"]
1414

1515
[tool.poetry.dependencies]
16-
python = "^3.7"
16+
python = "^3.8"
1717
httpx = ">=0.15.4,<0.25.0"
1818
attrs = ">=21.3.0"
1919
python-dateutil = "^2.8.0"

Diff for: openapi_python_client/templates/pyproject_no_poetry.toml.jinja

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.black]
22
line-length = 120
3-
target_version = ['py37', 'py38', 'py39']
3+
target_version = ['py38', 'py39', 'py310', 'py311']
44
exclude = '''
55
(
66
/(

Diff for: openapi_python_client/templates/setup.py.jinja

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ setup(
1212
long_description=long_description,
1313
long_description_content_type="text/markdown",
1414
packages=find_packages(),
15-
python_requires=">=3.7, <4",
15+
python_requires=">=3.8, <4",
1616
install_requires=["httpx >= 0.15.0, < 0.25.0", "attrs >= 21.3.0", "python-dateutil >= 2.8.0, < 3"],
1717
package_data={"{{ package_name }}": ["py.typed"]},
1818
)

0 commit comments

Comments
 (0)