From 6733ddf52251bf67adc0356cf5701d9f2d692994 Mon Sep 17 00:00:00 2001 From: Alessio Bogon <778703+youtux@users.noreply.github.com> Date: Sun, 23 Jul 2023 12:56:01 +0200 Subject: [PATCH 01/13] Update poetry version --- .github/workflows/main.yml | 2 +- poetry.lock | 31 +------------------------------ 2 files changed, 2 insertions(+), 31 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 11d4b8e..d0a0c3e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -43,7 +43,7 @@ jobs: - name: Install poetry run: | - python -m pip install poetry==1.3.1 + python -m pip install poetry==1.5.1 - name: Configure poetry run: | diff --git a/poetry.lock b/poetry.lock index e8db330..e09e59d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. [[package]] name = "cachetools" version = "5.3.1" description = "Extensible memoizing collections and decorators" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -16,7 +15,6 @@ files = [ name = "chardet" version = "5.1.0" description = "Universal encoding detector for Python 3" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -28,7 +26,6 @@ files = [ name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -40,7 +37,6 @@ files = [ name = "coverage" version = "6.5.0" description = "Code coverage measurement for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -106,7 +102,6 @@ toml = ["tomli"] name = "distlib" version = "0.3.7" description = "Distribution utilities" -category = "dev" optional = false python-versions = "*" files = [ @@ -118,7 +113,6 @@ files = [ name = "exceptiongroup" version = "1.1.2" description = "Backport of PEP 654 (exception groups)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -133,7 +127,6 @@ test = ["pytest (>=6)"] name = "execnet" version = "2.0.2" description = "execnet: rapid multi-Python deployment" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -148,7 +141,6 @@ testing = ["hatch", "pre-commit", "pytest", "tox"] name = "filelock" version = "3.12.2" description = "A platform independent file lock." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -164,7 +156,6 @@ testing = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "diff-cover (>=7.5)", "p name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -176,7 +167,6 @@ files = [ name = "mako" version = "1.2.4" description = "A super-fast templating language that borrows the best ideas from the existing templating languages." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -196,7 +186,6 @@ testing = ["pytest"] name = "markupsafe" version = "2.1.3" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -256,7 +245,6 @@ files = [ name = "mypy" version = "0.982" description = "Optional static typing for Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -300,7 +288,6 @@ reports = ["lxml"] name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -312,7 +299,6 @@ files = [ name = "packaging" version = "23.1" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -324,7 +310,6 @@ files = [ name = "parse" version = "1.19.1" description = "parse() is the opposite of format()" -category = "main" optional = false python-versions = "*" files = [ @@ -336,7 +321,6 @@ files = [ name = "parse-type" version = "0.6.2" description = "Simplifies to build parse types based on the parse module" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*" files = [ @@ -357,7 +341,6 @@ testing = ["pytest (<5.0)", "pytest (>=5.0)", "pytest-html (>=1.19.0)"] name = "platformdirs" version = "3.9.1" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -373,7 +356,6 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest- name = "pluggy" version = "1.2.0" description = "plugin and hook calling mechanisms for python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -389,7 +371,6 @@ testing = ["pytest", "pytest-benchmark"] name = "pygments" version = "2.15.1" description = "Pygments is a syntax highlighting package written in Python." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -404,7 +385,6 @@ plugins = ["importlib-metadata"] name = "pyproject-api" version = "1.5.3" description = "API to interact with the python pyproject.toml based projects" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -424,7 +404,6 @@ testing = ["covdefaults (>=2.3)", "importlib-metadata (>=6.6)", "pytest (>=7.3.1 name = "pytest" version = "7.4.0" description = "pytest: simple powerful testing with Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -447,7 +426,6 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no name = "pytest-xdist" version = "3.3.1" description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -468,7 +446,6 @@ testing = ["filelock"] name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -480,7 +457,6 @@ files = [ name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -492,7 +468,6 @@ files = [ name = "tox" version = "4.6.4" description = "tox is a generic virtualenv management and test command line tool" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -520,7 +495,6 @@ testing = ["build[virtualenv] (>=0.10)", "covdefaults (>=2.3)", "detect-test-pol name = "types-docutils" version = "0.20.0.1" description = "Typing stubs for docutils" -category = "dev" optional = false python-versions = "*" files = [ @@ -532,7 +506,6 @@ files = [ name = "types-setuptools" version = "65.7.0.4" description = "Typing stubs for setuptools" -category = "dev" optional = false python-versions = "*" files = [ @@ -547,7 +520,6 @@ types-docutils = "*" name = "typing-extensions" version = "4.7.1" description = "Backported and Experimental Type Hints for Python 3.7+" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -559,7 +531,6 @@ files = [ name = "virtualenv" version = "20.24.1" description = "Virtual Python Environment builder" -category = "dev" optional = false python-versions = ">=3.7" files = [ From 4152a6ab8a1205d162aefe3d57779664068ada6f Mon Sep 17 00:00:00 2001 From: Alessio Bogon <778703+youtux@users.noreply.github.com> Date: Sun, 23 Jul 2023 12:57:31 +0200 Subject: [PATCH 02/13] Declare python3.12 compatibility --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index dedf7e1..4465ffc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,6 +24,7 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] [tool.poetry.plugins."pytest11"] From 56f3d61c1ccfe3eacf74b06a70d3a8355d6c4893 Mon Sep 17 00:00:00 2001 From: Alessio Bogon <778703+youtux@users.noreply.github.com> Date: Sun, 23 Jul 2023 12:59:11 +0200 Subject: [PATCH 03/13] Add latest pytests to the matrix --- tox.ini | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tox.ini b/tox.ini index c4fe349..d1184ac 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] distshare = {homedir}/.tox/distshare -envlist = py{38,39,310,311,312}-pytest{62,70,71,72,latest}-coverage +envlist = py{38,39,310,311,312}-pytest{62,70,71,72,73,74,latest}-coverage py311-pytestlatest-xdist-coverage mypy @@ -11,6 +11,8 @@ setenv = xdist: _PYTEST_MORE_ARGS=-n3 -rfsxX deps = pytestlatest: pytest + pytest74: pytest~=7.4.0 + pytest73: pytest~=7.3.0 pytest72: pytest~=7.2.0 pytest71: pytest~=7.1.0 pytest70: pytest~=7.0.0 @@ -21,7 +23,4 @@ deps = commands = {env:_PYTEST_CMD:pytest} {env:_PYTEST_MORE_ARGS:} {posargs:-vvl} [testenv:mypy] -deps = - mypy==0.961 - types-setuptools commands = mypy From b10d69ef7ee93e5e4a42ae577818e87275377e32 Mon Sep 17 00:00:00 2001 From: Alessio Bogon <778703+youtux@users.noreply.github.com> Date: Sun, 23 Jul 2023 13:07:30 +0200 Subject: [PATCH 04/13] require pass for py3.12 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d0a0c3e..b190c08 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,7 +30,7 @@ jobs: - python-version: "3.12-dev" toxfactor: py312 ignore-typecheck-outcome: true - ignore-test-outcome: true + ignore-test-outcome: false steps: - uses: actions/checkout@v3 From d1056fa8579a863437b697df9e9a2abdadb8908c Mon Sep 17 00:00:00 2001 From: Alessio Bogon <778703+youtux@users.noreply.github.com> Date: Sun, 23 Jul 2023 13:08:20 +0200 Subject: [PATCH 05/13] Add py3.13 --- .github/workflows/main.yml | 4 ++++ tox.ini | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b190c08..5fb5ece 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -31,6 +31,10 @@ jobs: toxfactor: py312 ignore-typecheck-outcome: true ignore-test-outcome: false + - python-version: "3.13-dev" + toxfactor: py313 + ignore-typecheck-outcome: true + ignore-test-outcome: true steps: - uses: actions/checkout@v3 diff --git a/tox.ini b/tox.ini index d1184ac..ea95040 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] distshare = {homedir}/.tox/distshare -envlist = py{38,39,310,311,312}-pytest{62,70,71,72,73,74,latest}-coverage +envlist = py{38,39,310,311,312,313}-pytest{62,70,71,72,73,74,latest}-coverage py311-pytestlatest-xdist-coverage mypy From 3c40550cd5364df9920df814d28d9e597b381069 Mon Sep 17 00:00:00 2001 From: Alessio Bogon <778703+youtux@users.noreply.github.com> Date: Sun, 23 Jul 2023 13:09:39 +0200 Subject: [PATCH 06/13] We are ahead of our time --- .github/workflows/main.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5fb5ece..b190c08 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -31,10 +31,6 @@ jobs: toxfactor: py312 ignore-typecheck-outcome: true ignore-test-outcome: false - - python-version: "3.13-dev" - toxfactor: py313 - ignore-typecheck-outcome: true - ignore-test-outcome: true steps: - uses: actions/checkout@v3 From 257155610be2302c05e06d6a19ebd7f768a50df6 Mon Sep 17 00:00:00 2001 From: Alessio Bogon <778703+youtux@users.noreply.github.com> Date: Sun, 23 Jul 2023 13:15:40 +0200 Subject: [PATCH 07/13] Use dotted tox factors, now that they are available --- .github/workflows/main.yml | 12 ++++++------ tox.ini | 16 ++++++++-------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b190c08..6bd65d8 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,25 +12,25 @@ jobs: matrix: include: - python-version: "3.8" - toxfactor: py38 + toxfactor: py3.8 ignore-typecheck-outcome: true ignore-test-outcome: false - python-version: "3.9" - toxfactor: py39 + toxfactor: py3.9 ignore-typecheck-outcome: true ignore-test-outcome: false - python-version: "3.10" - toxfactor: py310 + toxfactor: py3.10 ignore-typecheck-outcome: true ignore-test-outcome: false - python-version: "3.11" - toxfactor: py311 + toxfactor: py3.11 ignore-typecheck-outcome: true ignore-test-outcome: false - python-version: "3.12-dev" - toxfactor: py312 + toxfactor: py3.12 ignore-typecheck-outcome: true - ignore-test-outcome: false + ignore-test-outcome: steps: - uses: actions/checkout@v3 diff --git a/tox.ini b/tox.ini index ea95040..c0a37d6 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] distshare = {homedir}/.tox/distshare -envlist = py{38,39,310,311,312,313}-pytest{62,70,71,72,73,74,latest}-coverage - py311-pytestlatest-xdist-coverage +envlist = py{3.8,3.9,3.10,3.11,3.12,3.13}-pytest{6.2,7.0,7.1,7.2,7.3,7.4,latest}-coverage + py3.11-pytestlatest-xdist-coverage mypy [testenv] @@ -11,12 +11,12 @@ setenv = xdist: _PYTEST_MORE_ARGS=-n3 -rfsxX deps = pytestlatest: pytest - pytest74: pytest~=7.4.0 - pytest73: pytest~=7.3.0 - pytest72: pytest~=7.2.0 - pytest71: pytest~=7.1.0 - pytest70: pytest~=7.0.0 - pytest62: pytest~=6.2.0 + pytest7.4: pytest~=7.4.0 + pytest7.3: pytest~=7.3.0 + pytest7.2: pytest~=7.2.0 + pytest7.1: pytest~=7.1.0 + pytest7.0: pytest~=7.0.0 + pytest6.2: pytest~=6.2.0 coverage: coverage[toml] xdist: pytest-xdist From 5a7b34423c40276d28420b531c9222f97bfc962b Mon Sep 17 00:00:00 2001 From: Alessio Bogon <778703+youtux@users.noreply.github.com> Date: Sun, 23 Jul 2023 13:22:10 +0200 Subject: [PATCH 08/13] Fix yaml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6bd65d8..edcecfe 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,7 +30,7 @@ jobs: - python-version: "3.12-dev" toxfactor: py3.12 ignore-typecheck-outcome: true - ignore-test-outcome: + ignore-test-outcome: false steps: - uses: actions/checkout@v3 From 075a0bbd19b618aafa08446af2f13cb79497e8a6 Mon Sep 17 00:00:00 2001 From: Alessio Bogon <778703+youtux@users.noreply.github.com> Date: Sun, 23 Jul 2023 13:36:50 +0200 Subject: [PATCH 09/13] old pytests don't support python 3.12 and beyond --- tox.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index c0a37d6..3218dde 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,7 @@ [tox] distshare = {homedir}/.tox/distshare -envlist = py{3.8,3.9,3.10,3.11,3.12,3.13}-pytest{6.2,7.0,7.1,7.2,7.3,7.4,latest}-coverage +envlist = py{3.8,3.9,3.10,3.11}-pytest{6.2,7.0,7.1,7.2,7.3,7.4,latest}-coverage + py{3.12,3.13}-pytest{7.3,7.4,latest}-coverage py3.11-pytestlatest-xdist-coverage mypy From 95cbb780383b5868c58f1a0414ae6b04bf2c81de Mon Sep 17 00:00:00 2001 From: Alessio Bogon <778703+youtux@users.noreply.github.com> Date: Sun, 23 Jul 2023 13:43:24 +0200 Subject: [PATCH 10/13] Use mypy from dev-requirements when running it in tox --- tox.ini | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tox.ini b/tox.ini index 3218dde..f6ed14a 100644 --- a/tox.ini +++ b/tox.ini @@ -24,4 +24,8 @@ deps = commands = {env:_PYTEST_CMD:pytest} {env:_PYTEST_MORE_ARGS:} {posargs:-vvl} [testenv:mypy] +skip_install = true +allowlist_externals = poetry +commands_pre = + poetry install --with=dev commands = mypy From 477ab9c0c76b85c30af5b5573b6839e03326e7a6 Mon Sep 17 00:00:00 2001 From: Alessio Bogon <778703+youtux@users.noreply.github.com> Date: Sun, 23 Jul 2023 13:45:26 +0200 Subject: [PATCH 11/13] bump mypy --- poetry.lock | 59 ++++++++++++++++++++++++++------------------------ pyproject.toml | 2 +- 2 files changed, 32 insertions(+), 29 deletions(-) diff --git a/poetry.lock b/poetry.lock index e09e59d..fcb515f 100644 --- a/poetry.lock +++ b/poetry.lock @@ -243,44 +243,47 @@ files = [ [[package]] name = "mypy" -version = "0.982" +version = "1.4.1" description = "Optional static typing for Python" optional = false python-versions = ">=3.7" files = [ - {file = "mypy-0.982-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5085e6f442003fa915aeb0a46d4da58128da69325d8213b4b35cc7054090aed5"}, - {file = "mypy-0.982-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:41fd1cf9bc0e1c19b9af13a6580ccb66c381a5ee2cf63ee5ebab747a4badeba3"}, - {file = "mypy-0.982-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f793e3dd95e166b66d50e7b63e69e58e88643d80a3dcc3bcd81368e0478b089c"}, - {file = "mypy-0.982-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86ebe67adf4d021b28c3f547da6aa2cce660b57f0432617af2cca932d4d378a6"}, - {file = "mypy-0.982-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:175f292f649a3af7082fe36620369ffc4661a71005aa9f8297ea473df5772046"}, - {file = "mypy-0.982-cp310-cp310-win_amd64.whl", hash = "sha256:8ee8c2472e96beb1045e9081de8e92f295b89ac10c4109afdf3a23ad6e644f3e"}, - {file = "mypy-0.982-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:58f27ebafe726a8e5ccb58d896451dd9a662a511a3188ff6a8a6a919142ecc20"}, - {file = "mypy-0.982-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6af646bd46f10d53834a8e8983e130e47d8ab2d4b7a97363e35b24e1d588947"}, - {file = "mypy-0.982-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7aeaa763c7ab86d5b66ff27f68493d672e44c8099af636d433a7f3fa5596d40"}, - {file = "mypy-0.982-cp37-cp37m-win_amd64.whl", hash = "sha256:724d36be56444f569c20a629d1d4ee0cb0ad666078d59bb84f8f887952511ca1"}, - {file = "mypy-0.982-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:14d53cdd4cf93765aa747a7399f0961a365bcddf7855d9cef6306fa41de01c24"}, - {file = "mypy-0.982-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:26ae64555d480ad4b32a267d10cab7aec92ff44de35a7cd95b2b7cb8e64ebe3e"}, - {file = "mypy-0.982-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6389af3e204975d6658de4fb8ac16f58c14e1bacc6142fee86d1b5b26aa52bda"}, - {file = "mypy-0.982-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b35ce03a289480d6544aac85fa3674f493f323d80ea7226410ed065cd46f206"}, - {file = "mypy-0.982-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c6e564f035d25c99fd2b863e13049744d96bd1947e3d3d2f16f5828864506763"}, - {file = "mypy-0.982-cp38-cp38-win_amd64.whl", hash = "sha256:cebca7fd333f90b61b3ef7f217ff75ce2e287482206ef4a8b18f32b49927b1a2"}, - {file = "mypy-0.982-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a705a93670c8b74769496280d2fe6cd59961506c64f329bb179970ff1d24f9f8"}, - {file = "mypy-0.982-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:75838c649290d83a2b83a88288c1eb60fe7a05b36d46cbea9d22efc790002146"}, - {file = "mypy-0.982-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:91781eff1f3f2607519c8b0e8518aad8498af1419e8442d5d0afb108059881fc"}, - {file = "mypy-0.982-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaa97b9ddd1dd9901a22a879491dbb951b5dec75c3b90032e2baa7336777363b"}, - {file = "mypy-0.982-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a692a8e7d07abe5f4b2dd32d731812a0175626a90a223d4b58f10f458747dd8a"}, - {file = "mypy-0.982-cp39-cp39-win_amd64.whl", hash = "sha256:eb7a068e503be3543c4bd329c994103874fa543c1727ba5288393c21d912d795"}, - {file = "mypy-0.982-py3-none-any.whl", hash = "sha256:1021c241e8b6e1ca5a47e4d52601274ac078a89845cfde66c6d5f769819ffa1d"}, - {file = "mypy-0.982.tar.gz", hash = "sha256:85f7a343542dc8b1ed0a888cdd34dca56462654ef23aa673907305b260b3d746"}, + {file = "mypy-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:566e72b0cd6598503e48ea610e0052d1b8168e60a46e0bfd34b3acf2d57f96a8"}, + {file = "mypy-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ca637024ca67ab24a7fd6f65d280572c3794665eaf5edcc7e90a866544076878"}, + {file = "mypy-1.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dde1d180cd84f0624c5dcaaa89c89775550a675aff96b5848de78fb11adabcd"}, + {file = "mypy-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8c4d8e89aa7de683e2056a581ce63c46a0c41e31bd2b6d34144e2c80f5ea53dc"}, + {file = "mypy-1.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:bfdca17c36ae01a21274a3c387a63aa1aafe72bff976522886869ef131b937f1"}, + {file = "mypy-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7549fbf655e5825d787bbc9ecf6028731973f78088fbca3a1f4145c39ef09462"}, + {file = "mypy-1.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:98324ec3ecf12296e6422939e54763faedbfcc502ea4a4c38502082711867258"}, + {file = "mypy-1.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:141dedfdbfe8a04142881ff30ce6e6653c9685b354876b12e4fe6c78598b45e2"}, + {file = "mypy-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8207b7105829eca6f3d774f64a904190bb2231de91b8b186d21ffd98005f14a7"}, + {file = "mypy-1.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:16f0db5b641ba159eff72cff08edc3875f2b62b2fa2bc24f68c1e7a4e8232d01"}, + {file = "mypy-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:470c969bb3f9a9efcedbadcd19a74ffb34a25f8e6b0e02dae7c0e71f8372f97b"}, + {file = "mypy-1.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5952d2d18b79f7dc25e62e014fe5a23eb1a3d2bc66318df8988a01b1a037c5b"}, + {file = "mypy-1.4.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:190b6bab0302cec4e9e6767d3eb66085aef2a1cc98fe04936d8a42ed2ba77bb7"}, + {file = "mypy-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:9d40652cc4fe33871ad3338581dca3297ff5f2213d0df345bcfbde5162abf0c9"}, + {file = "mypy-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:01fd2e9f85622d981fd9063bfaef1aed6e336eaacca00892cd2d82801ab7c042"}, + {file = "mypy-1.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2460a58faeea905aeb1b9b36f5065f2dc9a9c6e4c992a6499a2360c6c74ceca3"}, + {file = "mypy-1.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2746d69a8196698146a3dbe29104f9eb6a2a4d8a27878d92169a6c0b74435b6"}, + {file = "mypy-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ae704dcfaa180ff7c4cfbad23e74321a2b774f92ca77fd94ce1049175a21c97f"}, + {file = "mypy-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:43d24f6437925ce50139a310a64b2ab048cb2d3694c84c71c3f2a1626d8101dc"}, + {file = "mypy-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c482e1246726616088532b5e964e39765b6d1520791348e6c9dc3af25b233828"}, + {file = "mypy-1.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:43b592511672017f5b1a483527fd2684347fdffc041c9ef53428c8dc530f79a3"}, + {file = "mypy-1.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34a9239d5b3502c17f07fd7c0b2ae6b7dd7d7f6af35fbb5072c6208e76295816"}, + {file = "mypy-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5703097c4936bbb9e9bce41478c8d08edd2865e177dc4c52be759f81ee4dd26c"}, + {file = "mypy-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:e02d700ec8d9b1859790c0475df4e4092c7bf3272a4fd2c9f33d87fac4427b8f"}, + {file = "mypy-1.4.1-py3-none-any.whl", hash = "sha256:45d32cec14e7b97af848bddd97d85ea4f0db4d5a149ed9676caa4eb2f7402bb4"}, + {file = "mypy-1.4.1.tar.gz", hash = "sha256:9bbcd9ab8ea1f2e1c8031c21445b511442cc45c89951e49bbf852cbb70755b1b"}, ] [package.dependencies] -mypy-extensions = ">=0.4.3" +mypy-extensions = ">=1.0.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = ">=3.10" +typing-extensions = ">=4.1.0" [package.extras] dmypy = ["psutil (>=4.0)"] +install-types = ["pip"] python2 = ["typed-ast (>=1.4.0,<2)"] reports = ["lxml"] @@ -550,4 +553,4 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [metadata] lock-version = "2.0" python-versions = ">=3.8" -content-hash = "c06b72ec1d477cded3609b7ca25ecbebffe4bda380054533ec76da5513492425" +content-hash = "b2ba37df5fea186a1726b64f9c426661c8b228b3b6f9954eeba805e7653a087c" diff --git a/pyproject.toml b/pyproject.toml index 4465ffc..abc3fee 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,7 +43,7 @@ typing-extensions = "*" [tool.poetry.group.dev.dependencies] tox = "^4.1.3" -mypy = "^0.982" +mypy = "^1.4.1" types-setuptools = "^65.5.0.2" pytest-xdist = "^3.0.2" coverage = {extras = ["toml"], version = "^6.5.0"} From cbbb3d26642be6be035089c37c438e03e32374d0 Mon Sep 17 00:00:00 2001 From: Alessio Bogon <778703+youtux@users.noreply.github.com> Date: Sun, 23 Jul 2023 13:46:39 +0200 Subject: [PATCH 12/13] Add changelog entry --- CHANGES.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.rst b/CHANGES.rst index 0b53c5e..73b12f5 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,6 +4,7 @@ Changelog Unreleased ---------- - Drop python 3.7 compatibility, as it's no longer supported. `#627 `_ +- Declare support for python 3.12 `#628 `_ - ⚠️ Backwards incompatible: - ``parsers.re`` now does a `fullmatch `_ instead of a partial match. This is to make it work just like the other parsers, since they don't ignore non-matching characters at the end of the string. `#539 `_ - Add support for Scenarios and Scenario Outlines to have descriptions. `#600 `_ From d889c756b5645797c0c084accffa07415f246b4c Mon Sep 17 00:00:00 2001 From: Alessio Bogon <778703+youtux@users.noreply.github.com> Date: Sun, 23 Jul 2023 13:51:10 +0200 Subject: [PATCH 13/13] Add changelog entry --- CHANGES.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.rst b/CHANGES.rst index 73b12f5..cd20372 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,7 @@ Unreleased ---------- - Drop python 3.7 compatibility, as it's no longer supported. `#627 `_ - Declare support for python 3.12 `#628 `_ +- Improve parser performance by 15% `#623 `_ by `@dcendents `_ - ⚠️ Backwards incompatible: - ``parsers.re`` now does a `fullmatch `_ instead of a partial match. This is to make it work just like the other parsers, since they don't ignore non-matching characters at the end of the string. `#539 `_ - Add support for Scenarios and Scenario Outlines to have descriptions. `#600 `_