{"library":"pytest-deadfixtures","title":"pytest-deadfixtures","description":"pytest-deadfixtures is a simple plugin for pytest that helps identify unused or duplicated fixtures within your test suite. It aids in improving code quality by highlighting fixtures that are no longer needed or could be refactored. The current version is 3.1.0, and the library appears to be actively maintained with a consistent release cadence.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install pytest-deadfixtures"],"cli":null},"imports":["from pytest_deadfixtures import deadfixtures_ignore"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import pytest\nfrom pytest_deadfixtures import deadfixtures_ignore\n\n@pytest.fixture\ndef used_fixture():\n    return \"I am used\"\n\n@pytest.fixture\ndef unused_fixture():\n    \"\"\"This fixture is intentionally unused for demonstration.\"\"\"\n    return \"I am not used\"\n\n@pytest.fixture\n@deadfixtures_ignore\ndef ignored_fixture():\n    \"\"\"This fixture will be explicitly ignored by the plugin.\"\"\"\n    return \"I am ignored\"\n\ndef test_example(used_fixture):\n    assert used_fixture == \"I am used\"\n\n# To run this example and see the unused fixture report, save it as a Python file (e.g., test_fixtures.py)\n# and execute from your terminal:\n# pytest --dead-fixtures --show-ignored-fixtures -v test_fixtures.py","lang":"python","description":"To use `pytest-deadfixtures`, install the plugin and then run pytest with the `--dead-fixtures` command-line option. The plugin will analyze your test suite and report any fixtures it identifies as unused. You can optionally use `--dup-fixtures` to find duplicated fixtures or `--show-ignored-fixtures` to list fixtures that have been explicitly ignored. The `deadfixtures_ignore` decorator can be applied to fixtures you intend to leave unused.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"3.1.0","pypi_latest":"3.1.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.6,"avg_import_s":0.21,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pytest-deadfixtures","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.22,"mem_mb":7.9,"disk_size":"30.6M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pytest-deadfixtures","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.6,"import_time_s":0.15,"mem_mb":7.9,"disk_size":"31M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pytest-deadfixtures","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.28,"mem_mb":8.4,"disk_size":"33.6M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pytest-deadfixtures","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.6,"import_time_s":0.24,"mem_mb":8.4,"disk_size":"34M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pytest-deadfixtures","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.24,"mem_mb":9.6,"disk_size":"25.2M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pytest-deadfixtures","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.4,"import_time_s":0.25,"mem_mb":9.6,"disk_size":"26M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pytest-deadfixtures","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.19,"mem_mb":8.4,"disk_size":"25.0M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pytest-deadfixtures","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.4,"import_time_s":0.19,"mem_mb":8.4,"disk_size":"25M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pytest-deadfixtures","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.16,"mem_mb":6.8,"disk_size":"30.0M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pytest-deadfixtures","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3,"import_time_s":0.15,"mem_mb":6.8,"disk_size":"30M"}]}}