Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions faculty/clients/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -363,8 +363,8 @@ class Meta:


class _ErrorSchema(BaseSchema):
error = fields.String(missing=None)
error_code = fields.String(data_key="errorCode", missing=None)
error = fields.String(load_default=None)
error_code = fields.String(data_key="errorCode", load_default=None)


def _check_status(response):
Expand Down
8 changes: 4 additions & 4 deletions faculty/clients/cluster.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,8 @@ def disable_single_tenanted_node_type(self, node_type_id):
class _NodeTypeSchema(BaseSchema):

id = fields.String(data_key="nodeTypeId", required=True)
name = fields.String(missing=None)
instance_group = fields.String(data_key="instanceGroup", missing=None)
name = fields.String(load_default=None)
instance_group = fields.String(data_key="instanceGroup", load_default=None)
max_interactive_instances = fields.Integer(
data_key="maxInteractiveInstances", required=True
)
Expand All @@ -212,12 +212,12 @@ class _NodeTypeSchema(BaseSchema):
milli_cpus = fields.Integer(data_key="milliCpus", required=True)
memory_mb = fields.Integer(data_key="memoryMb", required=True)
num_gpus = fields.Integer(data_key="numGpus", required=True)
gpu_name = fields.String(data_key="gpuName", missing=None)
gpu_name = fields.String(data_key="gpuName", load_default=None)
cost_usd_per_hour = fields.Decimal(
data_key="costUsdPerHour", required=True
)
spot_max_usd_per_hour = fields.Decimal(
data_key="spotMaxUsdPerHour", missing=None
data_key="spotMaxUsdPerHour", load_default=None
)

@post_load
Expand Down
12 changes: 6 additions & 6 deletions faculty/clients/environment.py
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ class _PipSchema(BaseSchema):
extra_index_urls = fields.List(
fields.String(),
data_key="extraIndexUrls",
missing=list,
load_default=list,
)
packages = fields.List(
fields.Nested(_PythonPackageSchema()), required=True
Expand All @@ -298,7 +298,7 @@ def make_pip(self, data, **kwargs):


class _CondaSchema(BaseSchema):
channels = fields.List(fields.String(), missing=list)
channels = fields.List(fields.String(), load_default=list)
packages = fields.List(
fields.Nested(_PythonPackageSchema()), required=True
)
Expand All @@ -319,10 +319,10 @@ def make_python_specification(self, data, **kwargs):

class _PythonSpecificationSchema(BaseSchema):
python2 = fields.Nested(
_PythonEnvironmentSchema(), data_key="Python2", missing=None
_PythonEnvironmentSchema(), data_key="Python2", load_default=None
)
python3 = fields.Nested(
_PythonEnvironmentSchema(), data_key="Python3", missing=None
_PythonEnvironmentSchema(), data_key="Python3", load_default=None
)

@post_load
Expand Down Expand Up @@ -369,7 +369,7 @@ class _EnvironmentSchema(BaseSchema):
id = fields.UUID(data_key="environmentId", required=True)
project_id = fields.UUID(data_key="projectId", required=True)
name = fields.String(required=True)
description = fields.String(missing=None)
description = fields.String(load_default=None)
author_id = fields.UUID(data_key="authorId", required=True)
created_at = fields.DateTime(data_key="createdAt", required=True)
updated_at = fields.DateTime(data_key="updatedAt", required=True)
Expand All @@ -382,7 +382,7 @@ def make_environment(self, data, **kwargs):

class _EnvironmentCreateUpdateSchema(BaseSchema):
name = fields.String(required=True)
description = fields.String(missing=None)
description = fields.String(load_default=None)
specification = fields.Nested(_SpecificationSchema(), required=True)

@post_load
Expand Down
18 changes: 9 additions & 9 deletions faculty/clients/experiment.py
Original file line number Diff line number Diff line change
Expand Up @@ -762,8 +762,8 @@ def make_page(self, data, **kwargs):
class _PaginationSchema(BaseSchema):
start = fields.Integer(required=True)
size = fields.Integer(required=True)
previous = fields.Nested(_PageSchema, missing=None)
next = fields.Nested(_PageSchema, missing=None)
previous = fields.Nested(_PageSchema, load_default=None)
next = fields.Nested(_PageSchema, load_default=None)

@post_load
def make_pagination(self, data, **kwargs):
Expand Down Expand Up @@ -808,7 +808,7 @@ class _ExperimentSchema(BaseSchema):
)
created_at = fields.DateTime(data_key="createdAt", required=True)
last_updated_at = fields.DateTime(data_key="lastUpdatedAt", required=True)
deleted_at = fields.DateTime(data_key="deletedAt", missing=None)
deleted_at = fields.DateTime(data_key="deletedAt", load_default=None)

