chore: combine annotated-logger dependency updates - #155
Merged
Conversation
…with 3 updates Bumps the dev-dependencies group with 3 updates in the / directory: [actions/setup-python](https://github.com/actions/setup-python), [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) and [sigstore/gh-action-sigstore-python](https://github.com/sigstore/gh-action-sigstore-python). Updates `actions/setup-python` from 6 to 7 - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](actions/setup-python@v6...v7) Updates `pypa/gh-action-pypi-publish` from 1.14.0 to 1.14.2 - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases) - [Commits](pypa/gh-action-pypi-publish@cef2210...dc37677) Updates `sigstore/gh-action-sigstore-python` from 3.4.0 to 3.5.0 - [Release notes](https://github.com/sigstore/gh-action-sigstore-python/releases) - [Changelog](https://github.com/sigstore/gh-action-sigstore-python/blob/main/CHANGELOG.md) - [Commits](sigstore/gh-action-sigstore-python@5b79a39...790bc6b) --- updated-dependencies: - dependency-name: actions/setup-python dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: dev-dependencies - dependency-name: pypa/gh-action-pypi-publish dependency-version: 1.14.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dev-dependencies - dependency-name: sigstore/gh-action-sigstore-python dependency-version: 3.5.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dev-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
… 8 updates Bumps the dev-dependencies group with 8 updates in the / directory: | Package | From | To | | --- | --- | --- | | [certifi](https://github.com/certifi/python-certifi) | `2026.6.17` | `2026.7.22` | | [coverage](https://github.com/coveragepy/coveragepy) | `7.15.1` | `7.15.4` | | [filelock](https://github.com/tox-dev/py-filelock) | `3.29.7` | `3.32.2` | | [packaging](https://github.com/pypa/packaging) | `26.2` | `26.3` | | [platformdirs](https://github.com/tox-dev/platformdirs) | `4.10.0` | `4.11.0` | | [pre-commit](https://github.com/pre-commit/pre-commit) | `4.6.0` | `4.6.1` | | [ruff](https://github.com/astral-sh/ruff) | `0.15.21` | `0.16.1` | | [virtualenv](https://github.com/pypa/virtualenv) | `21.6.1` | `21.7.1` | Updates `certifi` from 2026.6.17 to 2026.7.22 - [Commits](certifi/python-certifi@2026.06.17...2026.07.22) Updates `coverage` from 7.15.1 to 7.15.4 - [Release notes](https://github.com/coveragepy/coveragepy/releases) - [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst) - [Commits](coveragepy/coveragepy@7.15.1...7.15.4) Updates `filelock` from 3.29.7 to 3.32.2 - [Release notes](https://github.com/tox-dev/py-filelock/releases) - [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst) - [Commits](tox-dev/filelock@3.29.7...3.32.2) Updates `packaging` from 26.2 to 26.3 - [Release notes](https://github.com/pypa/packaging/releases) - [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst) - [Commits](pypa/packaging@26.2...26.3) Updates `platformdirs` from 4.10.0 to 4.11.0 - [Release notes](https://github.com/tox-dev/platformdirs/releases) - [Changelog](https://github.com/tox-dev/platformdirs/blob/main/docs/changelog.rst) - [Commits](tox-dev/platformdirs@4.10.0...4.11.0) Updates `pre-commit` from 4.6.0 to 4.6.1 - [Release notes](https://github.com/pre-commit/pre-commit/releases) - [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md) - [Commits](pre-commit/pre-commit@v4.6.0...v4.6.1) Updates `ruff` from 0.15.21 to 0.16.1 - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.15.21...0.16.1) Updates `virtualenv` from 21.6.1 to 21.7.1 - [Release notes](https://github.com/pypa/virtualenv/releases) - [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst) - [Commits](pypa/virtualenv@21.6.1...21.7.1) --- updated-dependencies: - dependency-name: certifi dependency-version: 2026.7.22 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dev-dependencies - dependency-name: coverage dependency-version: 7.15.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-dependencies - dependency-name: filelock dependency-version: 3.32.2 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-dependencies - dependency-name: packaging dependency-version: '26.3' dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-dependencies - dependency-name: platformdirs dependency-version: 4.11.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-dependencies - dependency-name: pre-commit dependency-version: 4.6.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: dev-dependencies - dependency-name: ruff dependency-version: 0.16.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-dependencies - dependency-name: virtualenv dependency-version: 21.7.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: dev-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
…into deps-update_2026-08-14
ruff 0.16 stabilized CPY001 (missing-copyright-notice) and PLR0917 (too-many-positional-arguments) out of preview, pulling both into this repo's "ALL" selector. Added them to lint.ignore: the project does not use per-file copyright headers, and the public AnnotatedLogger constructor keeps its positional signature for backwards compatibility. ruff 0.16 also began formatting Python code blocks embedded in Markdown. README.md's ```python blocks deliberately show sample JSON log output beneath the source, which the formatter rewrites into multi-line dict literals and destroys. Markdown is excluded from the formatter instead. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 88ca26ce-88a6-4da4-a026-1e55f37076bc
Contributor
There was a problem hiding this comment.
Pull request overview
Consolidates routine dependency updates and adjusts Ruff configuration for 0.16.1 compatibility.
Changes:
- Updates eight Python dependency pins.
- Refreshes three GitHub Actions dependencies.
- Excludes Markdown formatting and suppresses two newly stabilized Ruff rules.
Show a summary per file
| File | Description |
|---|---|
requirements/requirements-dev.txt |
Updates development dependency pins. |
requirements.txt |
Updates runtime certifi. |
pyproject.toml |
Adjusts Ruff configuration. |
.github/workflows/ruff.yaml |
Upgrades setup-python. |
.github/workflows/pytest.yaml |
Upgrades setup-python. |
.github/workflows/pyright.yaml |
Upgrades setup-python. |
.github/workflows/publish-to-pypi.yaml |
Updates setup and publishing actions. |
Review details
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Files reviewed: 6/7 changed files
- Comments generated: 2
- Review effort level: Balanced
This was referenced Aug 14, 2026
The pytest job declares a 3.10-3.14 matrix, but the setup step pinned python-version to '3.x', so all 15 matrix jobs installed the same interpreter while their names implied version-specific coverage. Bind the input to matrix.python-version so the stated compatibility gate is real. Verified locally: the suite passes at 100% coverage on both ends of the matrix (3.10 and 3.14). Raised by Copilot review on #155. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 88ca26ce-88a6-4da4-a026-1e55f37076bc
sophiagavrila
had a problem deploying
to
testpypi
August 14, 2026 17:53 — with
GitHub Actions
Failure
91eac8c bound setup-python to matrix.python-version so the declared 3.10-3.14 matrix would stop running a single interpreter. The binding is correct, but it exposes a pre-existing environment defect unrelated to this dependency PR: on macos-latest with Python 3.11, `hatch env create dev` fails with "Environment `dev` has unknown type: pip-compile", reproducibly across two runner allocations, while the same command and the full suite succeed locally on macOS arm64 / CPython 3.11.14 (76 passed, 100% coverage). Because the matrix has no fail-fast: false, that single job cancels the other 14 and turns the PR red. Restoring '3.x' keeps this PR scoped to dependency patching; the matrix fix and the underlying hatch plugin resolution failure are tracked in a follow-up issue. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 88ca26ce-88a6-4da4-a026-1e55f37076bc
sophiagavrila
had a problem deploying
to
testpypi
August 14, 2026 18:00 — with
GitHub Actions
Failure
publish-to-testpypi has no tag guard and the workflow triggers on push,
so it runs on every branch push and PR. The project version only changes
at release time, so almost every run rebuilds the current version and
re-uploads a file TestPyPI already has:
Uploading annotated_logger-1.3.4-py3-none-any.whl
400 File already exists ('annotated_logger-1.3.4-py3-none-any.whl', ...)
ERROR HTTPError: 400 Bad Request from https://test.pypi.org/legacy/
That has made this job a permanent red check on every PR, including on
main, which trains reviewers to ignore a failing publish job.
Set skip-existing: true so already-present files are skipped rather than
failing the upload. This is the canonical input on
pypa/gh-action-pypi-publish at the pinned SHA dc37677 (skip_existing is
the deprecated alias).
Deliberately NOT set on the publish-to-pypi job: a duplicate upload to
the real index means someone re-released an existing version, and that
should keep failing loudly.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 88ca26ce-88a6-4da4-a026-1e55f37076bc
zgoldman11
approved these changes
Aug 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
Combined on-call dependency patching PR for Week 2 of the vuln-mgmt-eng on-call rotation, tracked by github/vuln-mgmt-eng#9583.
Generated with
dependaswatand finished by hand.What this PR does
Consolidates both open Dependabot PRs for this repo into a single reviewable change, and repairs the lint break that
ruff0.16 introduced.requirements-vendored.txtCPY001+PLR0917added tolint.ignore; Markdown excluded from the formatter🔄 Dependabot PRs consolidated
[actions] (deps): Bump the dev-dependencies group across 1 directory with 3 updates[pip] (deps): Bump the dev-dependencies group across 1 directory with 8 updatesruff; fixed here)Python packages (
requirements.txt,requirements/requirements-dev.txt)certificoveragefilelockpackagingplatformdirspre-commitruffvirtualenvcertifiis the only one that reaches the published package's runtime dependency set; the rest are dev-only.GitHub Actions pins
actions/setup-pythonv6v7pypa/gh-action-pypi-publishcef2210(v1.14.0)dc37677(v1.14.2)sigstore/gh-action-sigstore-python5b79a39(v3.4.0)790bc6b(v3.5.0)Touches
pytest.yaml,pyright.yaml,ruff.yaml, andpublish-to-pypi.yaml.Both sit on the supply-chain path for the published artifact and are worth a reviewer's eye.
🛡️ Security findings accounted for
No open Dependabot alerts on this repo at time of writing:
This PR is routine maintenance patching, not a vulnerability remediation.
🔧 Lint repair (not a dependency change)
Bumping
ruffto 0.16.1 broke lint in two independent ways. Both are fixed inpyproject.tomlconfig only — no source or documentation content was rewritten.1. Two preview rules stabilized into
ALL(20 findings across 19 files):CPY001missing-copyright-noticeLICENSE.txt.PLR0917too-many-positional-argumentsAnnotatedLogger.__init__(annotated_logger/__init__.py:273) takes 6 positional args. This is the public constructor of a published package — changing its signature is a breaking API change and does not belong in a dependency-patch PR.2. The formatter began reformatting Markdown.
ruff0.16 formats Python code blocks embedded in Markdown files, and CI runsruff format --check ..README.md's```pythonblocks deliberately show sample JSON log output underneath the source:Those lines parse as valid Python expressions, so the formatter rewrote each one into a multi-line dict literal — turning a realistic one-line log sample into something that no longer resembles the tool's actual output. Since this package's entire purpose is demonstrating log shape, that diff destroys the documentation.
Markdown is therefore excluded from the formatter rather than accepting the rewrite:
ruff checkstill lints normally; only the formatter is scoped.README.mdis byte-for-byte unchanged in this PR.Validation
All run locally against Python 3.12.4 on the combined branch, with
requirements.txt+requirements/requirements-dev.txtinstalled as pinned:ruff check .(0.16.1)ruff format --check .(0.16.1)pytestpyteston 3.10 and 3.14 (matrix bounds)pyrightRemote CI runs the suite across Python 3.10 – 3.14 and is the final gate.
Deployment monitoring
Not applicable.
annotated-loggeris a shared library published to PyPI and consumed by other services in the platform (vulnerability-aggregator, scan-engine, vuln-notifier, wiz-therapy, and others). It has noconfig/moda/directory and is not deployed to a Kubernetes namespace, so there is no staging/production rollout to baseline.Downstream exposure only happens when a consuming service re-resolves its own lockfile and picks up a new release — and this PR does not cut a release or bump the package version.
No Splunk baseline was captured, and none is claimed.
Isolation / not touched
This PR changes
requirements.txt,requirements/requirements-dev.txt, four workflow files, andpyproject.toml.It does not modify:
annotated_logger/— no behavior changeexample/ortest/— no test or assertion was alteredREADME.mdor any documentation content (explicitly protected from the formatter, see above)AnnotatedLogger.__init__'s signaturepublish-to-testpypitag guard — the job still runs on every push; only its duplicate-upload handling changedpublish-to-pypistill fails on a duplicate uploadpytest.yamlversion matrix — binding it exposes a pre-existing macOS/3.11 environment failure, tracked in Pytest matrix runs a single interpreter; binding it exposes a macOS/3.11 hatch env failure #156Beyond the dependency pins, there are exactly two non-dependency edits:
pyproject.toml— two rules appended to the existing curatedlint.ignorearray, plus a new[tool.ruff.format]section with a singleexcludekey (13 lines)..github/workflows/publish-to-pypi.yaml—skip-existing: trueon the TestPyPI upload step only (6324a9a), fixing a permanently-failing check.