Files
2026-01-22 17:37:17 +03:00

2.1 KiB

Tasks: 012-remove-superset-tool

Phase 1: Setup

  • T001 Initialize branch 012-remove-superset-tool
  • T002 Update backend/requirements.txt with dependencies from superset_tool (requests, pyyaml)

Phase 2: Foundational (Infrastructure Migration)

  • T003 [P] Migrate utility modules from superset_tool/utils/ to backend/src/core/utils/
  • T004 [P] Refactor backend/src/core/logger.py to incorporate essential logging logic from superset_tool/utils/logging.py
  • T005 Update Environment model in backend/src/core/config_models.py with verify_ssl and timeout fields

Phase 3: User Story 1 - Maintain Core Functionality [US1]

  • T006 [US1] Refactor backend/src/core/superset_client.py to be self-contained (remove inheritance from superset_tool.client.BaseSupersetClient)
  • T007 [US1] Migrate all remaining methods from superset_tool/client.py to backend/src/core/superset_client.py
  • T008 [P] [US1] Update all imports in backend/src/ to remove references to superset_tool
  • T009 [US1] Verify backend starts without superset_tool directory present
  • T010 [US1] Verify dashboard and dataset fetching works via API/UI

Phase 4: User Story 2 - Unified Configuration and Models [US2]

  • T011 [US2] Ensure all Pydantic models in backend/src/core/config_models.py cover legacy superset_tool/models.py requirements
  • T012 [US2] Update database loading logic to correctly populate new Environment fields

Phase 5: Polish & Cleanup

  • T013 Remove superset_tool/ directory
  • T014 Remove deprecated root scripts: migration_script.py, run_mapper.py, whiptail_fallback.py
  • T015 Run full backend test suite to ensure no regressions

Dependencies

  • Phase 2 must be completed before Phase 3.
  • T006 and T007 are prerequisites for T008 and T009.

Implementation Strategy

  • MVP First: Focus on T006-T008 to ensure the backend can function independently of the superset_tool module.
  • Incremental Delivery: Migrate utilities and models first to provide the necessary foundation for the client refactoring.