{"library":"pysolr","title":"PySolr","description":"PySolr is a lightweight Python client for Apache Solr, providing an interface for querying, indexing, and managing data in Solr. It is actively maintained with version 3.11.0 being the latest stable release, and typically sees 1-3 major releases per year, though the cadence can be irregular.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install pysolr"],"cli":null},"imports":["import pysolr\nsolr = pysolr.Solr('http://localhost:8983/solr/')"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nimport pysolr\n\nsolr_url = os.environ.get('SOLR_URL', 'http://localhost:8983/solr/')\n\ntry:\n    # Connect to Solr with explicit commit behavior\n    solr = pysolr.Solr(solr_url, always_commit=True, timeout=10)\n\n    # Do a health check\n    solr.ping()\n    print(f\"Successfully connected to Solr at {solr_url}\")\n\n    # Index some data\n    docs_to_add = [\n        {\"id\": \"doc_1\", \"title\": \"The Quick Brown Fox\"},\n        {\"id\": \"doc_2\", \"title\": \"Jumps Over The Lazy Dog\"},\n    ]\n    solr.add(docs_to_add)\n    print(\"Added documents.\")\n\n    # Search for data\n    results = solr.search('fox')\n\n    print(f\"Found {len(results)} result(s) for 'fox':\")\n    for result in results:\n        print(f\"  - ID: {result['id']}, Title: {result['title']}\")\n\n    # Delete a document\n    solr.delete(id='doc_1')\n    print(\"Deleted doc_1.\")\n\n    # Search again to confirm deletion\n    results_after_delete = solr.search('fox')\n    print(f\"Found {len(results_after_delete)} result(s) for 'fox' after deletion.\")\n\nexcept Exception as e:\n    print(f\"An error occurred: {e}\")","lang":"python","description":"This quickstart demonstrates how to connect to a Solr instance, index documents, perform a search, and delete documents. It uses `os.environ.get` for the Solr URL to support flexible deployment, defaulting to a local Solr instance. Note the use of `always_commit=True` due to a significant change in default behavior in recent versions.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"3.10.0","pypi_latest":"3.11.0","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":5.2,"avg_import_s":0.67,"wheel_type":"sdist"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pysolr","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.6,"mem_mb":10.7,"disk_size":"21.3M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pysolr","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":5.4,"import_time_s":0.44,"mem_mb":10.7,"disk_size":"22M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pysolr","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.85,"mem_mb":11.9,"disk_size":"23.3M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pysolr","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":5,"import_time_s":0.75,"mem_mb":11.9,"disk_size":"24M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pysolr","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.74,"mem_mb":12,"disk_size":"24.0M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pysolr","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":5.2,"import_time_s":0.82,"mem_mb":12,"disk_size":"25M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pysolr","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.74,"mem_mb":12.4,"disk_size":"23.8M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pysolr","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":4.5,"import_time_s":0.72,"mem_mb":12.4,"disk_size":"24M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pysolr","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.55,"mem_mb":10.4,"disk_size":"20.5M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pysolr","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"clean","install_time_s":6,"import_time_s":0.48,"mem_mb":10.4,"disk_size":"21M"}]}}