Skip to content

gavicore.models API Reference

gavicore.models - OGC Processes

gavicore.models.ProcessList

Bases: BaseModel

A list of process summaries.

processes instance-attribute

processes: list[ProcessSummary]

The process summaries

links: list[Link]

Related links.

gavicore.models.ProcessSummary

Bases: DescriptionType

A brief process descriptions lacking details of inputs and outputs.

id instance-attribute

id: str

Process identifier.

version instance-attribute

version: str

Process version number.

jobControlOptions class-attribute instance-attribute

jobControlOptions: list[JobControlOptions] | None = None

Available options to control process execution.

outputTransmission class-attribute instance-attribute

outputTransmission: list[TransmissionMode] | None = None

Available output transmission modes.

links: list[Link] | None = None

Related links.

title class-attribute instance-attribute

title: str | None = None

Human-readable title.

description class-attribute instance-attribute

description: str | None = None

Description text. May contain rich-text markups (markdown).

keywords class-attribute instance-attribute

keywords: list[str] | None = None

Optional list of keywords.

metadata class-attribute instance-attribute

metadata: list[Metadata] | None = None

Optional list of related metadata.

additionalParameters class-attribute instance-attribute

additionalParameters: AdditionalParameters | None = None

Optional list of additional parameters. Mostly ignored.

gavicore.models.ProcessDescription

Bases: ProcessSummary

Description of a process.

inputs class-attribute instance-attribute

inputs: dict[str, InputDescription] | None = None

Descriptions of the process inputs.

outputs class-attribute instance-attribute

outputs: dict[str, OutputDescription] | None = None

Descriptions of the process outputs.

title class-attribute instance-attribute

title: str | None = None

Human-readable title.

description class-attribute instance-attribute

description: str | None = None

Description text. May contain rich-text markups (markdown).

keywords class-attribute instance-attribute

keywords: list[str] | None = None

Optional list of keywords.

metadata class-attribute instance-attribute

metadata: list[Metadata] | None = None

Optional list of related metadata.

additionalParameters class-attribute instance-attribute

additionalParameters: AdditionalParameters | None = None

Optional list of additional parameters. Mostly ignored.

id instance-attribute

id: str

Process identifier.

version instance-attribute

version: str

Process version number.

jobControlOptions class-attribute instance-attribute

jobControlOptions: list[JobControlOptions] | None = None

Available options to control process execution.

outputTransmission class-attribute instance-attribute

outputTransmission: list[TransmissionMode] | None = None

Available output transmission modes.

links: list[Link] | None = None

Related links.

gavicore.models.InputDescription

Bases: DescriptionType

Description of an input of a process.

minOccurs class-attribute instance-attribute

minOccurs: int | None = 1

Minimum number of occurrences of this input. Usually ignored as an array schema is more flexible.

maxOccurs class-attribute instance-attribute

maxOccurs: int | Literal['unbounded'] | None = None

Maximum number of occurrences of this input. Usually ignored as an array schema is more flexible.

schema_ class-attribute instance-attribute

schema_: Schema = Field(..., alias='schema')

The OpenAPI schema of the input value(s).

title class-attribute instance-attribute

title: str | None = None

Human-readable title.

description class-attribute instance-attribute

description: str | None = None

Description text. May contain rich-text markups (markdown).

keywords class-attribute instance-attribute

keywords: list[str] | None = None

Optional list of keywords.

metadata class-attribute instance-attribute

metadata: list[Metadata] | None = None

Optional list of related metadata.

additionalParameters class-attribute instance-attribute

additionalParameters: AdditionalParameters | None = None

Optional list of additional parameters. Mostly ignored.

gavicore.models.OutputDescription

Bases: DescriptionType

Description of an output of a process.

schema_ class-attribute instance-attribute

schema_: Schema = Field(..., alias='schema')

The OpenAPI schema of the output value.

title class-attribute instance-attribute

title: str | None = None

Human-readable title.

description class-attribute instance-attribute

description: str | None = None

Description text. May contain rich-text markups (markdown).

keywords class-attribute instance-attribute

keywords: list[str] | None = None

Optional list of keywords.

metadata class-attribute instance-attribute

metadata: list[Metadata] | None = None

Optional list of related metadata.

additionalParameters class-attribute instance-attribute

additionalParameters: AdditionalParameters | None = None

Optional list of additional parameters. Mostly ignored.

gavicore.models.ProcessRequest

Bases: BaseModel

A request for a process execution.

inputs class-attribute instance-attribute

inputs: dict[str, Any] | None = None

Optional process inputs given as key-value mapping. Values may be of any JSON-serializable type accepted by the given process.

