def __init__()

in notebooks/util/project.py [0:0]


    def __init__(self, project_id: str):
        """Create a ProjectSession

        Parameters
        ----------
        project_id :
            ProjectId from the provisioned OCR pipeline stack
        """
        self.project_id = project_id

        # Load SSM names for dynamic/configuration parameters:
        for param_suffix, session_attr in self.DYNAMIC_PARAM_NAMES.items():
            setattr(self, session_attr, f"{self.SSM_PREFIX}/{project_id}/{param_suffix}")

        # Load SSM *values* for static project attributes:
        param_names_to_config_attrs = {
            f"{self.SSM_PREFIX}/{project_id}/{s}": self.STATIC_PARAMS[s] for s in self.STATIC_PARAMS
        }
        response = ssm.get_parameters(Names=[s for s in param_names_to_config_attrs])
        n_invalid = len(response.get("InvalidParameters", []))
        if n_invalid == len(param_names_to_config_attrs):
            raise ValueError(f"Found no valid SSM parameters for /{project_id}: Invalid project ID")
        elif n_invalid > 0:
            logger.warning(
                " ".join(
                    [
                        f"{n_invalid} Project parameters missing from SSM: Some functionality ",
                        f"may not work as expected. Missing: {response['InvalidParameters']}",
                    ]
                )
            )

        for param in response["Parameters"]:
            param_name = param["Name"]
            setattr(self, param_names_to_config_attrs[param_name], param["Value"])