Skip to content

Remove unused pytest-gremlins from the dev dependency group - #30

Merged
ricardofrantz merged 1 commit into
mainfrom
deps/stage1-2026-11-06
Nov 6, 2026
Merged

ricardofrantz merged 1 commit into
mainfrom
deps/stage1-2026-11-06

Conversation

@ricardofrantz

@ricardofrantz ricardofrantz commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

Removes pytest-gremlins from the dev dependency group. Nothing uses it. The dev group stays and now holds only the test group.

Evidence

Check Result
grep -rIil gremlin over the repository (source, tests, workflows, docs, scripts, wiki), uv.lock excluded only pyproject.toml
CI workflows install only --group test (guardrails) and --only-group wiki (docs); the dev group is never installed in CI
The plugin is registered under pytest11 as pytest_gremlins.plugin it acts only when --gremlins is passed, and no file passes it
pytest -p no:gremlins on main same result as with the plugin loaded
Mutation testing in the repo the [tool.mutmut] table, a different tool; left as it is

Commands

uv sync --locked --group dev
PYTHONPATH=src python -m pytest --tb=short -q tests/ -m "not slow" --ignore=tests/test_solvers.py --ignore=tests/test_solvers_inexact.py
python -m pytest -q tests/test_tracked_file_size.py
uv build
uv lock

The pytest command is the "broader non-PETSc tests" step of guardrails.yml, run serially. Two MPI tests skip on a runner without mpiexec (as in CI); the run used a PATH without it.

Lock

uv lock removes the pytest-gremlins entry and its two references in the dev group. No other package changes and no version moves.

Before and after

main this branch
pytest (CI step) 1331 passed, 130 skipped 1331 passed, 130 skipped
tracked file size test 7 passed 7 passed
uv build not run on main (manifest-only change) wheel and sdist built
direct dependencies (distinct names) 14 13
locked packages 72 71

ruff check reports the same 10 findings on main and on this branch with the current ruff release; this change does not touch them.

Summary by CodeRabbit

  • Chores
    • Removed an optional testing tool from the project’s development dependencies. This change does not affect application features or behavior.

pytest-gremlins is declared in the dev group and nothing refers to it.
The name appears only in pyproject.toml (case-insensitive search of the
whole repository, workflows and docs included). The CI workflows install
only the test and wiki groups. The mutation-testing setup in the repo is
the [tool.mutmut] table, which uses a different tool.

- pytest, non-slow, non-PETSc suite from the CI workflow: 1331 passed, 130 skipped before and after.
- pytest -p no:gremlins on main: the same result.
- uv build: wheel and sdist built.
- uv.lock: only pytest-gremlins removed (72 to 71 locked packages), no version change.
@coderabbitai

coderabbitai Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The test dependency group no longer includes the conditional pytest-gremlins>=1.9.0 requirement for Python 3.11 or newer.

Changes: Test dependency update

Layer / File(s) Summary
Test dependency declaration
pyproject.toml
The Python 3.11-or-newer pytest-gremlins>=1.9.0 declaration was removed from the test dependency group.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Suggested labels: dependencies

Merge Risk: Minimal · up to 538b2

The unused development dependency is removed consistently without changing test dependencies or configured test commands. No actionable merge-blocking risk was identified.

Pre-merge checks: Passed 5

Check name Status Explanation
Title check Passed The title identifies the dependency removal. The file summary identifies the affected group as test, not dev.
Description check Passed The description explains the change and provides verification commands and results. It omits the checklist and does not report ruff format --check .. The file summary identifies the affected group a…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description explains the change and provides verification commands and results. It omits the checklist and does not report ruff format --check .. The file summary identifies the affected group as test, while the description says dev.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files.

Finishing Touches

Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Recent review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 09b24a2 and 538b2ed.

Files ignored due to path filters: 1

  • uv.lock is excluded by !**/*.lock
Files selected for processing: 1

  • pyproject.toml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@ricardofrantz
ricardofrantz merged commit 0b35938 into main Nov 6, 2026
6 checks passed
@ricardofrantz
ricardofrantz deleted the deps/stage1-2026-11-06 branch November 6, 2026 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant