Skip to content

Create dependabot.yml - #14

Open
o-murphy wants to merge 1 commit into
hbmartin:masterfrom
o-murphy:master
Open

Create dependabot.yml#14
o-murphy wants to merge 1 commit into
hbmartin:masterfrom
o-murphy:master

Conversation

@o-murphy

@o-murphy o-murphy commented Sep 16, 2025

Copy link
Copy Markdown
Collaborator

Summary by Sourcery

CI:

  • Add .github/dependabot.yml to configure Dependabot for pip with a weekly update schedule

Important

Add .github/dependabot.yml to configure weekly Python dependency updates with Dependabot.

  • Configuration:
    • Adds .github/dependabot.yml to configure Dependabot for dependency updates.
    • Specifies pip as the package ecosystem and sets the directory to /.
    • Schedules updates to run weekly.
    • Groups all Python dependencies under python-dependencies.

This description was created by Ellipsis for eca8522. You can customize this summary. It will automatically update as commits are pushed.

Summary by CodeRabbit

  • Chores
    • Introduced automated weekly updates for Python dependencies via Dependabot.
    • Groups all Python package updates into a single batch to reduce PR noise and simplify reviews.
    • Enhances security and stability by keeping dependencies current on a predictable cadence.
    • Streamlines maintenance with minimal manual intervention.
    • No user-facing changes.

@sourcery-ai

sourcery-ai Bot commented Sep 16, 2025

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Introduces a new Dependabot configuration file to automate weekly Python dependency updates via the pip ecosystem, grouping all dependencies under a single group.

File-Level Changes

Change Details Files
Initial Dependabot configuration added
  • Created .github/dependabot.yml
  • Set version to 2
  • Specified pip as the package ecosystem and root directory
  • Scheduled updates on a weekly interval
  • Defined a python-dependencies group matching all packages
.github/dependabot.yml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Sep 16, 2025

Copy link
Copy Markdown

Walkthrough

Adds a new Dependabot configuration at .github/dependabot.yml to enable weekly Python (pip) dependency updates from the repository root, grouping all dependencies under a single group pattern.

Changes

Cohort / File(s) Summary
Dependabot configuration
.github/dependabot.yml
Introduces Dependabot v2 config to update pip dependencies weekly from /, grouping all dependencies under python-dependencies with pattern \*.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Poem

I twitch my whiskers—cron at play,
A weekly hop to keep debts at bay.
Pip carrots bunched in one neat heap,
Dependabot watches while I sleep.
Patch by patch, the garden’s clean—
Happy hops in verdant green! 🥕🐇

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title "Create dependabot.yml" is concise and directly describes the primary change in the changeset (adding a Dependabot configuration file), so it accurately summarizes the main intent and is clear for teammates scanning history.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


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

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @o-murphy, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces Dependabot to the repository by adding its configuration file. This setup automates the process of checking for and updating Python dependencies, ensuring the project remains secure and up-to-date with minimal manual intervention. It specifically targets pip dependencies, setting a weekly schedule for updates and grouping them for clarity.

Highlights

  • Dependabot Configuration: A new dependabot.yml file has been added to the .github directory to enable automated dependency updates.
  • Python Dependency Monitoring: Dependabot is configured to monitor pip (Python) dependencies for updates, scanning the root directory of the repository.
  • Weekly Update Schedule: Dependency checks and update requests will be performed on a weekly interval.
  • Dependency Grouping: All detected Python dependencies are grouped under python-dependencies for streamlined management.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@qodo-code-review

Copy link
Copy Markdown

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 1 🔵⚪⚪⚪⚪
🧪 No relevant tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

Broad Grouping

Grouping all updates with pattern "*" may bundle unrelated and potentially breaking upgrades together, making PRs harder to review and roll back. Consider narrowing patterns or adding separate groups (e.g., for dev, lint, security).

python-dependencies:
  patterns:
    - "*"
Update Cadence

Weekly interval may be too frequent/noisy for the project; confirm desired cadence and consider specifying day/time to align with maintenance windows.

schedule:
  interval: "weekly"

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey there - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a Dependabot configuration to automate dependency updates, which is a great addition for maintaining the project. The configuration is well-structured. I've added one suggestion to improve the grouping of dependencies by separating production and development dependencies. This will provide more granular control when reviewing and merging the automated pull requests.

Comment thread .github/dependabot.yml
Comment on lines +12 to +15
groups:
python-dependencies:
patterns:
- "*"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

While grouping all dependencies using patterns: ["*"] is a valid approach to reduce the number of pull requests, it's often beneficial to handle production and development dependencies separately. This allows you to apply different levels of scrutiny to updates; for example, development dependency updates can often be merged more quickly.

Dependabot supports grouping by dependency-type, which is a cleaner way to achieve this separation for pip.

    groups:
      production-dependencies:
        dependency-type: "production"
      development-dependencies:
        dependency-type: "development"

@ellipsis-dev ellipsis-dev Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Looks good to me! 👍

