From 2643aa67a5231638f35b778f97730a4156227e64 Mon Sep 17 00:00:00 2001 From: crimsonknave Date: Fri, 7 Nov 2025 11:18:35 -0500 Subject: [PATCH 1/5] Pin python version down --- .github/workflows/pyright.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pyright.yaml b/.github/workflows/pyright.yaml index d7be324..385f42c 100644 --- a/.github/workflows/pyright.yaml +++ b/.github/workflows/pyright.yaml @@ -16,7 +16,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: '3.x' + python-version: '3.12' - name: Install dependencies run: | python -m pip install hatch From 5bf33a9fed0f5c0d0e9c4a91bc04d4c194763ed5 Mon Sep 17 00:00:00 2001 From: crimsonknave Date: Wed, 12 Nov 2025 12:01:29 -0500 Subject: [PATCH 2/5] Update packages and reset workflow --- .github/workflows/pyright.yaml | 2 +- requirements.txt | 6 ++--- requirements/requirements-dev.txt | 42 +++++++++++-------------------- 3 files changed, 18 insertions(+), 32 deletions(-) diff --git a/.github/workflows/pyright.yaml b/.github/workflows/pyright.yaml index 385f42c..d7be324 100644 --- a/.github/workflows/pyright.yaml +++ b/.github/workflows/pyright.yaml @@ -16,7 +16,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: '3.12' + python-version: '3.x' - name: Install dependencies run: | python -m pip install hatch diff --git a/requirements.txt b/requirements.txt index 7d88f2e..0e5a044 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,11 +7,11 @@ # - requests # -certifi==2025.10.5 +certifi==2025.11.12 # via requests -charset-normalizer==3.4.3 +charset-normalizer==3.4.4 # via requests -idna==3.10 +idna==3.11 # via requests makefun==1.16.0 # via hatch.envs.default diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt index 72a72fe..e29580f 100644 --- a/requirements/requirements-dev.txt +++ b/requirements/requirements-dev.txt @@ -9,7 +9,6 @@ # - pytest-cov # - pytest-freezer # - pytest-github-actions-annotate-failures -# - pytest-memray # - pytest-mock # - pytest-randomly # - requests-mock @@ -21,15 +20,15 @@ # - requests # -certifi==2025.10.5 +certifi==2025.11.12 # via requests cfgv==3.4.0 # via pre-commit -charset-normalizer==3.4.3 +charset-normalizer==3.4.4 # via requests click==8.3.0 # via mutmut -coverage==7.10.7 +coverage==7.11.3 # via # hatch.envs.dev # pytest-cov @@ -41,12 +40,10 @@ freezegun==1.5.5 # via pytest-freezer identify==2.6.15 # via pre-commit -idna==3.10 +idna==3.11 # via requests -iniconfig==2.1.0 +iniconfig==2.3.0 # via pytest -jinja2==3.1.6 - # via memray libcst==1.7.0 # via mutmut linkify-it-py==2.0.3 @@ -58,14 +55,10 @@ markdown-it-py==4.0.0 # mdit-py-plugins # rich # textual -markupsafe==3.0.3 - # via jinja2 mdit-py-plugins==0.5.0 - # via markdown-it-py + # via textual mdurl==0.1.2 # via markdown-it-py -memray==1.19.1 - # via pytest-memray mutmut==3.3.1 # via hatch.envs.dev nodeenv==1.9.1 @@ -82,7 +75,7 @@ pluggy==1.6.0 # via # pytest # pytest-cov -pre-commit==4.3.0 +pre-commit==4.4.0 # via hatch.envs.dev pychoir==0.0.29 # via hatch.envs.dev @@ -91,16 +84,15 @@ pygments==2.19.2 # pytest # rich # textual -pyright==1.1.406 +pyright==1.1.407 # via hatch.envs.dev -pytest==8.4.2 +pytest==9.0.1 # via # hatch.envs.dev # mutmut # pytest-cov # pytest-freezer # pytest-github-actions-annotate-failures - # pytest-memray # pytest-mock # pytest-randomly pytest-cov==7.0.0 @@ -109,8 +101,6 @@ pytest-freezer==0.4.9 # via hatch.envs.dev pytest-github-actions-annotate-failures==0.3.0 # via hatch.envs.dev -pytest-memray==1.8.0 - # via hatch.envs.dev pytest-mock==3.15.1 # via hatch.envs.dev pytest-randomly==4.0.1 @@ -130,19 +120,15 @@ requests==2.32.5 requests-mock==1.12.1 # via hatch.envs.dev rich==14.2.0 - # via - # memray - # textual -ruff==0.14.0 + # via textual +ruff==0.14.4 # via hatch.envs.dev setproctitle==1.3.7 # via mutmut six==1.17.0 # via python-dateutil -textual==6.2.1 - # via - # memray - # mutmut +textual==6.6.0 + # via mutmut typing-extensions==4.15.0 # via # hatch.envs.dev @@ -152,5 +138,5 @@ uc-micro-py==1.0.3 # via linkify-it-py urllib3==2.5.0 # via requests -virtualenv==20.34.0 +virtualenv==20.35.4 # via pre-commit From 5b2015daaa8db8eae0856e6a37394e8794f3a5c8 Mon Sep 17 00:00:00 2001 From: crimsonknave Date: Mon, 29 Dec 2025 12:23:27 -0500 Subject: [PATCH 3/5] Remove mutmut (not used for a bit) and bump min python version --- .github/workflows/pytest.yaml | 2 +- pyproject.toml | 8 +----- requirements/requirements-dev.txt | 41 +++---------------------------- 3 files changed, 5 insertions(+), 46 deletions(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index f4b4fb1..b51807a 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -15,7 +15,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v5 diff --git a/pyproject.toml b/pyproject.toml index 1ace559..8c37081 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ dynamic = ["version"] description = "A decorator that logs the start and end of a function as well as providing an optional logger with annotations" readme = "README.md" license = "MIT" -requires-python = ">=3.6" +requires-python = ">=3.10" authors = [ { name = "Vuln Mgmt Eng", email = "security+vulnmgmteng@github.com" }, ] @@ -56,7 +56,6 @@ installer = "uv" pip-compile-resolver = "uv" dependencies = [ "coverage", - "mutmut", "pre-commit", "pyright", "pytest", @@ -79,11 +78,6 @@ lint = "ruff check" exclude_also = ["@overload"] fail_under = 100 -[tool.mutmut] -paths_to_mutate = "annotated_logger/" -runner = "script/mutmut_runner" -use_coverage = true - [tool.pyright] include = ["annotated_logger", "example", "test"] reportMissingTypeArgument = true diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt index e29580f..d0cc601 100644 --- a/requirements/requirements-dev.txt +++ b/requirements/requirements-dev.txt @@ -2,7 +2,6 @@ # This file is autogenerated by hatch-pip-compile with Python 3.12 # # - coverage -# - mutmut # - pre-commit # - pyright # - pytest @@ -26,8 +25,6 @@ cfgv==3.4.0 # via pre-commit charset-normalizer==3.4.4 # via requests -click==8.3.0 - # via mutmut coverage==7.11.3 # via # hatch.envs.dev @@ -44,23 +41,8 @@ idna==3.11 # via requests iniconfig==2.3.0 # via pytest -libcst==1.7.0 - # via mutmut -linkify-it-py==2.0.3 - # via markdown-it-py makefun==1.16.0 # via hatch.envs.dev -markdown-it-py==4.0.0 - # via - # mdit-py-plugins - # rich - # textual -mdit-py-plugins==0.5.0 - # via textual -mdurl==0.1.2 - # via markdown-it-py -mutmut==3.3.1 - # via hatch.envs.dev nodeenv==1.9.1 # via # pre-commit @@ -68,9 +50,7 @@ nodeenv==1.9.1 packaging==25.0 # via pytest platformdirs==4.5.0 - # via - # textual - # virtualenv + # via virtualenv pluggy==1.6.0 # via # pytest @@ -80,16 +60,12 @@ pre-commit==4.4.0 pychoir==0.0.29 # via hatch.envs.dev pygments==2.19.2 - # via - # pytest - # rich - # textual + # via pytest pyright==1.1.407 # via hatch.envs.dev pytest==9.0.1 # via # hatch.envs.dev - # mutmut # pytest-cov # pytest-freezer # pytest-github-actions-annotate-failures @@ -110,32 +86,21 @@ python-dateutil==2.9.0.post0 python-json-logger==4.0.0 # via hatch.envs.dev pyyaml==6.0.3 - # via - # libcst - # pre-commit + # via pre-commit requests==2.32.5 # via # hatch.envs.dev # requests-mock requests-mock==1.12.1 # via hatch.envs.dev -rich==14.2.0 - # via textual ruff==0.14.4 # via hatch.envs.dev -setproctitle==1.3.7 - # via mutmut six==1.17.0 # via python-dateutil -textual==6.6.0 - # via mutmut typing-extensions==4.15.0 # via # hatch.envs.dev # pyright - # textual -uc-micro-py==1.0.3 - # via linkify-it-py urllib3==2.5.0 # via requests virtualenv==20.35.4 From 85a443efd22b0ca2050c59896754ca24e4669a42 Mon Sep 17 00:00:00 2001 From: crimsonknave Date: Mon, 29 Dec 2025 12:34:12 -0500 Subject: [PATCH 4/5] Bump version to avoid test pypi collision --- annotated_logger/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/annotated_logger/__init__.py b/annotated_logger/__init__.py index 9daaec7..e0adb92 100644 --- a/annotated_logger/__init__.py +++ b/annotated_logger/__init__.py @@ -33,7 +33,7 @@ # https://test.pypi.org/project/annotated-logger/ # The dev versions in testpypi can then be pulled in to whatever project needed # the new feature. -VERSION = "1.3.1" # pragma: no mutate +VERSION = "1.3.2" # pragma: no mutate T = TypeVar("T") P = ParamSpec("P") From 0a8950352d24f7c36ef774b42ec3e572e6d9f5f0 Mon Sep 17 00:00:00 2001 From: crimsonknave Date: Mon, 29 Dec 2025 12:50:42 -0500 Subject: [PATCH 5/5] Update readme for new lowest python version tested --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6fbbd34..a55fbec 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Annotated Logger is actively used by GitHub's Vulnerability Management team to help to easily add context to our logs in splunk. It is more or less feature complete for our current use cases, but we will add additional features/fixes as we discover a need for them. But, we'd love feature requests, bug report and or PRs for either (see our [contribution guidelines][contribution] for more information if you wish to contribute). ## Requirements -Annotated Logger is a Python package. It should work on any version of Python 3, but it is currently tested on 3.9 and higher. +Annotated Logger is a Python package. It should work on any version of Python 3, but it is currently tested on 3.10 and higher. ## Usage