@post_load
def make_experiment(self, data, **kwargs):
Expand All @@ -820,14 +820,14 @@ class _ExperimentRunSchema(BaseSchema):
run_number = fields.Integer(data_key="runNumber", required=True)
experiment_id = fields.Integer(data_key="experimentId", required=True)
name = fields.String(required=True)
parent_run_id = fields.UUID(data_key="parentRunId", missing=None)
parent_run_id = fields.UUID(data_key="parentRunId", load_default=None)
artifact_location = fields.String(
data_key="artifactLocation", required=True
)
status = EnumField(ExperimentRunStatus, by_value=True, required=True)
started_at = fields.DateTime(data_key="startedAt", required=True)
ended_at = fields.DateTime(data_key="endedAt", missing=None)
deleted_at = fields.DateTime(data_key="deletedAt", missing=None)
ended_at = fields.DateTime(data_key="endedAt", load_default=None)
deleted_at = fields.DateTime(data_key="deletedAt", load_default=None)
tags = fields.Nested(_TagSchema, many=True, required=True)
params = fields.Nested(_ParamSchema, many=True, required=True)
metrics = fields.Nested(_MetricSchema, many=True, required=True)
Expand All @@ -848,7 +848,7 @@ class _ExperimentRunDataSchema(BaseSchema):

class _ExperimentRunInfoSchema(BaseSchema):
status = EnumField(ExperimentRunStatus, by_value=True, required=True)
ended_at = fields.DateTime(data_key="endedAt", missing=None)
ended_at = fields.DateTime(data_key="endedAt", load_default=None)


class _ListExperimentRunsResponseSchema(BaseSchema):
Expand Down Expand Up @@ -881,7 +881,7 @@ def _serialize(self, value, attr, obj, **kwargs):
elif isinstance(value, int) or isinstance(value, float):
field = fields.Number()
else:
self.fail("unsupported_type")
self.make_error("unsupported_type")
return field._serialize(value, attr, obj, **kwargs)


Expand Down Expand Up @@ -1055,7 +1055,7 @@ class _SortSchema(_OneOfSchemaWithoutType):
class _RunQuerySchema(BaseSchema):
filter = _OptionalField(fields.Nested(_FilterSchema))
sort = fields.List(fields.Nested(_SortSchema))
page = fields.Nested(_PageSchema, missing=None)
page = fields.Nested(_PageSchema, load_default=None)


