Skip to content

Conversation

@Dravis-Xam
Copy link

@Dravis-Xam Dravis-Xam commented Nov 12, 2025

Summary by CodeRabbit

  • New Features

    • Added automatic retry for HTTP POST requests with exponential backoff, logging of retry attempts, and configurable retry behavior.
  • Chores

    • Extracted retry logic into a dedicated module to centralize request resiliency.
  • Tests

    • Added integration tests that validate the retry behavior under repeated failure scenarios.

@coderabbitai
Copy link

coderabbitai bot commented Nov 12, 2025

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Description check ⚠️ Warning The pull request description is completely empty. The template requires sections like Description, Type of Change, How Has This Been Tested, and Checklist. Add a comprehensive description including: what problem this solves, type of change (New feature), testing approach, and complete the provided checklist.
Docstring Coverage ⚠️ Warning Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (1 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Feature tenacity retry logic' clearly describes the main change: adding retry functionality using the tenacity library.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between eddaece and 03bbd32.

📒 Files selected for processing (1)
  • tests/integration/retry/retry.py (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • tests/integration/retry/retry.py

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.

Copy link

@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: 8

🧹 Nitpick comments (1)
.github/workflows/generate-pystubs.yml (1)

35-41: Commit strategy may fail silently if no stubs are generated.

The current commit logic echoes "No changes to commit" if git commit fails, but doesn't verify whether stubgen actually generated stubs. If the workflow fails early, this could mask issues. Consider adding error handling to ensure stubs were actually generated.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c956fcb and f0f8302.

📒 Files selected for processing (11)
  • .github/workflows/generate-pystubs.yml (1 hunks)
  • .idea/.gitignore (1 hunks)
  • .idea/inspectionProfiles/profiles_settings.xml (1 hunks)
  • .idea/misc.xml (1 hunks)
  • .idea/modules.xml (1 hunks)
  • .idea/mpesakit.iml (1 hunks)
  • .idea/vcs.xml (1 hunks)
  • mpesakit/retry/__init__.py (1 hunks)
  • mpesakit/retry/retry.py (1 hunks)
  • pyproject.toml (1 hunks)
  • tests/integration/retry/retry.py (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
tests/integration/retry/retry.py (1)
mpesakit/retry/retry.py (1)
  • retryable_request (21-45)
🔇 Additional comments (1)
pyproject.toml (1)

49-49: Tenacity dependency added correctly.

The version constraint allows for patches and minor updates while requiring a minimum version. Consider adding an upper bound constraint to prevent potential breaking changes in future major versions, though this is optional for stable libraries.

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