diff --git a/README.md b/README.md index cf6b72d..18f42f9 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Open Source Initiative Approved License logo [![CI](https://github.com/kpfleming/jinjanator-plugin-format-xml/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/kpfleming/jinjanator-plugin-format-xml/actions/workflows/ci.yml) -[![Python](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/release/python-3920/) +[![Python](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/release/python-31019/) [![License - Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-9400d3.svg)](https://spdx.org/licenses/Apache-2.0.html) [![Code Style - Black](https://img.shields.io/badge/Code%20Style-Black-000000.svg)](https://github.com/psf/black) [![Types - Mypy](https://img.shields.io/badge/Types-Mypy-blue.svg)](https://github.com/python/mypy) diff --git a/changelog.d/+87dcfdc6.breaking.md b/changelog.d/+87dcfdc6.breaking.md new file mode 100644 index 0000000..896fdd3 --- /dev/null +++ b/changelog.d/+87dcfdc6.breaking.md @@ -0,0 +1,3 @@ +Support for Python 3.9 has been removed, and support for Python 3.14 +has been added. Since the minimum supported version is now 3.10, the +code has been updated to use features introduced in that version. diff --git a/pyproject.toml b/pyproject.toml index 6a26040..98583a1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,7 +13,7 @@ license = { text = "Apache-2.0" } authors = [ { name = "Kevin P. Fleming", email = "jinjanator@kevin.km6g.us" }, ] -requires-python = ">=3.9" +requires-python = ">=3.10" classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", @@ -22,11 +22,11 @@ classifiers = [ "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Typing :: Typed", ] dynamic = [ @@ -209,6 +209,9 @@ lint.unfixable = [ lint.isort.lines-after-imports = 2 lint.isort.lines-between-types = 1 +[tool.pyproject-fmt] +max_supported_python = "3.14" + [tool.pytest.ini_options] minversion = "6.0" xfail_strict = true @@ -264,7 +267,7 @@ name = "Fixes" showcontent = true [tool.mypy] -python_version = 3.9 +python_version = "3.10" namespace_packages = true explicit_package_bases = true check_untyped_defs = true diff --git a/src/jinjanator_plugin_format_xml/plugin.py b/src/jinjanator_plugin_format_xml/plugin.py index ed0ab41..45aefe0 100644 --- a/src/jinjanator_plugin_format_xml/plugin.py +++ b/src/jinjanator_plugin_format_xml/plugin.py @@ -1,5 +1,5 @@ from collections.abc import Iterable, Mapping -from typing import Any, Optional +from typing import Any import xmltodict @@ -11,10 +11,10 @@ class XMLFormat: name = "xml" - suffixes: Optional[Iterable[str]] = ".xml" - option_names: Optional[Iterable[str]] = "process-namespaces" + suffixes: Iterable[str] | None = ".xml" + option_names: Iterable[str] | None = "process-namespaces" - def __init__(self, options: Optional[Iterable[str]]) -> None: + def __init__(self, options: Iterable[str] | None) -> None: self.process_namespaces = False if options: for _option in options: diff --git a/workflow-support/versions.json b/workflow-support/versions.json index 6f1e258..582a602 100644 --- a/workflow-support/versions.json +++ b/workflow-support/versions.json @@ -1 +1 @@ -versions={"python": ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]} +versions={"python": ["3.10", "3.11", "3.12", "3.13", "3.14"]}