outputs class-attribute instance-attribute

outputs: dict[str, Output] | None = None

Optional process outputs given as key-value mapping. Values are of type Output supported by the given process.

subscriber class-attribute instance-attribute

subscriber: Subscriber | None = None

Optional subscriber of type Subscriber comprising callback URLs that are informed about process status changes while the processing takes place.

response class-attribute instance-attribute

response: ResponseType | None = ResponseType.raw

Optional response type given as key-value mapping. Maybe just ignored.

gavicore.models.Subscriber

Bases: BaseModel

Optional URIs for callbacks for this job.

Support for this parameter is not required and the parameter may be removed from the API definition, if conformance class 'callback' is not listed in the conformance declaration under /conformance.

successUri class-attribute instance-attribute

successUri: AnyUrl | None = None

Optional callback URI to notify about a successfully executed job..

inProgressUri class-attribute instance-attribute

inProgressUri: AnyUrl | None = None

Optional callback URI to notify about the incremental progress made by a job.

failedUri class-attribute instance-attribute

failedUri: AnyUrl | None = None

Optional callback URI to notify in case of a job failure.

gavicore.models.Output

Bases: BaseModel

Expected output of a process execution.

format class-attribute instance-attribute

format: Format | None = None

Desired format.

transmissionMode class-attribute instance-attribute

transmissionMode: TransmissionMode | None = TransmissionMode.value

Desired transmission mode.

gavicore.models - OGC Process Jobs

gavicore.models.JobList

Bases: BaseModel

A list of jobs.

jobs instance-attribute

jobs: list[JobInfo]

The job information list.

links: list[Link]

Related links.

gavicore.models.JobInfo

Bases: BaseModel

Information about a job.

jobID instance-attribute

jobID: str

The job identifier.

processID class-attribute instance-attribute

processID: str | None = None

The job's process identifier.

type class-attribute instance-attribute

type: Literal['process'] = 'process'

The job type (always "process", ignored).

status instance-attribute

status: JobStatus

The job status.

message class-attribute instance-attribute

message: str | None = None

The success, progress, or failure message.

created class-attribute instance-attribute

created: AwareDatetime | None = None

Job creation time.

started class-attribute instance-attribute

started: AwareDatetime | None = None

Job start time.

finished class-attribute instance-attribute

finished: AwareDatetime | None = None

Job end time.

updated class-attribute instance-attribute

updated: AwareDatetime | None = None

Job update time.

progress class-attribute instance-attribute

progress: int | None = Field(None, ge=0, le=100)

The progress in percent in the range 0 to 100.

links: list[Link] | None = None

Related links.

traceback class-attribute instance-attribute

traceback: str | list[str] | None = Field(None, alias='x-traceback')

Server-side traceback in case of failure.

gavicore.models.JobStatus

Bases: Enum

Status of a job.

gavicore.models.JobResult module-attribute

JobResult: TypeAlias = Link | QualifiedValue | InlineValue

The type representing the a single result of a job.

gavicore.models - OpenAPI Schema

gavicore.models.DataType

Bases: Enum

The optional data type of Schema.

gavicore.models.Schema

Bases: BaseModel

Representation of the OpenAPI 3.0 Schema.

The OpenAPI 3.0 Schema is a subset of JSON Schema draft-05 with some noticeable extensions.