Reviewed everything up to eca8522 in 44 seconds. Click for details.
  • Reviewed 21 lines of code in 1 files
  • Skipped 0 files when reviewing.
  • Skipped posting 2 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. .github/dependabot.yml:9
  • Draft comment:
    Verify that '/' is correct for your package manifest location; adjust if your manifests reside in a subdirectory.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None
2. .github/dependabot.yml:15
  • Draft comment:
    Confirm that the '*' pattern for group 'python-dependencies' is intended, as it groups all dependencies broadly.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None

Workflow ID: wflow_dq4gsXac2hZdSbOc

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

@qodo-code-review

Copy link
Copy Markdown

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
High-level
Reconsider grouping all dependencies together

To improve safety and simplify debugging, consider removing the groups
configuration. This will make Dependabot create individual pull requests for
each dependency update instead of one large, combined PR.

Examples:

.github/dependabot.yml [12-15]
    groups:
      python-dependencies:
        patterns:
          - "*"

Solution Walkthrough:

Before:

updates:
  - package-ecosystem: "pip"
    directory: "/"
    schedule:
      interval: "weekly"
    groups:
      python-dependencies:
        patterns:
          - "*"

After:

updates:
  - package-ecosystem: "pip"
    directory: "/"
    schedule:
      interval: "weekly"
# 'groups' configuration is removed to create separate PRs for each dependency.
Suggestion importance[1-10]: 7

__

Why: The suggestion raises a valid concern about the maintainability of the proposed dependency update strategy, as grouping all updates can complicate troubleshooting.

Medium
General
Separate development and production dependencies

Separate development and production dependencies in the Dependabot
configuration. Create distinct groups for each to prevent failing development
tool updates from blocking important production dependency updates.

.github/dependabot.yml [12-15]

 groups:
-  python-dependencies:
+  # Group development dependencies to separate them from production updates.
+  # Customize this list with your project's development dependencies.
+  dev-dependencies:
+    patterns:
+      - "pytest"
+      - "pytest-*"
+      - "black"
+      - "ruff"
+      - "mypy"
+      - "flake8"
+      - "isort"
+  # Group all other (production) dependencies together, excluding the dev ones.
+  prod-dependencies:
     patterns:
       - "*"
+    exclude-patterns:
+      - "pytest"
+      - "pytest-*"
+      - "black"
+      - "ruff"
+      - "mypy"
+      - "flake8"
+      - "isort"
  • Apply / Chat
Suggestion importance[1-10]: 7

__

Why: The suggestion correctly identifies a potential issue with grouping all dependencies and proposes a best-practice solution to separate production and development dependencies, which improves the robustness of the update process.

Medium
  • More

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (3)
.github/dependabot.yml (3)

10-11: Pin day/time/timezone to avoid business-hours PR noise.

Apply to schedule:

     schedule:
       interval: "weekly"
+      day: "sunday"
+      time: "06:00"
+      timezone: "UTC"

12-15: Avoid “mega‑PRs”: group only obvious dev tools; leave security updates ungrouped.

Grouping everything into one PR can make reviews risky and block merges. A lighter pattern groups common dev tooling while leaving runtime deps and security updates as separate PRs.

Replace the current group with:

-    groups:
-      python-dependencies:
-        patterns:
-          - "*"
+    groups:
+      dev-dependencies:
+        applies-to: "version-updates"
+        patterns:
+          - "pytest*"
+          - "mypy*"
+          - "ruff*"
+          - "types-*"

Optional: add open-pull-requests-limit: 5 at this update level to cap concurrency.


7-15: Consider labels/reviewers and commit message prefix for triage hygiene.

Example:

   - package-ecosystem: "pip" # See documentation for possible values
     directory: "/" # Location of package manifests
     schedule:
       interval: "weekly"
+    labels:
+      - "dependencies"
+      - "pip"
+    reviewers:
+      - "hbmartin"
+    commit-message:
+      prefix: "deps(pip)"

Adjust labels/reviewers to match your repo conventions.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 81e3bc1 and eca8522.

📒 Files selected for processing (1)
  • .github/dependabot.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Sourcery review
🔇 Additional comments (2)
.github/dependabot.yml (2)

7-9: Validate ecosystem choice and add entries for other managers if present.

If the repo uses Poetry or Pipenv, Dependabot needs separate entries.

Add as needed (example snippets):

# Add if GitHub Actions are used
- package-ecosystem: "github-actions"
  directory: "/"
  schedule:
    interval: "weekly"

# Add if Poetry is used (pyproject.toml + poetry.lock)
- package-ecosystem: "poetry"
  directory: "/"
  schedule:
    interval: "weekly"

# Add if Pipenv is used (Pipfile + Pipfile.lock)
- package-ecosystem: "pipenv"
  directory: "/"
  schedule:
    interval: "weekly"

Run the manifest scan script in my other comment to decide which to add.


6-15: Approve — Dependabot pip config is correct (pyproject.toml found at repo root).

pyproject.toml at the repository root contains [project] and dependencies, so the pip updates entry with directory "/" is valid.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant