{"library":"python-ripgrep","title":"Python Ripgrep","description":"python-ripgrep is a Python wrapper for the high-performance ripgrep command-line utility. It provides a programmatic interface to run ripgrep searches, parse results, and interact with its various options. Currently at version 0.0.9, its release cadence is irregular, with updates typically occurring to add new features or align with upstream ripgrep changes.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install python-ripgrep"],"cli":null},"imports":["from python_ripgrep import Ripgrep"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nfrom python_ripgrep import Ripgrep\n\n# Ensure ripgrep is installed and in your PATH.\n# For example:\n# Debian/Ubuntu: sudo apt install ripgrep\n# macOS (Homebrew): brew install ripgrep\n# Rust cargo: cargo install ripgrep\n\n# Create a dummy file for searching if it doesn't exist\nif not os.path.exists(\"example_rg.txt\"):\n    with open(\"example_rg.txt\", \"w\") as f:\n        f.write(\"Hello, World!\\n\")\n        f.write(\"This is a test line.\\n\")\n        f.write(\"Another line with 'World'.\\n\")\n        f.write(\"hello world again.\\n\")\n\ntry:\n    # Initialize Ripgrep instance, searching in the current directory\n    # You can also specify a different path: rg = Ripgrep(path='/path/to/project')\n    rg = Ripgrep(path='.')\n\n    # Perform a case-insensitive search for \"world\" in .txt files\n    # The search method returns an iterator over results\n    print(\"Searching for 'world' (case-insensitive) in .txt files:\")\n    results = rg.search('world', file_type='.txt', ignorecase=True)\n\n    found_results = False\n    for result in results:\n        found_results = True\n        print(f\"File: {result.file}, Line: {result.line_number}, Match: '{result.match}'\")\n\n    if not found_results:\n        print(\"No results found.\")\n\nexcept FileNotFoundError as e:\n    if \"No such file or directory: 'rg'\" in str(e):\n        print(\"\\nERROR: ripgrep executable 'rg' not found in your PATH.\")\n        print(\"Please install ripgrep from: https://github.com/BurntSushi/ripgrep#installation\")\n    else:\n        print(f\"\\nAn unexpected FileNotFoundError occurred: {e}\")\nexcept Exception as e:\n    print(f\"\\nAn error occurred: {e}\")\n\nfinally:\n    # Clean up the dummy file\n    if os.path.exists(\"example_rg.txt\"):\n        os.remove(\"example_rg.txt\")","lang":"python","description":"This quickstart demonstrates how to initialize the Ripgrep wrapper and perform a basic case-insensitive search for a term in text files. It includes setup for a dummy file and error handling for the missing `ripgrep` executable.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"0.0.8","pypi_latest":"0.0.9","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":1.6,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"python-ripgrep","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"22.9M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"python-ripgrep","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.6,"import_time_s":null,"mem_mb":null,"disk_size":"23M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"python-ripgrep","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"24.7M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"python-ripgrep","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.7,"import_time_s":null,"mem_mb":null,"disk_size":"25M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"python-ripgrep","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"16.6M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"python-ripgrep","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":"17M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"python-ripgrep","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"16.4M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"python-ripgrep","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":"16M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"python-ripgrep","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"22.4M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"python-ripgrep","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":1.8,"import_time_s":null,"mem_mb":null,"disk_size":"23M"}]}}