Skip to content

qref.schema_v1

qref.schema_v1

Pydantic models used for defining V1 schema of Routine.

PortV1

Bases: BaseModel

Description of Port in V1 schema

ConnectionV1

Bases: BaseModel

Description of Connection in V1 schema

ResourceV1

Bases: BaseModel

Description of Resource in V1 schema

ParamLinkV1

Bases: BaseModel

Description of Parameter link in V1 schema

ConstantSequenceV1

Bases: BaseModel

Description of a constant sequence in a V1 Schema.

In a constant sequence we repeat an element multiplier times in each iteration.

ArithmeticSequenceV1

Bases: BaseModel

Description of an arithmetic sequence in a V1 Schema.

In an arithmetic sequence we start from initial_term repetitions of an element, and in each iteration we increase it by difference.

GeometricSequenceV1

Bases: BaseModel

Description of a geometric sequence in a V1 Schema.

In a geometric sequence we start from 1 repetition of an element, and in each iteration we multiply it by ratio.

ClosedFormSequenceV1

Bases: BaseModel

Description of a sequence with known closed-form for a sum or product in a V1 Schema.

If sum/prod are specified, they can be used to calculate these values for a given sequence. Expressions for sum/prod should use num_terms_symbol to represent the total number of terms.

CustomSequenceV1

Bases: BaseModel

Description of a custom sequence in a V1 Schema.

For sequences which do not fall into categories defined in other classes, one can use a custom representation. It is an explicit representation of a sequence where term_expression defines the expression for each term in the sequence and iterator_symbol is used to represent number of the iteration.

RepetitionV1

Bases: BaseModel

Description of a repetition of a routine in V1 schema.

RoutineV1

RoutineV1(**data: Any)

Bases: BaseModel

Description of Routine in V1 schema.

Note

This is NOT a top-level object in the schema. Instead, RoutineV1 is wrapped in SchemaV1.

generate_schema_v1

generate_schema_v1() -> dict[str, Any]

Generate Routine schema V1.

The schema is generated from DocumentRootV1 model, and then enriched with additional fields "title" and "$schema".