deps(deps): Bump the python-patch group with 2 updates#1
Closed
dependabot[bot] wants to merge 1 commit into
Closed
deps(deps): Bump the python-patch group with 2 updates#1dependabot[bot] wants to merge 1 commit into
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps the python-patch group with 2 updates: [striprtf](https://github.com/joshy/striprtf) and [rapidfuzz](https://github.com/rapidfuzz/RapidFuzz). Updates `striprtf` from 0.0.29 to 0.0.32 - [Release notes](https://github.com/joshy/striprtf/releases) - [Changelog](https://github.com/joshy/striprtf/blob/master/CHANGELOG.md) - [Commits](joshy/striprtf@v0.0.29...v0.0.32) Updates `rapidfuzz` from 3.14.3 to 3.14.5 - [Release notes](https://github.com/rapidfuzz/RapidFuzz/releases) - [Changelog](https://github.com/rapidfuzz/RapidFuzz/blob/main/CHANGELOG.rst) - [Commits](rapidfuzz/RapidFuzz@v3.14.3...v3.14.5) --- updated-dependencies: - dependency-name: striprtf dependency-version: 0.0.32 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: python-patch - dependency-name: rapidfuzz dependency-version: 3.14.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: python-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
Author
|
Looks like these dependencies are updatable in another way, so this is no longer needed. |
exbuf
added a commit
that referenced
this pull request
Jul 2, 2026
inaccurate --on-match claim on --watch composition Two things in one commit — the second was uncovered while writing the first, so they need to land together for the README to stay factually correct. 1. **--on-match accuracy fix (README).** The "How these compose" section added in e8d10fd claimed --watch could pair with --on-match ("--on-match CMD for a live pattern sentinel"). Verified against the code: --watch returns from run_watch() at cli.py:1586, BEFORE the on-match hook code around line 871. peekdocs/watcher.py has zero on_match references. --on-match is a batch-search hook (one hook per invocation); --watch's notification channel is the stdout NDJSON stream. Rewrites composition #1 to reflect that, with an explicit note calling out the difference so future readers don't fall into the same trap. 2. **Worked examples cross-linked from all three README compositions.** Compositions #2 (provenance audit) and #3 (scheduled pattern scan) already had worked examples in USER_GUIDE.md (audit engagement provenance, line 1496; nightly source-tree watch, line 1419). Added cross-links in the README so readers don't have to hunt for them. 3. **New worked example: real-time pattern monitoring with --watch.** Composition #1 had no worked example — the "nightly source-tree watch" one uses cron, not the --watch flag. Added a full walkthrough in USER_GUIDE.md right after the audit engagement one: - Domain-neutral scenario (docs team hygiene watch — TODO markers, deprecated feature names, internal-only URLs). Deliberately not a compliance / credential scanning framing. - Setup: build regex collection in GUI. - Command: --watch --regex-collection piped to a shell loop that fires osascript display notifications. - Accurate NDJSON output shape (7 fields, verified against peekdocs/watcher.py's docstring). - Variations: Slack webhook, log-to-disk, jq prefilter. - Six gotchas: --on-match doesn't fire in --watch, Ctrl-C clean shutdown, refuse-to-run-as-root, --allow-system-paths warning, no delete events, noisy folders. - What this is not: pre-commit hook substitute. 4. USER_GUIDE TOC entry added for the new worked example. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
exbuf
added a commit
that referenced
this pull request
Jul 6, 2026
Reviewer's #1 code-health weakness after the mixin split was 149 `except Exception: pass` sites across the GUI mixins mixing real defensive Tk guards with silent bug swallowers. When something broke, the user saw "nothing happened" and the maintainer got no signal. Ships the infrastructure fix: peekdocs/gui/_error_guard.py gui_guard(operation) — swallow exception AND log to peekdocs_errors.log with the operation name + traceback tail. For persistence writes, best-effort widget updates, and other cases where a persistent problem matters but a single occurrence shouldn't crash the UI. gui_race_guard() — swallow silently. For Tk timing races (grab_set on not-yet-viewable window, focus_set on destroyed widget) where the retry-with-after() pattern handles correctness and logging would be pure noise. Converts 4 persistence sites in _mixin_data.py as a pattern demonstration: - factory reset: remove ~/.peekdocsrc - save text_size preference (config write) - clear search history: remove ~/.peekdocs_history.json - save bookmarks to disk These are exactly the sites where a persistent disk-write problem (read-only home, out of inodes, permissions issue) would matter to the maintainer; the old bare `except Exception: pass` swallowed them identically to a one-off race. Now they leave a log line. 7 new tests in tests/test_error_guard.py cover: swallow-and-log, happy-path no-log, log-write-failure survival (the guard's own log attempt must not cascade), and nested-guard stacking. mypy scope extended to _error_guard.py (9 files typed now). ARCHITECTURE.md known-weaknesses list gets a new entry documenting the partial fix and pointing at the remaining conversion work (one- at-a-time across ~145 remaining sites). Full suite: 710 passed (703 + 7 new), 8 skipped, 0 failing. mypy clean on 9 typed files. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
exbuf
added a commit
that referenced
this pull request
Jul 6, 2026
User reported on 1.2.80: About → View License in the standalone
GUI shows "LICENSE file not found in this build" on both macOS and
Windows.
Diagnosis on macOS. I downloaded the released
peekdocs-gui-macos.zip and inspected the .app bundle:
peekdocs-gui.app/Contents/Resources/LICENSE <- actually here
peekdocs-gui.app/Contents/Resources/NOTICE
peekdocs-gui.app/Contents/Resources/THIRD_PARTY_NOTICES.md
But sys._MEIPASS on a PyInstaller --onedir --windowed .app bundle
points at Contents/Frameworks/ (runtime + libraries), NOT
Contents/Resources/. resource_path("LICENSE") returned
Contents/Frameworks/LICENSE, which doesn't exist, so the fallback
"not found" message displayed.
This behavior is not documented anywhere in PyInstaller's docs —
--add-data payloads simply land in a different bundle directory
than the runtime under --windowed on macOS. Traditional
sys._MEIPASS-only lookups miss them.
Windows check. I parsed the peekdocs-gui-windows.exe TOC and
verified LICENSE IS present at the archive root, which _should_
extract to _MEIPASS/LICENSE at runtime. If the user still sees the
fallback on Windows, likely a cached older exe (before the file
was bundled at all) or a runtime-permission issue — the
multi-candidate fix below is defensive either way.
Fix. Extended resource_path() to search a small ordered candidate
list under sys._MEIPASS and return the first that exists on disk:
1. sys._MEIPASS/relative_path
(traditional --onefile / --onedir root — works on Windows,
Linux, macOS CLI)
2. sys._MEIPASS/../Resources/relative_path
(macOS .app bundle — Contents/Resources/ relative to
Contents/Frameworks/)
If no candidate exists, return the traditional #1 path so the
caller's os.path.exists() check hits False and its own
"not found" fallback logic runs. This preserves API behavior for
existing consumers.
Design note: this only affects the PyInstaller-frozen path. Source
checkouts and pip/pipx installs continue to use the repo-root and
dist-info paths respectively. The docstring gains a full
per-build-mode breakdown so a future maintainer doesn't hit the
same "why isn't _MEIPASS enough" puzzle.
4 new tests in tests/test_paths.py cover: traditional root lookup,
macOS .app Contents/Resources/ fallback, no-candidate returns
traditional path (for caller fallback), root-wins-over-resources
when both exist.
Full suite: 721 passed (up from 717, +4 new), 8 skipped, 0
failing. mypy clean on 12 typed files.
Fix ships in next release build. About → View License will show
the actual LICENSE text once the user re-downloads.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
exbuf
added a commit
that referenced
this pull request
Jul 9, 2026
"Pipeline" appears in README sentence #1 ("a single pipeline") but was undefined for non-technical readers. Add a plain-language entry explaining what a pipeline is and the benefit of peekdocs's single pipeline (same steps, options, and reports across all 100+ file types). Also reconcile the glossary term count — the doc table said 93 and the prose said 92; the actual count is now 94. Both README references updated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
exbuf
added a commit
that referenced
this pull request
Jul 9, 2026
…d sections) Found by a full internal-link audit across all project markdown (415 links, now 0 broken). All pre-existing doc-rot, unrelated to MCP: - GLOSSARY -> README#prerequisites => #3-prerequisites (numbered heading) - INSTALLATION -> README#option-a-... => #1-option-a-... (numbered heading) - WALKTHROUGHS -> README#screenshots => #watch-peekdocs-in-action (renamed) - TROUBLESHOOTING -> USER_GUIDE#command-examples => #complete-cli-reference (renamed) - USER_GUIDE -> GLOSSARY#file-integrity-monitoring-fim: the term is a table cell (no auto anchor); added an explicit <a id> matching the existing convention. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
exbuf
added a commit
that referenced
this pull request
Jul 19, 2026
Per the clarity review — trim the most-repeated points without losing any,
keeping each stated fully once.
README (local-model privacy pitch, repeated ~6x):
- Opening MCP paragraph stated the local/privacy point twice and re-spelled the
model list; tightened to one clean statement that defers the cloud-vs-local
nuance to the "A note on privacy" block right below.
- The "Anyone who'd rather ask" persona bullet re-pitched local/cloud at the
end → compressed to one clause + the existing MCP-section link.
USER_GUIDE ("by design" overlap):
- Removed the standalone "summarize what you found" sentence (said 5-6x
elsewhere); kept a compressed parenthetical on the One-way point.
- Flow-closer re-explained the whole cloud/local split (privacy thesis #1 of 3)
→ compressed to one clause + a single pointer to "Does it keep everything on
your machine?".
- Dropped the "unit-testable without importing mcp" implementation aside from
the user-facing benefits sentence.
Each point is still stated fully once. Docs only; no version bump.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps the python-patch group with 2 updates: striprtf and rapidfuzz.
Updates
striprtffrom 0.0.29 to 0.0.32Release notes
Sourced from striprtf's releases.
Changelog
Sourced from striprtf's changelog.
Commits
f95578fnew version v.0.0.32b49e251new version39792efnew version2bc1f3aMerge pull request #62 from babenek/masterbe57917copy py.typed into build package26200bapy.typed file added for MyPy linter supportUpdates
rapidfuzzfrom 3.14.3 to 3.14.5Release notes
Sourced from rapidfuzz's releases.
Changelog
Sourced from rapidfuzz's changelog.