class Output(EmbeddedDocument): destination = StrippedStringField() model = StringField(reference_field='Model') error = StringField(user_set_allowed=True) result = StringField(choices=get_options(Result))
class Task(AttributedDocument): meta = { 'db_alias': Database.backend, 'strict': strict, 'indexes': [ 'created', 'started', 'completed', { 'name': '%s.task.main_text_index' % Database.backend, 'fields': [ '$name', '$id', '$comment', '$execution.model', '$output.model', '$script.repository', '$script.entry_point', ], 'default_language': 'english', 'weights': { 'name': 10, 'id': 10, 'comment': 10, 'execution.model': 2, 'output.model': 2, 'script.repository': 1, 'script.entry_point': 1, }, }, ], } id = StringField(primary_key=True) name = StrippedStringField(required=True, user_set_allowed=True, sparse=False, min_length=3) type = StringField(required=True, choices=get_options(TaskType)) status = StringField(default=TaskStatus.created, choices=get_options(TaskStatus)) status_reason = StringField() status_message = StringField() status_changed = DateTimeField() comment = StringField(user_set_allowed=True) created = DateTimeField(required=True, user_set_allowed=True) started = DateTimeField() completed = DateTimeField() published = DateTimeField() parent = StringField() project = StringField(reference_field=Project, user_set_allowed=True) output = EmbeddedDocumentField(Output, default=Output) execution: Execution = EmbeddedDocumentField(Execution, default=Execution) tags = ListField(StringField(required=True), user_set_allowed=True) script = EmbeddedDocumentField(Script) last_update = DateTimeField() last_iteration = IntField(default=DEFAULT_LAST_ITERATION) last_metrics = SafeMapField( field=SafeMapField(EmbeddedDocumentField(MetricEvent)))
class Model(DbModelMixin, Document): meta = { "db_alias": Database.backend, "strict": strict, "indexes": [ "parent", "project", "task", ("company", "framework"), ("company", "name"), ("company", "user"), { "name": "%s.model.main_text_index" % Database.backend, "fields": ["$name", "$id", "$comment", "$parent", "$task", "$project"], "default_language": "english", "weights": { "name": 10, "id": 10, "comment": 10, "parent": 5, "task": 3, "project": 3, }, }, ], } get_all_query_options = GetMixin.QueryParameterOptions( pattern_fields=("name", "comment"), fields=("ready", ), list_fields=( "tags", "system_tags", "framework", "uri", "id", "user", "project", "task", "parent", ), ) id = StringField(primary_key=True) name = StrippedStringField(user_set_allowed=True, min_length=3) parent = StringField(reference_field="Model", required=False) user = StringField(required=True, reference_field=User) company = StringField(required=True, reference_field=Company) project = StringField(reference_field=Project, user_set_allowed=True) created = DateTimeField(required=True, user_set_allowed=True) task = StringField(reference_field=Task) comment = StringField(user_set_allowed=True) tags = SafeSortedListField(StringField(required=True), user_set_allowed=True) system_tags = SafeSortedListField(StringField(required=True), user_set_allowed=True) uri = StrippedStringField(default="", user_set_allowed=True) framework = StringField() design = SafeDictField() labels = ModelLabels() ready = BooleanField(required=True) ui_cache = SafeDictField(default=dict, user_set_allowed=True, exclude_by_default=True) company_origin = StringField(exclude_by_default=True)
class Task(AttributedDocument): meta = { "db_alias": Database.backend, "strict": strict, "indexes": [ "created", "started", "completed", "parent", "project", ("company", "name"), ("company", "type", "system_tags", "status"), ("company", "project", "type", "system_tags", "status"), ("status", "last_update"), # for maintenance tasks { "name": "%s.task.main_text_index" % Database.backend, "fields": [ "$name", "$id", "$comment", "$execution.model", "$output.model", "$script.repository", "$script.entry_point", ], "default_language": "english", "weights": { "name": 10, "id": 10, "comment": 10, "execution.model": 2, "output.model": 2, "script.repository": 1, "script.entry_point": 1, }, }, ], } id = StringField(primary_key=True) name = StrippedStringField(required=True, user_set_allowed=True, sparse=False, min_length=3) type = StringField(required=True, choices=get_options(TaskType)) status = StringField(default=TaskStatus.created, choices=get_options(TaskStatus)) status_reason = StringField() status_message = StringField() status_changed = DateTimeField() comment = StringField(user_set_allowed=True) created = DateTimeField(required=True, user_set_allowed=True) started = DateTimeField() completed = DateTimeField() published = DateTimeField() parent = StringField() project = StringField(reference_field=Project, user_set_allowed=True) output = EmbeddedDocumentField(Output, default=Output) execution: Execution = EmbeddedDocumentField(Execution, default=Execution) tags = ListField(StringField(required=True), user_set_allowed=True) system_tags = ListField(StringField(required=True), user_set_allowed=True) script = EmbeddedDocumentField(Script) last_worker = StringField() last_worker_report = DateTimeField() last_update = DateTimeField() last_iteration = IntField(default=DEFAULT_LAST_ITERATION) last_metrics = SafeMapField( field=SafeMapField(EmbeddedDocumentField(MetricEvent))) metric_stats = SafeMapField(field=EmbeddedDocumentField(MetricEventStats))
class Task(AttributedDocument): _numeric_locale = {"locale": "en_US", "numericOrdering": True} _field_collation_overrides = { "execution.parameters.": _numeric_locale, "last_metrics.": _numeric_locale, "hyperparams.": _numeric_locale, "configuration.": _numeric_locale, } meta = { "db_alias": Database.backend, "strict": strict, "indexes": [ "created", "started", "completed", "parent", "project", ("company", "name"), ("company", "user"), ("company", "type", "system_tags", "status"), ("company", "project", "type", "system_tags", "status"), ("status", "last_update"), # for maintenance tasks { "name": "%s.task.main_text_index" % Database.backend, "fields": [ "$name", "$id", "$comment", "$execution.model", "$output.model", "$script.repository", "$script.entry_point", ], "default_language": "english", "weights": { "name": 10, "id": 10, "comment": 10, "execution.model": 2, "output.model": 2, "script.repository": 1, "script.entry_point": 1, }, }, ], } get_all_query_options = GetMixin.QueryParameterOptions( list_fields=("id", "user", "tags", "system_tags", "type", "status", "project"), datetime_fields=("status_changed",), pattern_fields=("name", "comment"), fields=("parent",), ) id = StringField(primary_key=True) name = StrippedStringField( required=True, user_set_allowed=True, sparse=False, min_length=3 ) type = StringField(required=True, choices=get_options(TaskType)) status = StringField(default=TaskStatus.created, choices=get_options(TaskStatus)) status_reason = StringField() status_message = StringField() status_changed = DateTimeField() comment = StringField(user_set_allowed=True) created = DateTimeField(required=True, user_set_allowed=True) started = DateTimeField() completed = DateTimeField() published = DateTimeField() parent = StringField() project = StringField(reference_field=Project, user_set_allowed=True) output: Output = EmbeddedDocumentField(Output, default=Output) execution: Execution = EmbeddedDocumentField(Execution, default=Execution) tags = SafeSortedListField(StringField(required=True), user_set_allowed=True) system_tags = SafeSortedListField(StringField(required=True), user_set_allowed=True) script: Script = EmbeddedDocumentField(Script, default=Script) last_worker = StringField() last_worker_report = DateTimeField() last_update = DateTimeField() last_iteration = IntField(default=DEFAULT_LAST_ITERATION) last_metrics = SafeMapField(field=SafeMapField(EmbeddedDocumentField(MetricEvent))) metric_stats = SafeMapField(field=EmbeddedDocumentField(MetricEventStats)) company_origin = StringField(exclude_by_default=True) duration = IntField() # task duration in seconds hyperparams = SafeMapField(field=SafeMapField(EmbeddedDocumentField(ParamsItem))) configuration = SafeMapField(field=EmbeddedDocumentField(ConfigurationItem)) runtime = SafeDictField(default=dict)