Files
OpenGait/.sisyphus/notepads/sconet-pipeline/learnings.md
T
2026-02-27 17:47:55 +08:00

1.3 KiB

Task: Fix basedpyright pyarrow import errors (2026-02-27)

Problem

Basedpyright reported 5 errors for missing pyarrow imports in:

  • opengait/demo/pipeline.py (4 errors)
  • tests/demo/test_pipeline.py (1 error)

Solution

Used importlib.import_module() for runtime optional imports instead of static imports.

Pattern for optional dependencies:

import importlib

try:
    pa = importlib.import_module("pyarrow")
    pq = importlib.import_module("pyarrow.parquet")
except ImportError as e:
    raise RuntimeError("Parquet export requires pyarrow...") from e

Pattern for test skip logic:

import importlib.util

if importlib.util.find_spec("pyarrow") is not None:
    pytest.skip("pyarrow is installed, skipping missing dependency test")

Benefits

  • No basedpyright errors (0 errors, only warnings)
  • Runtime behavior unchanged
  • Clear error message when pyarrow is missing
  • No TYPE_CHECKING complexity needed

Verification

  • basedpyright: 0 errors, warnings only
  • pytest: 12 passed, 1 skipped

2026-02-27: Task 11 Sample Video Acceptance Closed

  • Verified assets/sample.mp4 exists in repository root assets directory.
  • OpenCV validation succeeded: cap.isOpened()==True and frame_count=227 (>=60 requirement).
  • Marked the final three Task 11 acceptance leaf checkboxes to [x] in plan.