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
instance-attribute
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
class-attribute
instance-attribute
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
class-attribute
instance-attribute
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
instance-attribute
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
class-attribute
instance-attribute
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
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,
typeis not allowed to be an array of types, and it is not allowed to be"null". To indicate a value that can beNone,nullable=Trueis used to allow a value to beNone, instead oftype=["string", "null"]in JSON Schema.itemsmust a schema, which means tuples are not supported. (tuple = a schema of type "array" with fixed-lengthitemsbeing 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.