class Training(PyBioSchema): setup = fields.Nested(Setup) source = fields.ImportableSource(required=True) required_kwargs = fields.List(fields.Str, missing=list) optional_kwargs = fields.Dict(fields.Str, missing=dict) dependencies = fields.Dependencies(required=True) description = fields.Str(missing=None)
class BaseSpec(PyBioSchema): name = fields.Str(required=True) format_version = fields.Str(required=True) description = fields.Str(required=True) cite = fields.Nested(CiteEntry, many=True, required=True) authors = fields.List(fields.Str(required=True)) documentation = fields.Path(required=True) tags = fields.List(fields.Str, required=True) language = fields.Str(required=True) framework = fields.Str(missing=None) source = fields.ImportableSource(required=True) required_kwargs = fields.List(fields.Str, missing=list) optional_kwargs = fields.Dict(fields.Str, missing=dict) test_input = fields.Path(missing=None) test_output = fields.Path(missing=None) thumbnail = fields.Path(missing=None)
class Setup(PyBioSchema): samplers = fields.List(fields.Nested(Sampler, required=True), required=True) preprocess = fields.Nested(Transformation, many=True, missing=list) postprocess = fields.Nested(Transformation, many=True, missing=list) losses = fields.Nested(Transformation, many=True, missing=list) optimizer = fields.Nested(Optimizer, missing=None)
class Optimizer(PyBioSchema): source = fields.ImportableSource(required=True) required_kwargs = fields.List(fields.Str, missing=list) optional_kwargs = fields.Dict(fields.Str, missing=dict)
class Sampler(SpecWithKwargs): spec = fields.SpecURI(SamplerSpec) readers = fields.List(fields.Nested(Reader, required=True), required=True)
class Reader(SpecWithKwargs): spec = fields.SpecURI(ReaderSpec) transformations = fields.List(fields.Nested(Transformation), missing=list)