Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: johnnymillergh/python-boilerplate
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 8.1
Choose a base ref
...
head repository: johnnymillergh/python-boilerplate
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 8.2
Choose a head ref
  • 19 commits
  • 27 files changed
  • 1 contributor

Commits on Aug 24, 2025

  1. Merge pull request #21 from johnnymillergh/release/8.1

    build: update version to 8.1
    johnnymillergh authored Aug 24, 2025
    Configuration menu
    Copy the full SHA
    add0acd View commit details
    Browse the repository at this point in the history
  2. Merge pull request #20 from johnnymillergh/release/8.1

    Merge pull request #18 from johnnymillergh/main
    johnnymillergh authored Aug 24, 2025
    Configuration menu
    Copy the full SHA
    f2f9821 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2026

  1. chore: migrate from Poetry to uv for dependency management

    Replace Poetry with uv for faster dependency resolution and installation.
    This follows the same migration pattern used in python-web-service-boilerplate.
    
    Migration includes:
    - Convert pyproject.toml from Poetry format to PEP 621 standard
    - Replace poetry.lock with uv.lock
    - Update GitHub Actions workflows to use uv
    - Update pre-commit hooks to use 'uv run' instead of 'poetry run'
    - Modernize Dockerfile to use uv
    - Update README.md with uv setup and usage instructions
    
    All tests and linting pass with uv.
    johnnymillergh committed Feb 8, 2026
    Configuration menu
    Copy the full SHA
    c8fd530 View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2026

  1. Configuration menu
    Copy the full SHA
    47208cf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6adf7a8 View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2026

  1. Configuration menu
    Copy the full SHA
    4911053 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7904868 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9e0e7df View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0c5f222 View commit details
    Browse the repository at this point in the history
  5. fix(tests): use fully-qualified imports to resolve mypy attr-defined …

    …errors
    
    - Change 'import test_python_boilerplate' to fully-qualified module imports
      in test_debounce_throttle.py and test_apscheduler_configuration.py so mypy
      can resolve the attr-defined references for mocker.spy()
    - Add PLW0406 to per-file-ignores for tests/ since fully-qualified self-imports
      trigger the module-imports-itself warning
    johnnymillergh committed Feb 14, 2026
    Configuration menu
    Copy the full SHA
    53a88f1 View commit details
    Browse the repository at this point in the history
  6. refactor(tests): replace self-import spy pattern with sys.modules[__n…

    …ame__]
    
    The test modules were importing themselves (e.g., import test_python_boilerplate.common.test_debounce_throttle) solely to pass the module to mocker.spy(). This triggered PLW0406 (module-imports-itself) and PLC0415 (import-not-at-top-level) lint suppressions.
    
    Replace with the idiomatic sys.modules[__name__] pattern and remove the now-unnecessary PLW0406/PLC0415 entries from pyproject.toml per-file-ignores.
    johnnymillergh committed Feb 14, 2026
    Configuration menu
    Copy the full SHA
    824e343 View commit details
    Browse the repository at this point in the history
  7. fix(tests): skip pyinstrument profiling for benchmark tests

    pyinstrument 5.1.2 uses a C-level ProfilerState object via sys.setprofile() that is not a callable Python function. pytest-benchmark's PauseInstrumentation saves and restores the profiler via sys.setprofile(), which fails with TypeError on the non-callable ProfilerState.
    
    Skip the auto_profile fixture for tests using the benchmark fixture, since profiling during benchmarks is counterproductive anyway (adds overhead that corrupts measurements).
    johnnymillergh committed Feb 14, 2026
    Configuration menu
    Copy the full SHA
    4c97ec0 View commit details
    Browse the repository at this point in the history
  8. refactor: modernize codebase with PEP 695 syntax, DRY profiling, and …

    …deferred side effects
    
    - Adopt PEP 695 type parameter syntax in profiling.py and debounce_throttle.py
    - Remove unnecessary `from __future__ import annotations` in asynchronization.py and debounce_throttle.py
    - Extract _make_profile_decorator factory to DRY elapsed_time, mem_profile, and cpu_profile
    - Defer loguru handler setup into configure() and SMTP login into init_smtp()
    - Rename retain_log_files to _retain_log_files (private, called only by configure)
    - Fix stale README: consolidate black/isort/flake8 references to Ruff, remove duplicate poetry section, fix Python badge
    - Bump actions/checkout v2/v3 to v4, docker-build-with-cache-action v2 to v6
    - Add py.typed marker for PEP 561 compliance
    johnnymillergh committed Feb 14, 2026
    Configuration menu
    Copy the full SHA
    449432d View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2026

  1. Configuration menu
    Copy the full SHA
    3f3e562 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2ae3c20 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a07ef2d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    501df69 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7b22589 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a7a28a8 View commit details
    Browse the repository at this point in the history
Loading