Most importantly,

  • type is not allowed to be an array of types, and it is not allowed to be "null". To indicate a value that can be None, nullable=True is used to allow a value to be None, instead of type=["string", "null"] in JSON Schema.
  • items must a schema, which means tuples are not supported. (tuple = a schema of type "array" with fixed-length items being an array of possibly distinct schemas.

Keywords and constructs that do not exist in JSON Schema:

- `nullable = True`
- `deprecated == True`
- `readOnly = True`
- `writeOnly = True`
- `discriminator`
- `xml`
- `example`

Keywords and constructs that are supported in JSON Schema, but not in OpenAPI 3.0 Schema:

- `const`
- `if` / `then` / `else`
- `contains`
- `patternProperties`
- `dependencies`

Note that OpenAPI Schemas are extendable; application-specific fields are usually prefixed by "x-". For example, x-ui or x-ui:widget.

type class-attribute instance-attribute

type: DataType | None = None

Schema type.

title class-attribute instance-attribute

title: str | None = None

Schema type.

description class-attribute instance-attribute

description: str | None = None

Schema type.

enum class-attribute instance-attribute

enum: list | None = Field(None, min_length=1)

Schema type.

default class-attribute instance-attribute

default: Any | None = None

Optional default value.

nullable class-attribute instance-attribute

nullable: bool | None = False

Whether the value can have value null (Python None).

readOnly class-attribute instance-attribute

readOnly: bool | None = False

Whether the value is read-only. Not used.

writeOnly class-attribute instance-attribute

writeOnly: bool | None = False

Whether the value is write-only. Not used.

example class-attribute instance-attribute

example: Any | None = None

Example value. Deprecated, use examples.

examples class-attribute instance-attribute

examples: list[Any] | None = None

One or more example values.

deprecated class-attribute instance-attribute

deprecated: bool | None = False

Whether the value is deprecated..

minimum class-attribute instance-attribute

minimum: int | float | None = None

Minimum value for numeric values.

maximum class-attribute instance-attribute

maximum: int | float | None = None

Maximum value for numeric values.

exclusiveMinimum class-attribute instance-attribute

exclusiveMinimum: bool | None = False

Whether the minimum value is exclusive.

exclusiveMaximum class-attribute instance-attribute

exclusiveMaximum: bool | None = False

Whether the maximum value is exclusive.

multipleOf class-attribute instance-attribute

multipleOf: float | None = Field(None, gt=0.0)

A numeric value must be divisible by this factor without rest.

minLength class-attribute instance-attribute

minLength: int | None = Field(0, ge=0)

Minimum length of a string value.

maxLength class-attribute instance-attribute

maxLength: int | None = Field(None, ge=0)

Maximum length of a string value.

format class-attribute instance-attribute

format: str | None = None

Format of a string value.

pattern class-attribute instance-attribute

pattern: str | None = None

Pattern of a string value.

contentMediaType class-attribute instance-attribute

contentMediaType: str | None = None

Content media type of a binary/string value.

contentEncoding class-attribute instance-attribute

contentEncoding: str | None = None

Content encoding a binary/string value.

contentSchema class-attribute instance-attribute

contentSchema: str | None = None

Content schema of a binary/string value.

items class-attribute instance-attribute

items: Schema | None = None

Schema of the items of an array value.

minItems class-attribute instance-attribute

minItems: int | None = Field(0, ge=0)

Minimum number of items of an array value.

maxItems class-attribute instance-attribute

maxItems: int | None = Field(None, ge=0)

Maximum number of items of an array value.

uniqueItems class-attribute instance-attribute

uniqueItems: bool | None = False

?

properties class-attribute instance-attribute

properties: dict[str, Schema] | None = None

Schemas of the properties of an object value.

required class-attribute instance-attribute

required: list[str] | None = Field(None, min_length=1)

List of names of required properties of an object value.

minProperties class-attribute instance-attribute

minProperties: int | None = Field(0, ge=0)

Minimum number of properties of an object value.

maxProperties class-attribute instance-attribute

maxProperties: int | None = Field(None, ge=0)

Maximum number of properties of an object value.

additionalProperties class-attribute instance-attribute

additionalProperties: Schema | bool | None = True

The common schema for additional properties of an object value. If a boolean is provided, whether or not additional properties are allowed.

not_ class-attribute instance-attribute

not_: Schema | None = Field(None, alias='not')

A value must not match the not-schema. Alias is not.

allOf class-attribute instance-attribute

allOf: list[Schema] | None = None

A value must match all of the schemas in the allOf list.

oneOf class-attribute instance-attribute

oneOf: list[Schema] | None = None

A value must match one of the schemas in the oneOf list.

anyOf class-attribute instance-attribute

anyOf: list[Schema] | None = None

A value must match any of the schemas in the anyOf list.

discriminator class-attribute instance-attribute

discriminator: Discriminator | None = None

Optional discriminator.

id class-attribute instance-attribute

id: str | None = Field(None, alias='$id', min_length=1)

Schema identifier. Alias is $id.

ref class-attribute instance-attribute

ref: str | None = Field(None, alias='$ref', min_length=1)

Schema reference. Alias is $ref.

to_json_dict

to_json_dict() -> dict[str, Any]

Convert this model into a JSON-serializable dict.

gavicore.models.Discriminator

Bases: BaseModel

OpenAPI discriminator used in conjunctions with oneOf/anyOf given that

  • all entries are references of the form {"$ref": "#/..."}` and
  • the referred schemas have type "object" and
  • the referred schemas have a common property whose value can be used to discriminate their meta-type.

propertyName class-attribute instance-attribute

propertyName: str = Field(..., min_length=1)

The common property's name. Required.

mapping class-attribute instance-attribute

mapping: dict[str, str] | None = None

Optional mapping of possible values of the common property to schemas references.