VetLog
A review finding turned into a merged Python fix: reminder events now name only the pets that are actually missing medical logs.
- Context
- Contribution to josdem/py-vetlog-calendar, issue #146. The maintainer addressed duplicate events in PR #147. My review identified incorrect reminder contents; the follow-up fix for issue #148 was merged as PR #150 on 27 Sep 2026.
- Stack
- Python, pytest, Ruff, Google Calendar API.
- Role
- Contributor: filtering fix and one regression test, plus review of the maintainer’s PR. Listed in the upstream README contributors table for bug reporting and code (all-contributors).
- Repository
- github.com/HeyItWorked/py-vetlog-calendar (Public, branch feature/146-filter, PR #150)

At a glance
What it is
Vetlog is an open-source scheduler for a vet practice. One of its jobs scans the week’s surgeries, checks which pets are missing medical logs, and puts a reminder on the doctor’s Google Calendar.
The original report concerned duplicate reminders. The maintainer’s sent-flag change stopped those duplicates, but a review exposed a second problem: the event still named pets that already had logs. My follow-up collects only surgeries without logs, then builds and sends one reminder from that filtered list.
What changed
calendar.create_eventmoved out of the loop; it now runs at most once per invocation.- The reminder is built from the filtered list, so pets that already have logs are no longer named in it.
- The log line reports the missing count instead of the total surgery count.
- One new mixed-case regression test verifies that the reminder is built only from the surgery without logs and that exactly one event is created.
Verification
The initial local work was checked on 26 Sep 2026: 122 tests passed, and ruff check plus ruff format --check are clean on both changed files.
Reviewing the maintainer’s PR #147, I found the sent-flag in #147 stops the duplicates but the reminder still names pets that already have logs. I left that finding as a review comment, the maintainer filed it as issue #148 and invited the follow-up, and PR #150 carries the filtered version plus one mixed-case test. The maintainer approved it and merged it on 27 Sep 2026.
Limitations
- Re-running the job before the logs are written sends a second reminder; nothing yet checks whether one was already sent this week.
- The contribution fixes which pets are named in the reminder. It does not make repeated job runs idempotent. The upstream maintainer’s duplicate-suppression work and my filtering follow-up remain distinct contributions.