From 99dd8448142299e883848d0bb30d2126f3497ff7 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 23 Jul 2022 18:54:53 +0000 Subject: [PATCH] [pre-commit.ci] auto fixes from pre-commit.com hooks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit for more information, see https://pre-commit.ci Signed-off-by: Bernát Gábor --- .pre-commit-config.yaml | 2 +- docs/changelog/2463.feature.rst | 1 + docs/example/jenkins.rst | 2 +- setup.cfg | 2 +- src/tox/config/__init__.py | 15 +++++---------- tox.ini | 12 ++++++------ 6 files changed, 15 insertions(+), 19 deletions(-) create mode 100644 docs/changelog/2463.feature.rst diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9fd83f586..f4389c044 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -28,7 +28,7 @@ repos: rev: v1.12.1 hooks: - id: blacken-docs - additional_dependencies: [ black==21.12b0 ] + additional_dependencies: [ black==22.6 ] - repo: https://github.com/pre-commit/pygrep-hooks rev: v1.9.0 hooks: diff --git a/docs/changelog/2463.feature.rst b/docs/changelog/2463.feature.rst new file mode 100644 index 000000000..ac18b0581 --- /dev/null +++ b/docs/changelog/2463.feature.rst @@ -0,0 +1 @@ +Use ``tomllib`` on Python 3.11 or later and ``tomli`` instead of ``toml`` library on lower versions - by :user:`gaborbernat`. diff --git a/docs/example/jenkins.rst b/docs/example/jenkins.rst index cdbd589df..bf8e3d426 100644 --- a/docs/example/jenkins.rst +++ b/docs/example/jenkins.rst @@ -63,7 +63,7 @@ with this: url = "https://bitbucket.org/hpk42/tox/raw/default/toxbootstrap.py" # os.environ['USETOXDEV']="1" # use tox dev version d = dict(__file__="toxbootstrap.py") - exec urllib.urlopen(url).read() in d + exec(urllib.urlopen(url).read(), globals=d) d["cmdline"](["--recreate"]) The downloaded ``toxbootstrap.py`` file downloads all necessary files to diff --git a/setup.cfg b/setup.cfg index dbc138e55..35ffc6b8f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -42,7 +42,7 @@ install_requires = virtualenv!=20.0.0,!=20.0.1,!=20.0.2,!=20.0.3,!=20.0.4,!=20.0.5,!=20.0.6,!=20.0.7,>=16.0.0 colorama>=0.4.1 ;platform_system=="Windows" importlib-metadata>=0.12;python_version<"3.8" - toml;python_version<"3.11" + tomli>=2.0.1;python_version<"3.11" python_requires = >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.* [options.packages.find] diff --git a/src/tox/config/__init__.py b/src/tox/config/__init__.py index b51df44d7..3f4980477 100644 --- a/src/tox/config/__init__.py +++ b/src/tox/config/__init__.py @@ -1,7 +1,6 @@ from __future__ import print_function import argparse -import io import itertools import json import os @@ -22,13 +21,9 @@ import six if sys.version_info >= (3, 11): - import tomllib as toml_loader - toml_mode = "rb" - toml_encoding = None + import tomllib as toml else: - import toml as toml_loader - toml_mode = "r" - toml_encoding = "UTF-8" + import tomli as toml from packaging import requirements from packaging.utils import canonicalize_name @@ -313,9 +308,9 @@ def parseconfig(args, plugins=()): def get_py_project_toml(path): - with io.open(str(path), mode=toml_mode, encoding=toml_encoding) as file_handler: - config_data = toml_loader.load(file_handler) - return config_data + with open(str(path), mode="rb") as file_handler: + config_data = toml.load(file_handler) + return config_data def propose_configs(cli_config_file): diff --git a/tox.ini b/tox.ini index 8a8972bcc..c2557528b 100644 --- a/tox.ini +++ b/tox.ini @@ -48,7 +48,7 @@ passenv = basepython = python3.10 skip_install = true deps = - pre-commit>=2.16 + pre-commit>=2.20 extras = lint commands = @@ -65,8 +65,8 @@ setenv = COVERAGE_FILE = {toxworkdir}/.coverage skip_install = true deps = - coverage>=6.2 - diff-cover>=6.4 + coverage>=6.4.4 + diff-cover>=6.5.1 parallel_show_output = true commands = coverage combine @@ -90,7 +90,7 @@ description = check that the long description is valid basepython = python3.9 skip_install = true deps = - twine>=3.7.1 + twine>=4.0.1 extras = commands = pip wheel -w {envtmpdir}/build --no-deps . @@ -114,9 +114,9 @@ passenv = * basepython = python3.10 deps = - gitpython>=3.1.24 + gitpython>=3.1.27 packaging>=21.3 - towncrier>=21.3 + towncrier>=21.9 commands = python {toxinidir}/tasks/release.py --version {posargs}