{"library":"pytest-md-report","title":"pytest-md-report","description":"pytest-md-report is a pytest plugin designed to generate test outcomes reports formatted as markdown tables. It extends pytest's functionality by providing various command-line options and a programmatic interface to produce detailed, customizable reports. The library is actively maintained, with frequent updates to support new Python and pytest versions, currently at version 0.7.0.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install pytest-md-report"],"cli":null},"imports":["pytest --md-report --md-report-output=report.md","from pytest_md_report.converter import make_md_report"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import pytest\nimport os\n\ndef test_example_success():\n    assert True\n\ndef test_example_failure():\n    assert False\n\ndef test_example_skipped():\n    pytest.skip(\"demonstrating skip\")\n\n# Create a dummy test file\nwith open(\"test_example.py\", \"w\") as f:\n    f.write(\"\"\"\nimport pytest\n\ndef test_pass():\n    assert 1 + 1 == 2\n\ndef test_fail():\n    assert 1 + 1 == 3\n\n@pytest.mark.skip(reason='demonstrating skip')\ndef test_skip():\n    assert True\n    \"\"\"\n)\n\n# Run pytest with md-report options\n# This will generate 'report.md' in the current directory\n# and also output to stdout due to --md-report-tee\n\n# Using os.system for demonstration; in a real script, prefer pytest.main()\n# For security, avoid os.system with untrusted input.\nprint(\"\\n--- Running tests and generating report ---\")\nos.system(\"pytest --md-report --md-report-output=report.md --md-report-tee test_example.py\")\n\nprint(\"\\n--- Report generated: report.md ---\")\nprint(open(\"report.md\").read())\n\n# Clean up\nos.remove(\"test_example.py\")\nos.remove(\"report.md\")","lang":"python","description":"This quickstart demonstrates how to use pytest-md-report via the command line to generate a Markdown report. It creates a dummy test file, runs pytest with the `--md-report` flag to enable reporting, `--md-report-output` to specify an output file, and `--md-report-tee` to show the report on the console as well. The generated Markdown report will be saved as `report.md`.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"0.7.0","pypi_latest":"0.8.0","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":4.8,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pytest-md-report","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":"52.9M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pytest-md-report","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":4.8,"import_time_s":null,"mem_mb":null,"disk_size":"53M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pytest-md-report","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":"61.3M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pytest-md-report","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":4.5,"import_time_s":null,"mem_mb":null,"disk_size":"62M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pytest-md-report","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":"64.4M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pytest-md-report","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":5,"import_time_s":null,"mem_mb":null,"disk_size":"65M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pytest-md-report","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":"64.2M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pytest-md-report","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":5.1,"import_time_s":null,"mem_mb":null,"disk_size":"65M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pytest-md-report","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":"37.8M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pytest-md-report","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":4.4,"import_time_s":null,"mem_mb":null,"disk_size":"38M"}]}}