Skip to content

Development (December)#54

Merged
smellycloud merged 58 commits intomainfrom
development
Dec 11, 2025
Merged

Development (December)#54
smellycloud merged 58 commits intomainfrom
development

Conversation

@smellycloud
Copy link
Collaborator

No description provided.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements a major restructuring of the VIEWS Pipeline Core codebase for December, introducing new manager classes for extractors and postprocessors, refactoring configuration and CLI argument handling, reorganizing modules, and adding comprehensive documentation and tests.

Key Changes:

  • Introduced ExtractorManager and PostprocessorManager for standardized data pipeline operations
  • Refactored CLI argument handling into dataclass-based pattern with ForecastingModelArgs
  • Created ConfigurationManager for centralized configuration handling
  • Reorganized code into module-based structure under modules/ directory
  • Added extensive documentation (READMEs) for new components

Reviewed changes

Copilot reviewed 50 out of 130 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
views_pipeline_core/managers/extractor/extractor.py New extractor framework with path management and abstract lifecycle methods
views_pipeline_core/managers/ensemble/ensemble.py Refactored ensemble manager with improved error handling and reconciliation
views_pipeline_core/managers/configuration/configuration.py New configuration manager with multi-source merging and validation
views_pipeline_core/cli/args.py New dataclass-based CLI argument system with validation
views_pipeline_core/data/handlers.py Enhanced dataset handlers with new subsetting and calculation methods
views_pipeline_core/exceptions/exceptions.py New exception hierarchy with automatic WandB alerting
pyproject.toml Version bump and new dependencies (polars, appwrite)
Comments suppressed due to low confidence (2)

views_pipeline_core/managers/ensemble/ensemble.py:1

  • The error message refers to "saving to database" but this is in the extractor context. For the ensemble manager, this error occurs during general run execution, not specifically database operations. The message should be more generic.
from typing import Union, Optional, List, Dict

views_pipeline_core/cli/args.py:1

  • The ternary expression on line 466 can be simplified to forecast and self._use_prediction_store since it already evaluates to a boolean.
from dataclasses import dataclass

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +503 to +504
raise PipelineException(f"Error during shell command execution for model {model_name}: {e}",
wandb_module=self._wandb_module)
Copy link

Copilot AI Dec 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent parameter name. The PipelineException expects wandb_module, but some calls use wandb_manager. This specific call is correct, but inconsistency exists elsewhere (e.g., line 83).

Copilot uses AI. Check for mistakes.
self.config_sweep = config_sweep
self._runtime_config = {}

# Add timestamp at initialization
Copy link

Copilot AI Dec 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The timestamp format uses underscores between date and time components, which differs from common ISO 8601 format. Consider using a standard format like "%Y%m%d_%H%M%S" (which is being used) or documenting why this specific format is required for compatibility.

Suggested change
# Add timestamp at initialization
# Add timestamp at initialization
# Use underscores in timestamp for filename safety (avoid issues with colons/hyphens in filenames).

Copilot uses AI. Check for mistakes.
@classmethod
def _initialize_class_paths(cls, current_path: Path = None)
```
Initializes project root and sets `cls._models = <root>/ensembles`.
Copy link

Copilot AI Dec 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing period at the end of the sentence in the code comment format. Should be consistent with other similar documentation blocks.

Copilot uses AI. Check for mistakes.
smellycloud and others added 3 commits December 11, 2025 13:43
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@smellycloud smellycloud merged commit f75d8b8 into main Dec 11, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants