ScrapeGraphAI/Scrapegraph-ai · error · ImportError

burr package is not installed. Please install

Error message

burr package is not installed.
              Please install it with 'pip install scrapegraphai[burr]'

What it means

Module-level ImportError in scrapegraphai/integrations/burr_bridge.py: the burr dependency (used for the Burr telemetry/tracing bridge) is not installed, so even importing the module fails. The install command includes the [burr] extra.

Source

Thrown at scrapegraphai/integrations/burr_bridge.py:27

from typing import Any, Dict, List, Tuple

from ..utils.logging import get_logger

logger = get_logger(__name__)

try:
    from burr import tracking
    from burr.core import (
        Action,
        Application,
        ApplicationBuilder,
        ApplicationContext,
        State,
        default,
    )
    from burr.lifecycle import PostRunStepHook, PreRunStepHook
except ImportError:
    raise ImportError(
        """burr package is not installed.
                      Please install it with 'pip install scrapegraphai[burr]'"""
    )


class PrintLnHook(PostRunStepHook, PreRunStepHook):
    """
    Hook to print the action name before and after it is executed.
    """

    def pre_run_step(self, *, state: "State", action: "Action", **future_kwargs: Any):
        logger.debug("Starting action: %s", action.name)

    def post_run_step(self, *, state: "State", action: "Action", **future_kwargs: Any):
        logger.debug("Finishing action: %s", action.name)


class BurrNodeBridge(Action):

View on GitHub (pinned to 532dfffbf6)

Solutions

  1. pip install 'scrapegraphai[burr]' to get the extra.
  2. Or install burr directly: pip install burr.
  3. If you don't need Burr tracing, remove the import / avoid the example that uses the bridge.

Example fix

# before
from scrapegraphai.integrations.burr_bridge import ...  # ImportError

# after
# shell: pip install 'scrapegraphai[burr]'
from scrapegraphai.integrations.burr_bridge import ...
Defensive patterns

Strategy: validation

Validate before calling

import importlib.util
if importlib.util.find_spec('burr') is None:
    raise SystemExit("Install the extra: pip install 'scrapegraphai[burr]'")

Type guard

def burr_available() -> bool:
    import importlib.util
    return importlib.util.find_spec('burr') is not None

Try / catch

try:
    from scrapegraphai.integrations.burr_bridge import ...
except ImportError as e:
    if 'burr' in str(e):
        raise SystemExit("pip install 'scrapegraphai[burr]'") from e
    raise

Prevention

When it happens

Trigger: from scrapegraphai.integrations.burr_bridge import ... (or any code path that imports it, e.g. burr-related examples) in an environment without burr installed. The error occurs at import time, not at call time.

Common situations: Running Burr examples from the repo with only the base install; fresh environments; CI jobs that install scrapegraphai without extras.

Related errors


AI-assisted analysis of ScrapeGraphAI/Scrapegraph-ai@532dfffbf6 (2026-08-28). Data as JSON: /api/errors/75dcb5d09fd4ebc3. Report an issue: GitHub.