# Schemas for responses returned from API:
Expand Down
26 changes: 13 additions & 13 deletions faculty/clients/job.py
Original file line number Diff line number Diff line change
Expand Up @@ -788,7 +788,7 @@ class _JobDefinitionSchema(BaseSchema):
data_key="instanceSizeType", required=True
)
instance_size = fields.Nested(
_InstanceSizeSchema, data_key="instanceSize", missing=None
_InstanceSizeSchema, data_key="instanceSize", load_default=None
)
max_runtime_seconds = fields.Integer(
data_key="maxRuntimeSeconds", required=True
Expand Down Expand Up @@ -840,8 +840,8 @@ class _EnvironmentStepExecutionSchema(BaseSchema):
state = EnumField(
EnvironmentStepExecutionState, by_value=True, required=True
)
started_at = fields.DateTime(data_key="startedAt", missing=None)
ended_at = fields.DateTime(data_key="endedAt", missing=None)
started_at = fields.DateTime(data_key="startedAt", load_default=None)
ended_at = fields.DateTime(data_key="endedAt", load_default=None)

@post_load
def make_environment_step_execution(self, data, **kwargs):
Expand All @@ -852,8 +852,8 @@ class _SubrunSummarySchema(BaseSchema):
id = fields.UUID(data_key="subrunId", required=True)
subrun_number = fields.Integer(data_key="subrunNumber", required=True)
state = EnumField(SubrunState, by_value=True, required=True)
started_at = fields.DateTime(data_key="startedAt", missing=None)
ended_at = fields.DateTime(data_key="endedAt", missing=None)
started_at = fields.DateTime(data_key="startedAt", load_default=None)
ended_at = fields.DateTime(data_key="endedAt", load_default=None)

@post_load
def make_subrun_summary(self, data, **kwargs):
Expand All @@ -864,8 +864,8 @@ class _SubrunSchema(BaseSchema):
id = fields.UUID(data_key="subrunId", required=True)
subrun_number = fields.Integer(data_key="subrunNumber", required=True)
state = EnumField(SubrunState, by_value=True, required=True)
started_at = fields.DateTime(data_key="startedAt", missing=None)
ended_at = fields.DateTime(data_key="endedAt", missing=None)
started_at = fields.DateTime(data_key="startedAt", load_default=None)
ended_at = fields.DateTime(data_key="endedAt", load_default=None)
environment_step_executions = fields.Nested(
_EnvironmentStepExecutionSchema,
data_key="environmentExecutionState",
Expand All @@ -883,8 +883,8 @@ class _RunSummarySchema(BaseSchema):
run_number = fields.Integer(data_key="runNumber", required=True)
state = EnumField(RunState, by_value=True, required=True)
submitted_at = fields.DateTime(data_key="submittedAt", required=True)
started_at = fields.DateTime(data_key="startedAt", missing=None)
ended_at = fields.DateTime(data_key="endedAt", missing=None)
started_at = fields.DateTime(data_key="startedAt", load_default=None)
ended_at = fields.DateTime(data_key="endedAt", load_default=None)

@post_load
def make_run_summary(self, data, **kwargs):
Expand All @@ -896,8 +896,8 @@ class _RunSchema(BaseSchema):
run_number = fields.Integer(data_key="runNumber", required=True)
state = EnumField(RunState, by_value=True, required=True)
submitted_at = fields.DateTime(data_key="submittedAt", required=True)
started_at = fields.DateTime(data_key="startedAt", missing=None)
ended_at = fields.DateTime(data_key="endedAt", missing=None)
started_at = fields.DateTime(data_key="startedAt", load_default=None)
ended_at = fields.DateTime(data_key="endedAt", load_default=None)
subruns = fields.Nested(_SubrunSummarySchema, many=True, required=True)

@post_load
Expand Down Expand Up @@ -925,8 +925,8 @@ def make_page(self, data, **kwargs):
class _PaginationSchema(BaseSchema):
start = fields.Integer(required=True)
size = fields.Integer(required=True)
previous = fields.Nested(_PageSchema, missing=None)
next = fields.Nested(_PageSchema, missing=None)
previous = fields.Nested(_PageSchema, load_default=None)
next = fields.Nested(_PageSchema, load_default=None)

@post_load
def make_pagination(self, data, **kwargs):
Expand Down
2 changes: 1 addition & 1 deletion faculty/clients/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ class _ModelSchema(BaseSchema):
description = fields.String(required=True)
user_ids = fields.List(fields.UUID, data_key="users", required=True)
latest_version = fields.Nested(
_ModelVersionSchema, data_key="latestVersion", missing=None
_ModelVersionSchema, data_key="latestVersion", load_default=None
)

@post_load
Expand Down
8 changes: 5 additions & 3 deletions faculty/clients/object.py
Original file line number Diff line number Diff line change
Expand Up @@ -439,7 +439,9 @@ def make_object(self, data, **kwargs):

class _ListObjectsResponseSchema(BaseSchema):
objects = fields.List(fields.Nested(_ObjectSchema), required=True)
next_page_token = fields.String(data_key="nextPageToken", missing=None)
next_page_token = fields.String(
data_key="nextPageToken", load_default=None
)

@post_load
def make_list_objects_response(self, data, **kwargs):
Expand All @@ -456,8 +458,8 @@ def make_simple_presign_response(self, data, **kwargs):

class _PresignUploadResponseSchema(BaseSchema):
provider = EnumField(CloudStorageProvider, by_value=True, required=True)
upload_id = fields.String(data_key="uploadId", missing=None)
url = fields.String(missing=None)
upload_id = fields.String(data_key="uploadId", load_default=None)
url = fields.String(load_default=None)

@post_load
def make_presign_upload_response(self, data, **kwargs):
Expand Down
2 changes: 1 addition & 1 deletion faculty/clients/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ class _ProjectSchema(BaseSchema):
id = fields.UUID(data_key="projectId", required=True)
name = fields.Str(required=True)
owner_id = fields.UUID(data_key="ownerId", required=True)
archived_at = fields.DateTime(data_key="archivedAt", missing=None)
archived_at = fields.DateTime(data_key="archivedAt", load_default=None)

@post_load
def make_project(self, data, **kwargs):
Expand Down
8 changes: 4 additions & 4 deletions faculty/clients/serveragent.py
Original file line number Diff line number Diff line change
Expand Up @@ -273,8 +273,8 @@ class _EnvironmentExecutionStepSchema(BaseSchema):
status = EnumField(
EnvironmentExecutionStepStatus, by_value=True, required=True
)
started_at = fields.DateTime(data_key="startedAt", missing=None)
finished_at = fields.DateTime(data_key="finishedAt", missing=None)
started_at = fields.DateTime(data_key="startedAt", load_default=None)
finished_at = fields.DateTime(data_key="finishedAt", load_default=None)

@post_load
def make_environment_execution_step(self, data, **kwargs):
Expand All @@ -296,8 +296,8 @@ class _ExecutionSchema(BaseSchema):
id = fields.UUID(data_key="executionId", required=True)
status = EnumField(ExecutionStatus, by_value=True, required=True)
environments = fields.List(fields.Nested(_EnvironmentExecutionSchema))
started_at = fields.DateTime(data_key="startedAt", missing=None)
finished_at = fields.DateTime(data_key="finishedAt", missing=None)
started_at = fields.DateTime(data_key="startedAt", load_default=None)
finished_at = fields.DateTime(data_key="finishedAt", load_default=None)

@post_load
def make_execution(self, data, **kwargs):
Expand Down
4 changes: 2 additions & 2 deletions faculty/clients/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,14 +133,14 @@ class _UserSchema(BaseSchema):

id = fields.UUID(data_key="userId", required=True)
username = fields.Str(required=True)
full_name = fields.Str(data_key="fullName", missing=None)
full_name = fields.Str(data_key="fullName", load_default=None)
email = fields.Str(required=True)
created_at = fields.DateTime(data_key="createdAt", required=True)
enabled = fields.Boolean(required=True)
global_roles = fields.List(
EnumField(GlobalRole, by_value=True),
data_key="globalRoles",
missing=None,
load_default=None,
)
is_system = fields.Boolean(data_key="isSystem", required=True)

Expand Down
2 changes: 1 addition & 1 deletion faculty/clients/workspace.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ class _FileNodeSchema(BaseSchema):
last_modified = fields.DateTime(required=True)
size = fields.Integer(required=True)
truncated = fields.Boolean()
content = fields.Nested("self", many=True)
content = fields.Nested(lambda: _FileNodeSchema, many=True)

@validates_schema
def validate_type(self, data, **kwargs):
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ def load_readme():
"requests",
"pytz",
"attrs",
"marshmallow",
"marshmallow>=3.13.0",
"marshmallow_enum",
"urllib3",
],
Expand Down