{"library":"pytest-reportportal","title":"Pytest ReportPortal Agent","description":"pytest-reportportal is a Pytest plugin that serves as an agent for reporting test results to the ReportPortal test automation dashboard. It enables real-time reporting, detailed logs, and execution data analysis for Python tests run with Pytest. The library, currently at version 5.6.6, receives frequent minor updates to improve functionality, fix bugs, and maintain compatibility with Python and the ReportPortal client.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install pytest-reportportal"],"cli":null},"imports":["from reportportal_client import RPLogger","from reportportal_client import RPLogHandler"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import pytest\nimport os\n\n# --- pytest.ini (simulated content for quickstart) ---\n# [pytest]\n# rp_endpoint = http://localhost:8080\n# rp_project = default_personal\n# rp_api_key = your_api_key_from_reportportal_profile\n# rp_launch = MyPytestLaunch\n\n# To run this example:\n# 1. Ensure ReportPortal is running (e.g., via Docker).\n# 2. Set environment variables or create a pytest.ini file:\n#    export RP_ENDPOINT=\"http://localhost:8080\"\n#    export RP_PROJECT=\"default_personal\"\n#    export RP_API_KEY=\"your_api_key\"\n# 3. Save the test below as `test_example.py`.\n# 4. Run from your terminal: `pytest --reportportal test_example.py`\n\ndef test_passing_example():\n    assert True\n\ndef test_failing_example():\n    assert False\n\n@pytest.mark.skip(reason=\"demonstrating skip\")\ndef test_skipped_example():\n    pass\n","lang":"python","description":"This quickstart demonstrates how to configure and run Pytest with `pytest-reportportal`. The core configuration involves setting `rp_endpoint`, `rp_project`, and `rp_api_key` (or OAuth credentials) either in a `pytest.ini` file or via environment variables. The `--reportportal` flag activates the plugin during test execution. A simple test file with passing, failing, and skipped tests is provided to show how results are reported.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"5.6.7","pypi_latest":"5.6.7","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":4.4,"avg_import_s":1.18,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pytest-reportportal","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.05,"mem_mb":16.5,"disk_size":"30.8M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pytest-reportportal","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.3,"import_time_s":0.76,"mem_mb":16.5,"disk_size":"33M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pytest-reportportal","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.27,"mem_mb":18.6,"disk_size":"33.8M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pytest-reportportal","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.1,"import_time_s":1.13,"mem_mb":18.6,"disk_size":"36M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pytest-reportportal","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.4,"mem_mb":18.5,"disk_size":"25.6M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pytest-reportportal","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.3,"import_time_s":1.33,"mem_mb":18.5,"disk_size":"28M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pytest-reportportal","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.48,"mem_mb":19.3,"disk_size":"25.3M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pytest-reportportal","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3.5,"import_time_s":1.36,"mem_mb":19.3,"disk_size":"28M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pytest-reportportal","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.06,"mem_mb":16.3,"disk_size":"30.9M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pytest-reportportal","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":5.9,"import_time_s":0.97,"mem_mb":16.3,"disk_size":"33M"}]}}