Skip to main content

EXPERIMENT: DO NOT USE THIS OR DEPEND ON THIS


A Python package with Rust-based ripgrep implementation using maturin. This package bundles the full ripgrep binary alongside a Python search API.

Features

  • Bundled ripgrep binary: Full ripgrep CLI built from source and included in the wheel
  • Python search API: Native Python interface for searching
  • Built from source: All binaries are compiled from source during wheel building
  • Zero runtime dependencies: ripgrep binary is embedded, no system installation needed
  • Python 3.13+ support
  • Cross-platform wheels for Linux, macOS, and Windows

Installation

pip install sup

Development

Prerequisites

  • Python 3.13+
  • Rust toolchain
  • maturin

Setup

# Clone the repository
git clone <your-repo-url>
cd sup

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install development dependencies
pip install maturin pytest

# Build and install locally
maturin develop

Testing

pytest tests/

Building Wheels

# Build wheel for current platform
maturin build --release

# Build wheels for all platforms (via CI)
# Push to GitHub and CI will build wheels for all platforms

Usage

Python API

from sup import search, RipGrep, ripgrep, get_ripgrep_path

# Simple search using Python API
results = search("pattern", "/path/to/search")
for match in results:
    print(f"{match['file']}:{match['line_number']}: {match['line']}")

# Using RipGrep class directly
rg = RipGrep(r"test\d+")  # Regex pattern
matches = rg.search("/path/to/file.txt")

# Using the bundled ripgrep binary
result = ripgrep("pattern", ".", "--type", "py")
print(result.stdout)

# Get path to the ripgrep binary (extracted to temp directory)
rg_path = get_ripgrep_path()
print(f"ripgrep binary available at: {rg_path}")

Command Line

After installation, you can use the bundled ripgrep via:

# Use the sup-rg command (installed as console script)
sup-rg pattern /path/to/search

# Or invoke via Python
python -m sup pattern /path/to/search

CI/CD

The project uses GitHub Actions to automatically build wheels for multiple platforms:

  • Linux (x86_64, aarch64)
  • macOS (x86_64, ARM64)
  • Windows (x64, x86)

Wheels are built for Python 3.13 and published to PyPI on tagged releases.

License

MIT

Release files for sup 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sup 0.1.1
File Size Uploaded
sup-0.1.1.tar.gz 2.3 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for sup 0.1.1
File
sup-0.1.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
sup-0.1.1-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
sup-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
sup-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
sup-0.1.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details

Total release size: 31.2 MB

Release files / sup-0.1.1.tar.gz

Download URL sup-0.1.1.tar.gz
Size 2.3 MB
Tags Source
SHA-256 checksum
How to use checksums
3e327d5b2bab13f9c98de2a8fa28a647765c74a02dde46365facd602e1d0449a
BLAKE2b-256 checksum
How to use checksums
326fb76a48428ef80fbb377e9dd6ef156af3ed4b2746218b6848628f532436c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2025.

Transparency log

Release files / sup-0.1.1-cp313-cp313-win_amd64.whl

Download URL sup-0.1.1-cp313-cp313-win_amd64.whl
Size 4.9 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
5f51b0e7388a4149514aef4a1ca52cb67219d68178c2d5baf36b02e5f311214c
BLAKE2b-256 checksum
How to use checksums
3dccdaf11cefa0079da75c493ac04f70036545980771383477214dde23479b3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2025.

Transparency log

Release files / sup-0.1.1-cp313-cp313-win32.whl

Download URL sup-0.1.1-cp313-cp313-win32.whl
Size 4.6 MB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
e68fc2d6426fa0b10253a3d2fb6099b52a567b48eed516c726643634242759db
BLAKE2b-256 checksum
How to use checksums
cde244fbb2cf8ad57a67ae0c42ad3f16b7a07dfc1736ff06aff64a7c876aaf1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2025.

Transparency log

Release files / sup-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sup-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 8.2 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1116ca1f0a952c2a237260f0b0224ffe2c8c6c80307c841507a7cdd9b835dd49
BLAKE2b-256 checksum
How to use checksums
443c956523bbcb66017e6548d7f4f920e914aaf3dd242a949069596178af342b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2025.

Transparency log

Release files / sup-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL sup-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.1 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
a932648b7e05c4a45a4e19492119a16ff0a631e94e5ac09a0e15f39be1fa013b
BLAKE2b-256 checksum
How to use checksums
461be05850e5e4d8ac37aa6586228ad2373d9054c6534d7ed07f48ae534b0a30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2025.

Transparency log

Release files / sup-0.1.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL sup-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
Size 3.0 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
16f7deb5fac6196315151351c56a1bcf28e84482252594b62513f37e54d24614
BLAKE2b-256 checksum
How to use checksums
c02ff1b78a69222ff5b51392e35440a2d1cc7f5706e5f77acbc468ff4990d9c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 11, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

6 release files

0.1.0

6 release 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