Skip to content

Conversation

@tysoncung
Copy link

Overview

This PR adds comprehensive documentation for the backoff library using MkDocs Material. It builds upon the foundation in PR #33 by adding complete documentation content.

Changes

Documentation Structure

  • Getting Started - Step-by-step tutorial with examples
  • User Guide:
    • Decorators - Complete guide to on_exception and on_predicate
    • Wait Strategies - Exponential, fibonacci, constant, and runtime strategies
    • Configuration - All configuration options and patterns
    • Event Handlers - Monitoring and logging retry events
    • Logging - Logger configuration and formatting
    • Async Support - Full async/await documentation
  • Advanced Topics:
    • Combining Decorators - Stacking multiple decorators
    • Runtime Configuration - Dynamic configuration patterns
    • Custom Strategies - Creating custom wait generators
  • Examples - Real-world patterns for HTTP/API, databases, async, cloud services, etc.
  • FAQ - Common questions and troubleshooting
  • API Reference - Auto-generated API docs using mkdocstrings

Technical Details

  • Enhanced mkdocs.yml with comprehensive navigation structure
  • Added GitHub Actions workflow for automatic deployment to GitHub Pages
  • Uses mkdocstrings for API documentation generation
  • 15 documentation files covering all aspects of the library
  • 3,185 lines of documentation content

Builds Upon PR #33

This PR uses the excellent MkDocs Material setup from @edgarrmondragon in PR #33 and extends it with complete documentation content. The mkdocs.yml configuration from #33 is preserved and enhanced with structured navigation.

Benefits

  • Complete documentation for all features
  • Real-world examples and patterns
  • Auto-deployment via GitHub Actions
  • Modern, searchable interface with Material theme
  • API reference auto-generated from docstrings
  • Comprehensive FAQ and troubleshooting guide

Preview

The documentation includes:

  • 40+ code examples
  • Real-world patterns for API calls, databases, async operations, and cloud services
  • Detailed explanations of all wait strategies
  • Event handler patterns for logging and monitoring
  • Advanced topics like combining decorators and custom strategies

Testing

Documentation builds successfully:

bash
mkdocs build

Related

Checklist

  • Documentation structure created
  • All user guide sections completed
  • Examples and FAQ added
  • GitHub Actions workflow configured
  • API reference setup with mkdocstrings
  • Builds without errors

Looking forward to feedback! Happy to make any adjustments to structure, content, or organization.

Note: This PR can be merged independently of #33 or combined with it, as it includes the same basic setup plus all the content.

edgarrmondragon and others added 6 commits October 17, 2025 15:37
- Enhanced mkdocs.yml with structured navigation
- Created complete documentation structure:
  - Getting started guide with examples
  - User guide covering decorators, wait strategies, configuration, event handlers, logging, and async
  - Advanced topics: combining decorators, runtime config, custom strategies
  - Comprehensive examples for real-world use cases
  - FAQ with common questions and troubleshooting
  - API reference with mkdocstrings integration
- Added GitHub Actions workflow for automatic deployment to GitHub Pages
- Builds upon PR python-backoff#33 with full content implementation

This provides production-ready documentation for the backoff library.
@edgarrmondragon edgarrmondragon linked an issue Oct 29, 2025 that may be closed by this pull request
Copy link

@edgarrmondragon edgarrmondragon left a comment

Choose a reason for hiding this comment

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

@edgarrmondragon edgarrmondragon merged commit 0849b73 into python-backoff:main Oct 29, 2025
13 checks passed
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.

Publish documentation

2 participants