Skip to main content

rgpdf

繁體中文 · English

rgpdf is a cross-platform desktop application for searching text-layer PDFs with plain text or regular expressions. Matches appear as they are found and can be opened in an asynchronous page preview with precise, configurable highlighting.

Features

  • Search multiple PDFs in a folder, optionally including subfolders.
  • Plain-text and regular-expression modes with optional case sensitivity.
  • Matches across lines and page boundaries, including line-end dehyphenation.
  • Incremental per-match results without blocking the interface.
  • Three coordinated views for files, matching passages, and PDF page preview.
  • Per-character highlight geometry and configurable highlight colors.
  • English and Traditional Chinese interfaces, plus system/light/dark themes.
  • Persistent search and appearance preferences.

rgpdf searches existing PDF text layers. It does not perform OCR or modify source files.

Install the latest release

Windows standalone download

Download the versioned rgpdf-*-windows-x86_64.exe and its .sha256 file from the latest GitHub Release. The executable is currently unsigned, so Windows SmartScreen may show an unknown-publisher warning. Verify that the SHA-256 value matches the published file before choosing to run it.

No Python or uv installation is required for the standalone executable.

Install with uv

Install uv, then install the latest release from PyPI:

uv tool install rgpdf

Run the application:

rgpdf

To update an existing installation:

uv tool upgrade rgpdf

Windows and macOS are supported; uv manages the required Python environment.

To install the latest source release directly from GitHub instead, use the moving latest tag:

uv tool install "git+https://github.com/codemee/rgpdf.git@latest"

Development

git clone https://github.com/codemee/rgpdf.git
cd rgpdf
uv sync
uv run pytest
uv run rgpdf

Build a self-contained Windows executable (Python and uv are only required on the build machine):

uv sync --frozen
./scripts/build-windows.ps1 -Python .venv/Scripts/python.exe

The result is dist/rgpdf.exe. GitHub Actions also publishes the executable, LICENSE, and third-party notices as the rgpdf-windows-x86_64 workflow artifact. Public release distribution additionally requires the corresponding source materials listed in the release compliance checklist.

On macOS, build a standalone App that does not require Python on the target Mac:

uv sync --frozen
./scripts/build-macos.sh
./scripts/package-macos-dmg.sh
open dist/rgpdf-*-macos-*.dmg

The App is built at dist/rgpdf.app; the distributable DMG is dist/rgpdf-X.Y.Z-macos-ARCH.dmg and contains the App plus an Applications shortcut. Both target the current Mac's architecture. This small project does not use an Apple Developer ID. The App is ad-hoc signed and not notarized, so another user may need to Control-click it and choose Open the first time.

See Technical details for architecture, matching semantics, concurrency, and release engineering. Version history is in the changelog.

Releases

Immutable releases use version tags such as v0.0.3. The movable latest Git tag always points to the newest published source release. PyPI provides the canonical packaged release.

Releases are automated with GitHub Actions. After making the versions in pyproject.toml and src/rgpdf/__init__.py match, push the corresponding tag:

git tag v0.0.6
git push origin v0.0.6

The workflow tests and builds Windows x86_64 and macOS arm64 in parallel, downloads and verifies the locked third-party corresponding sources, creates one GitHub Release with checksums, then publishes to PyPI through Trusted Publishing. A failed test, build, or source verification prevents publication.

License

rgpdf is licensed under the GNU Affero General Public License version 3. You may use, study, modify, and redistribute it under the terms of that license. Distributed binaries must be accompanied by the complete corresponding source for the same version.

This application uses PyMuPDF/MuPDF under AGPLv3 and PySide6/Qt under LGPLv3. See third-party notices and the release compliance checklist.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rgpdf-0.0.6.tar.gz (69.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rgpdf-0.0.6-py3-none-any.whl (38.3 kB view details)

Uploaded Python 3

File details

Details for the file rgpdf-0.0.6.tar.gz.

File metadata

  • Download URL: rgpdf-0.0.6.tar.gz
  • Upload date:
  • Size: 69.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rgpdf-0.0.6.tar.gz
Algorithm Hash digest
SHA256 fa6c5b8c3384a09cab6dfdd057fff938506b39264cceeadad6f0679e90679d70
MD5 e51a3f2e6cfb705c0b23e653fd84d0b3
BLAKE2b-256 6a28476e9abe813ee231710b27adbe466f4134528cfee00fc86d1d61ef2e95a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for rgpdf-0.0.6.tar.gz:

Publisher: publish-pypi.yml on codemee/rgpdf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rgpdf-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: rgpdf-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 38.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rgpdf-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 74db1cc02cf7880bdba99f5813e5cddf0d3f8b1eff318543c764f6b678d3b315
MD5 66c10b090ba1d620df751557b295e3ba
BLAKE2b-256 6715e5a9e49d3ca13c61864da54255eadcfe19bc4bb8793a56c3a27929386b7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rgpdf-0.0.6-py3-none-any.whl:

Publisher: publish-pypi.yml on codemee/rgpdf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.0.7

2 files

This release

0.0.6 This release

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page