Source code for hastegeo.core.models.stats
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
from typing import List, Optional
from pydantic import BaseModel, Field
[docs]class ImageLayerStats(BaseModel):
imageLayerId: Optional[str] = Field(default=None)
labelsCount: Optional[int] = Field(default=0)
[docs]class ProjectStats(BaseModel):
projectId: Optional[str] = Field(default=None)
name: Optional[str] = Field(default=None)
description: Optional[str] = Field(default=None)
creationDate: Optional[str] = Field(default=None)
imageLayerStats: Optional[List[ImageLayerStats]] = Field(
default_factory=list
) # collects all image layer ids and count of labels added to the project
modelIds: Optional[List[str]] = Field(
default_factory=list
) # collects all model ids added to the project
affectedCountries: Optional[List[str]] = Field(default_factory=list)
imageLayerCount: Optional[int] = Field(default=0)
modelsCount: Optional[int] = Field(default=0)
labelsCount: Optional[int] = Field(default=0)
[docs]class StatsRequest(BaseModel):
action: Optional[str] = Field(default=None)
projectId: Optional[str] = Field(default=None)
name: Optional[str] = Field(default=None)
description: Optional[str] = Field(default=None)
creationDate: Optional[str] = Field(default=None)
imageLayerStats: Optional[ImageLayerStats] = Field(
default=None
) # only one image layer updated per message
modelIds: Optional[List[str]] = Field(default_factory=list)
affectedCountries: Optional[List[str]] = Field(default_factory=list)
[docs]class ProjectsSummary(BaseModel):
projects: Optional[List[ProjectStats]] = Field(default_factory=list)