Skip to content

[deps] Drop Python 3.9 support, bump networkx to 3.5+#156

Merged
nemesifier merged 2 commits into
masterfrom
drop-old-pythons
May 18, 2026
Merged

[deps] Drop Python 3.9 support, bump networkx to 3.5+#156
nemesifier merged 2 commits into
masterfrom
drop-old-pythons

Conversation

@nemesifier
Copy link
Copy Markdown
Member

Summary

  • Dropped Python 3.9 from CI test matrix
  • Bumped networkx requirement from >=2.6,<3.5 to >=3.5,<3.8

NetworkX 3.3+ no longer supports Python 3.9 (dropped April 2024), and 3.5+ requires Python 3.11+ (dropped 3.10 in May 2025).

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 18, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

This PR updates GitHub Actions CI configuration and dependency constraints. The workflow now triggers pull request builds only for the master branch, removing the gsoc23 branch target. Python test matrix drops version 3.9, keeping 3.10 through 3.13. The networkx dependency constraint is tightened from >=2.6,<3.5 to >=3.5,<3.8.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description check ✅ Passed The description clearly relates to the changeset, providing specific details about Python 3.9 removal and NetworkX version updates with relevant rationale.
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.
Bug Fixes ✅ Passed This PR updates Python/NetworkX versions, not a bug fix. Maintenance updates fall under the exception: "fixes affecting Github Actions workflows."
Title check ✅ Passed The title uses the [deps] prefix as specified in requirements, clearly describes the main changes (dropping Python 3.9 and updating NetworkX), and aligns with the actual file modifications in the PR.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch drop-old-pythons

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.

@openwisp-companion
Copy link
Copy Markdown

The CI is failing due to transient infrastructure issues (not related to your code). I have restarted the failed jobs automatically (1/3).

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@requirements.txt`:
- Line 4: The requirements.txt line pinning NetworkX to "networkx>=3.5,<3.8"
conflicts with Python 3.10 in the CI matrix; either remove Python 3.10 from the
CI matrix or constrain NetworkX with Python-version environment markers so 3.10
gets a compatible range and 3.11+ gets networkx>=3.5. Edit requirements.txt to
add two markers: a NetworkX spec that is compatible with Python 3.10 (e.g., an
upper bound below 3.5) for python_version<'3.11' and keep the existing
networkx>=3.5,<3.8 only for python_version>='3.11', or alternatively drop 3.10
from .github/workflows/ci.yml if you intend to require Python 3.11+.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 55872f10-e0d2-4fa0-bcf2-d022169a4c5c

📥 Commits

Reviewing files that changed from the base of the PR and between e876a86 and c06fa41.

📒 Files selected for processing (2)
  • .github/workflows/ci.yml
  • requirements.txt
💤 Files with no reviewable changes (1)
  • .github/workflows/ci.yml
📜 Review details
⏰ 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). (2)
  • GitHub Check: Python==3.13
  • GitHub Check: Kilo Code Review

Comment thread requirements.txt Outdated
@nemesifier nemesifier changed the title Drop Python 3.9 support, bump networkx to 3.5+ [deps] Drop Python 3.9 support, bump networkx to 3.5+ May 18, 2026
@nemesifier nemesifier merged commit ff9ad79 into master May 18, 2026
11 checks passed
@nemesifier nemesifier deleted the drop-old-pythons branch May 18, 2026 21:22
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