src.models.model module#

Data models for model cards.

class src.models.model.AccessControl(*, enabled: bool, authorized: List[str])[source]#

Bases: BaseModel

_abc_impl = <_abc._abc_data object>#
authorized: List[str]#
enabled: bool#
class src.models.model.GetFilterResponseModel(*, tags: List[str], frameworks: List[str], tasks: List[str])[source]#

Bases: BaseModel

Response model for getting filter options for model cards.

_abc_impl = <_abc._abc_data object>#
frameworks: List[str]#
tags: List[str]#
tasks: List[str]#
class src.models.model.ModelCardCompositeKey(*, model_id: str, creator_user_id: str)[source]#

Bases: BaseModel

General model for the composite key for models of id and creator id

_abc_impl = <_abc._abc_data object>#
creator_user_id: str#
model_id: str#
class src.models.model.ModelCardModelDB(*, title: ConstrainedStrValue, markdown: str, performance: str, task: str, inferenceServiceName: Optional[str] = None, videoLocation: Optional[str] = None, tags: List[str], frameworks: List[str], description: Optional[str] = None, explanation: Optional[str] = None, usage: Optional[str] = None, limitations: Optional[str] = None, owner: Optional[str] = None, pointOfContact: Optional[str] = None, artifacts: Optional[List[Artifact]] = None, experiment: Optional[LinkedExperiment] = None, dataset: Optional[LinkedDataset] = None, accessControl: AccessControl, _id: PyObjectId = None, creatorUserId: str, modelId: str, created: str, lastModified: str)[source]#

Bases: ModelCardModelIn

Data model for model card in database. Contain additional fields for database that will be filled in as part of the controller logic.

class Config[source]#

Bases: object

Pydantic config to allow creation of data model from a JSON object with camelCase keys and to convert ObjectId to str when returning JSON.

alias_generator() str#

Converts a string to camel case.

Parameters:

string (str) – Input string

Returns:

Camel case string

Return type:

str

allow_population_by_field_name = True#
arbitrary_types_allowed = True#
json_encoders = {<class 'bson.objectid.ObjectId'>: <class 'str'>}#
_abc_impl = <_abc._abc_data object>#
created: str#
creator_user_id: str#
id: PyObjectId#
last_modified: str#
model_id: str#
classmethod sanitize_model_name(v: str) str[source]#

Generates a URL safe model id if one is not provided.

Parameters:

v (str) – The model name.

Returns:

Generated model id.

Return type:

str

class src.models.model.ModelCardModelIn(*, title: ConstrainedStrValue, markdown: str, performance: str, task: str, inferenceServiceName: Optional[str] = None, videoLocation: Optional[str] = None, tags: List[str], frameworks: List[str], description: Optional[str] = None, explanation: Optional[str] = None, usage: Optional[str] = None, limitations: Optional[str] = None, owner: Optional[str] = None, pointOfContact: Optional[str] = None, artifacts: Optional[List[Artifact]] = None, experiment: Optional[LinkedExperiment] = None, dataset: Optional[LinkedDataset] = None, accessControl: AccessControl)[source]#

Bases: BaseModel

Request model for creating a model card.

class Config[source]#

Bases: object

Pydantic config to allow creation of data model from a JSON object with camelCase keys.

alias_generator() str#

Converts a string to camel case.

Parameters:

string (str) – Input string

Returns:

Camel case string

Return type:

str

_abc_impl = <_abc._abc_data object>#
access_control: AccessControl#
artifacts: Optional[List[Artifact]]#
dataset: Optional[LinkedDataset]#
description: Optional[str]#
experiment: Optional[LinkedExperiment]#
explanation: Optional[str]#
frameworks: List[str]#
inference_service_name: Optional[str]#
limitations: Optional[str]#
markdown: str#
owner: Optional[str]#
performance: str#
point_of_contact: Optional[str]#
tags: List[str]#
task: str#
title: str#
usage: Optional[str]#
video_location: Optional[str]#
class src.models.model.ModelCardPackage(*, card_package: List[ModelCardCompositeKey])[source]#

Bases: BaseModel

Model for compiling list of composite keys of the models

_abc_impl = <_abc._abc_data object>#
card_package: List[ModelCardCompositeKey]#
class src.models.model.SearchModelResponse(*, results: List, total: ConstrainedIntValue)[source]#

Bases: BaseModel

Response model for searching model cards.

_abc_impl = <_abc._abc_data object>#
results: List#
total: int#
class src.models.model.UpdateModelCardModel(*, title: Optional[ConstrainedStrValue] = None, description: Optional[str] = None, explanation: Optional[str] = None, usage: Optional[str] = None, limitations: Optional[str] = None, markdown: Optional[str] = None, performance: Optional[str] = None, tags: Optional[List[str]] = None, task: Optional[str] = None, frameworks: Optional[List[str]] = None, pointOfContact: Optional[str] = None, accessControl: Optional[AccessControl] = None, owner: Optional[str] = None, videoLocation: Optional[str] = None, inferenceServiceName: Optional[str] = None, artifacts: Optional[List[Artifact]] = None, experiment: Optional[LinkedExperiment] = None, dataset: Optional[LinkedDataset] = None)[source]#

Bases: BaseModel

Request model for updating a model card. All fields are optional, to allow for partial updates.

class Config[source]#

Bases: object

Pydantic config to allow creation of data model from a JSON object with camelCase keys.

alias_generator() str#

Converts a string to camel case.

Parameters:

string (str) – Input string

Returns:

Camel case string

Return type:

str

arbitrary_types_allowed = True#
json_encoders = {<class 'bson.objectid.ObjectId'>: <class 'str'>}#
_abc_impl = <_abc._abc_data object>#
access_control: Optional[AccessControl]#
artifacts: Optional[List[Artifact]]#
dataset: Optional[LinkedDataset]#
description: Optional[str]#
experiment: Optional[LinkedExperiment]#
explanation: Optional[str]#
frameworks: Optional[List[str]]#
inference_service_name: Optional[str]#
limitations: Optional[str]#
markdown: Optional[str]#
owner: Optional[str]#
performance: Optional[str]#
point_of_contact: Optional[str]#
tags: Optional[List[str]]#
task: Optional[str]#
title: Optional[str]#
usage: Optional[str]#
video_location: Optional[str]#