Skip to content

models

CommaSeperatedString module-attribute

CommaSeperatedString = str

CommaSeperatedInt module-attribute

CommaSeperatedInt = str

MetadataFieldsType module-attribute

MetadataFieldsType = Annotated[
    Union[
        ImageMetadataFields,
        RasterMetadataFields,
        PointCloudMetadataFields,
    ],
    Discriminator("fields_type"),
]

SearchOn module-attribute

SearchOn = Literal[
    "images",
    "rasters",
    "point_clouds",
    "projects",
    "data_collections",
]

SearchFilterOperator module-attribute

SearchFilterOperator = Literal[
    "==",
    "!=",
    "<",
    "<=",
    ">",
    ">=",
    "~",
    "!~",
    "contains",
    "!contains",
    "in",
    "!in",
]

SearchFilterDataType module-attribute

SearchFilterDataType = Union[
    str, int, float, datetime.datetime, None
]

SearchFilterListDataType module-attribute

SearchFilterListDataType = Annotated[
    list[SearchFilterDataType], MinLen(1)
]

SearchFilterCompDataType module-attribute

SearchFilterCompDataType = Union[
    SearchFilterDataType, SearchFilterListDataType
]

SearchFilterComparisonDict module-attribute

SearchFilterAndExpr module-attribute

SearchFilterAndExpr = TypedDict(
    "SearchFilterAndExpr", {"and": list["SearchFilter"]}
)

SearchFilterOrExpr module-attribute

SearchFilterOrExpr = TypedDict(
    "SearchFilterOrExpr", {"or": list["SearchFilter"]}
)

SearchFilter module-attribute

OIDCUserCreateInput pydantic-model

Bases: BaseModel

Input model for creating a new OIDC user.

Show JSON schema:
{
  "description": "Input model for creating a new OIDC user.",
  "properties": {
    "first_name": {
      "title": "First Name",
      "type": "string"
    },
    "last_name": {
      "title": "Last Name",
      "type": "string"
    },
    "email": {
      "format": "email",
      "title": "Email",
      "type": "string"
    },
    "password": {
      "format": "password",
      "title": "Password",
      "type": "string",
      "writeOnly": true
    },
    "enabled": {
      "default": true,
      "title": "Enabled",
      "type": "boolean"
    },
    "user_type": {
      "enum": [
        "creator",
        "superuser",
        "viewer"
      ],
      "title": "User Type",
      "type": "string"
    }
  },
  "required": [
    "first_name",
    "last_name",
    "email",
    "password",
    "user_type"
  ],
  "title": "OIDCUserCreateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
78
79
80
81
82
83
84
85
86
87
88
89
90
91
class OIDCUserCreateInput(BaseModel):
    """Input model for creating a new OIDC user."""

    first_name: str
    last_name: str
    email: EmailStr
    password: SecretStr
    enabled: bool = True
    user_type: Literal["creator", "superuser", "viewer"]

    @field_serializer("password", when_used="json")
    def dump_secret(self, v: SecretStr) -> str:
        """Serialize the password field to a string."""
        return v.get_secret_value()

first_name pydantic-field

first_name: str

last_name pydantic-field

last_name: str

email pydantic-field

email: EmailStr

password pydantic-field

password: SecretStr

enabled pydantic-field

enabled: bool = True

user_type pydantic-field

user_type: Literal['creator', 'superuser', 'viewer']

dump_secret

dump_secret(v: SecretStr) -> str

Serialize the password field to a string.

Source code in src/pixel_client/models.py
88
89
90
91
@field_serializer("password", when_used="json")
def dump_secret(self, v: SecretStr) -> str:
    """Serialize the password field to a string."""
    return v.get_secret_value()

OIDCUserUpdateInput pydantic-model

Bases: BaseModel

Input model for updating an OIDC user.

Show JSON schema:
{
  "description": "Input model for updating an OIDC user.",
  "properties": {
    "first_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "First Name"
    },
    "last_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Last Name"
    },
    "password": {
      "anyOf": [
        {
          "format": "password",
          "type": "string",
          "writeOnly": true
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Password"
    },
    "enabled": {
      "default": true,
      "title": "Enabled",
      "type": "boolean"
    },
    "user_type": {
      "anyOf": [
        {
          "enum": [
            "creator",
            "superuser",
            "viewer"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "User Type"
    }
  },
  "title": "OIDCUserUpdateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
class OIDCUserUpdateInput(BaseModel):
    """Input model for updating an OIDC user."""

    first_name: str | None = None
    last_name: str | None = None
    password: SecretStr | None = None
    enabled: bool = True
    user_type: Literal["creator", "superuser", "viewer"] | None = None

    @field_serializer("password", when_used="json")
    def dump_secret(self, v: SecretStr | None) -> str | None:
        """
        Serialize the password field to a string.
        """
        if v is None:
            return None
        return v.get_secret_value()

first_name pydantic-field

first_name: str | None = None

last_name pydantic-field

last_name: str | None = None

password pydantic-field

password: SecretStr | None = None

enabled pydantic-field

enabled: bool = True

user_type pydantic-field

user_type: (
    Literal["creator", "superuser", "viewer"] | None
) = None

dump_secret

dump_secret(v: SecretStr | None) -> str | None

Serialize the password field to a string.

Source code in src/pixel_client/models.py
103
104
105
106
107
108
109
110
@field_serializer("password", when_used="json")
def dump_secret(self, v: SecretStr | None) -> str | None:
    """
    Serialize the password field to a string.
    """
    if v is None:
        return None
    return v.get_secret_value()

PixelStatusEnum

Bases: StrEnum

Enum for the status of a pixel task.

Source code in src/pixel_client/models.py
113
114
115
116
117
118
119
120
121
122
class PixelStatusEnum(StrEnum):
    """
    Enum for the status of a pixel task.
    """

    pending = "pending"
    submitted = "submitted"
    in_progress = "in_progress"
    completed = "completed"
    failed = "failed"

pending class-attribute instance-attribute

pending = 'pending'

submitted class-attribute instance-attribute

submitted = 'submitted'

in_progress class-attribute instance-attribute

in_progress = 'in_progress'

completed class-attribute instance-attribute

completed = 'completed'

failed class-attribute instance-attribute

failed = 'failed'

NearblackOptions pydantic-model

Bases: BaseModel

Options for applying nearblack when optimizing raster images.

Show JSON schema:
{
  "description": "Options for applying nearblack when optimizing raster images.",
  "properties": {
    "enabled": {
      "title": "Enabled",
      "type": "boolean"
    },
    "color": {
      "anyOf": [
        {
          "enum": [
            "black",
            "white"
          ],
          "type": "string"
        },
        {
          "exclusiveMaximum": 256,
          "minimum": 0,
          "type": "integer"
        }
      ],
      "default": "black",
      "title": "Color"
    },
    "algorithm": {
      "default": "twopasses",
      "enum": [
        "floodfill",
        "twopasses"
      ],
      "title": "Algorithm",
      "type": "string"
    }
  },
  "required": [
    "enabled"
  ],
  "title": "NearblackOptions",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
125
126
127
128
129
130
131
132
class NearblackOptions(BaseModel):
    """
    Options for applying nearblack when optimizing raster images.
    """

    enabled: bool
    color: Literal["black", "white"] | Annotated[int, Ge(0), Lt(256)] = "black"
    algorithm: Literal["floodfill", "twopasses"] = "twopasses"

enabled pydantic-field

enabled: bool

color pydantic-field

color: (
    Literal["black", "white"]
    | Annotated[int, Ge(0), Lt(256)]
) = "black"

algorithm pydantic-field

algorithm: Literal['floodfill', 'twopasses'] = 'twopasses'

ListParams pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "properties": {
    "extended": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Extended"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "ids": {
      "anyOf": [
        {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ids"
    },
    "tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tags"
    },
    "offset": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Offset"
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    }
  },
  "title": "ListParams",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
135
136
137
138
139
140
141
142
143
144
145
146
class ListParams(BaseModel):
    extended: bool | None = None
    name: str | None = None
    ids: (
        Annotated[list[int] | None, PlainSerializer(_serialize_to_comma_sep_list)]
        | None
    ) = None
    tags: Annotated[list[str] | None, PlainSerializer(_serialize_to_comma_sep_list)] = (
        None
    )
    offset: int | None = None
    limit: int | None = None

extended pydantic-field

extended: bool | None = None

name pydantic-field

name: str | None = None

ids pydantic-field

ids: (
    Annotated[
        list[int] | None,
        PlainSerializer(_serialize_to_comma_sep_list),
    ]
    | None
) = None

tags pydantic-field

tags: Annotated[
    list[str] | None,
    PlainSerializer(_serialize_to_comma_sep_list),
] = None

offset pydantic-field

offset: int | None = None

limit pydantic-field

limit: int | None = None

DataCollectionListParams pydantic-model

Bases: ListParams

Show JSON schema:
{
  "properties": {
    "extended": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Extended"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "ids": {
      "anyOf": [
        {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ids"
    },
    "tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tags"
    },
    "offset": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Offset"
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    },
    "data_collection_type": {
      "anyOf": [
        {
          "enum": [
            "image",
            "raster",
            "RGB",
            "DTM",
            "DSM",
            "point_cloud"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Data Collection Type"
    }
  },
  "title": "DataCollectionListParams",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
149
150
class DataCollectionListParams(ListParams):
    data_collection_type: DataCollectionType | None = None

data_collection_type pydantic-field

data_collection_type: DataCollectionType | None = None

RasterListParams pydantic-model

Bases: ListParams

Show JSON schema:
{
  "properties": {
    "extended": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Extended"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "ids": {
      "anyOf": [
        {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ids"
    },
    "tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tags"
    },
    "offset": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Offset"
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    },
    "format": {
      "anyOf": [
        {
          "enum": [
            "GTiff",
            "JPEG",
            "PNG",
            "WEBP",
            "MRF",
            "PDF"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Format"
    }
  },
  "title": "RasterListParams",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
153
154
class RasterListParams(ListParams):
    format: Literal["GTiff", "JPEG", "PNG", "WEBP", "MRF", "PDF"] | None = None

format pydantic-field

format: (
    Literal["GTiff", "JPEG", "PNG", "WEBP", "MRF", "PDF"]
    | None
) = None

PointCloudListParams pydantic-model

Bases: ListParams

Show JSON schema:
{
  "properties": {
    "extended": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Extended"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "ids": {
      "anyOf": [
        {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ids"
    },
    "tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tags"
    },
    "offset": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Offset"
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    },
    "format": {
      "anyOf": [
        {
          "enum": [
            "LAZ",
            "LAS"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Format"
    },
    "point_record_format": {
      "anyOf": [
        {
          "maximum": 10,
          "minimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Point Record Format"
    },
    "version_major": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Version Major"
    },
    "version_minor": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Version Minor"
    }
  },
  "title": "PointCloudListParams",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
157
158
159
160
161
class PointCloudListParams(ListParams):
    format: Literal["LAZ", "LAS"] | None = None
    point_record_format: Annotated[int | None, Ge(0), Le(10)] = None
    version_major: int | None = None
    version_minor: int | None = None

format pydantic-field

format: Literal['LAZ', 'LAS'] | None = None

point_record_format pydantic-field

point_record_format: Annotated[
    int | None, Ge(0), Le(10)
] = None

version_major pydantic-field

version_major: int | None = None

version_minor pydantic-field

version_minor: int | None = None

OptimizedPointCloudListParams pydantic-model

Bases: PointCloudListParams

Show JSON schema:
{
  "$defs": {
    "PixelStatusEnum": {
      "description": "Enum for the status of a pixel task.",
      "enum": [
        "pending",
        "submitted",
        "in_progress",
        "completed",
        "failed"
      ],
      "title": "PixelStatusEnum",
      "type": "string"
    }
  },
  "properties": {
    "extended": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Extended"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "ids": {
      "anyOf": [
        {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ids"
    },
    "tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tags"
    },
    "offset": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Offset"
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    },
    "format": {
      "anyOf": [
        {
          "enum": [
            "LAZ",
            "LAS"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Format"
    },
    "point_record_format": {
      "anyOf": [
        {
          "maximum": 10,
          "minimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Point Record Format"
    },
    "version_major": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Version Major"
    },
    "version_minor": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Version Minor"
    },
    "status": {
      "anyOf": [
        {
          "$ref": "#/$defs/PixelStatusEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "title": "OptimizedPointCloudListParams",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
164
165
class OptimizedPointCloudListParams(PointCloudListParams):
    status: PixelStatusEnum | None = None

status pydantic-field

status: PixelStatusEnum | None = None

HarvestTaskListParams pydantic-model

Bases: ListParams

Show JSON schema:
{
  "$defs": {
    "PixelStatusEnum": {
      "description": "Enum for the status of a pixel task.",
      "enum": [
        "pending",
        "submitted",
        "in_progress",
        "completed",
        "failed"
      ],
      "title": "PixelStatusEnum",
      "type": "string"
    }
  },
  "properties": {
    "extended": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Extended"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "ids": {
      "anyOf": [
        {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ids"
    },
    "tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tags"
    },
    "offset": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Offset"
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    },
    "status": {
      "anyOf": [
        {
          "$ref": "#/$defs/PixelStatusEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "get_new": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Get New"
    }
  },
  "title": "HarvestTaskListParams",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
168
169
170
class HarvestTaskListParams(ListParams):
    status: PixelStatusEnum | None = None
    get_new: bool | None = None

status pydantic-field

status: PixelStatusEnum | None = None

get_new pydantic-field

get_new: bool | None = None

ImageMetadataFields pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "properties": {
    "fields_type": {
      "const": "image",
      "default": "image",
      "title": "Fields Type",
      "type": "string"
    },
    "image_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Image Type"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "location": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Location"
    },
    "cam_heading": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cam Heading"
    },
    "cam_pitch": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cam Pitch"
    },
    "cam_roll": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cam Roll"
    },
    "hfov": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Hfov"
    },
    "vfov": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Vfov"
    },
    "far_dist": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Far Dist"
    },
    "near_dist": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Near Dist"
    },
    "capture_date": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Capture Date"
    },
    "cam_height": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cam Height"
    },
    "img_rotation": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Img Rotation"
    },
    "cam_orientation": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cam Orientation"
    },
    "focal_length": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Focal Length"
    },
    "radial": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Radial"
    }
  },
  "title": "ImageMetadataFields",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
class ImageMetadataFields(BaseModel):
    fields_type: Literal["image"] = "image"
    image_type: str | None = None
    name: str | None = None
    location: dict | None = None
    cam_heading: float | None = None
    cam_pitch: float | None = None
    cam_roll: float | None = None
    hfov: float | None = None
    vfov: float | None = None
    far_dist: float | None = None
    near_dist: float | None = None
    capture_date: datetime.datetime | None = None
    cam_height: float | None = None
    img_rotation: float | None = None
    cam_orientation: str | None = None
    focal_length: float | None = None
    radial: str | None = None

fields_type pydantic-field

fields_type: Literal['image'] = 'image'

image_type pydantic-field

image_type: str | None = None

name pydantic-field

name: str | None = None

location pydantic-field

location: dict | None = None

cam_heading pydantic-field

cam_heading: float | None = None

cam_pitch pydantic-field

cam_pitch: float | None = None

cam_roll pydantic-field

cam_roll: float | None = None

hfov pydantic-field

hfov: float | None = None

vfov pydantic-field

vfov: float | None = None

far_dist pydantic-field

far_dist: float | None = None

near_dist pydantic-field

near_dist: float | None = None

capture_date pydantic-field

capture_date: datetime.datetime | None = None

cam_height pydantic-field

cam_height: float | None = None

img_rotation pydantic-field

img_rotation: float | None = None

cam_orientation pydantic-field

cam_orientation: str | None = None

focal_length pydantic-field

focal_length: float | None = None

radial pydantic-field

radial: str | None = None

RasterMetadataFields pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "properties": {
    "fields_type": {
      "const": "raster",
      "default": "raster",
      "title": "Fields Type",
      "type": "string"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "capture_date": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Capture Date"
    }
  },
  "title": "RasterMetadataFields",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
193
194
195
196
class RasterMetadataFields(BaseModel):
    fields_type: Literal["raster"] = "raster"
    name: str | None = None
    capture_date: datetime.datetime | None = None

fields_type pydantic-field

fields_type: Literal['raster'] = 'raster'

name pydantic-field

name: str | None = None

capture_date pydantic-field

capture_date: datetime.datetime | None = None

PointCloudMetadataFields pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "properties": {
    "fields_type": {
      "const": "point_cloud",
      "default": "point_cloud",
      "title": "Fields Type",
      "type": "string"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "capture_date": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Capture Date"
    }
  },
  "title": "PointCloudMetadataFields",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
199
200
201
202
class PointCloudMetadataFields(BaseModel):
    fields_type: Literal["point_cloud"] = "point_cloud"
    name: str | None = None
    capture_date: datetime.datetime | None = None

fields_type pydantic-field

fields_type: Literal['point_cloud'] = 'point_cloud'

name pydantic-field

name: str | None = None

capture_date pydantic-field

capture_date: datetime.datetime | None = None

MetadataObject pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "$defs": {
    "ImageMetadataFields": {
      "properties": {
        "fields_type": {
          "const": "image",
          "default": "image",
          "title": "Fields Type",
          "type": "string"
        },
        "image_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Image Type"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "location": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Location"
        },
        "cam_heading": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Heading"
        },
        "cam_pitch": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Pitch"
        },
        "cam_roll": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Roll"
        },
        "hfov": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Hfov"
        },
        "vfov": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Vfov"
        },
        "far_dist": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Far Dist"
        },
        "near_dist": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Near Dist"
        },
        "capture_date": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Capture Date"
        },
        "cam_height": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Height"
        },
        "img_rotation": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Img Rotation"
        },
        "cam_orientation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Orientation"
        },
        "focal_length": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Focal Length"
        },
        "radial": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Radial"
        }
      },
      "title": "ImageMetadataFields",
      "type": "object"
    },
    "PointCloudMetadataFields": {
      "properties": {
        "fields_type": {
          "const": "point_cloud",
          "default": "point_cloud",
          "title": "Fields Type",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "capture_date": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Capture Date"
        }
      },
      "title": "PointCloudMetadataFields",
      "type": "object"
    },
    "RasterMetadataFields": {
      "properties": {
        "fields_type": {
          "const": "raster",
          "default": "raster",
          "title": "Fields Type",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "capture_date": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Capture Date"
        }
      },
      "title": "RasterMetadataFields",
      "type": "object"
    }
  },
  "properties": {
    "fields": {
      "anyOf": [
        {
          "discriminator": {
            "mapping": {
              "image": "#/$defs/ImageMetadataFields",
              "point_cloud": "#/$defs/PointCloudMetadataFields",
              "raster": "#/$defs/RasterMetadataFields"
            },
            "propertyName": "fields_type"
          },
          "oneOf": [
            {
              "$ref": "#/$defs/ImageMetadataFields"
            },
            {
              "$ref": "#/$defs/RasterMetadataFields"
            },
            {
              "$ref": "#/$defs/PointCloudMetadataFields"
            }
          ]
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Fields"
    },
    "json_metadata": {
      "anyOf": [
        {
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Json Metadata"
    }
  },
  "title": "MetadataObject",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
211
212
213
class MetadataObject(BaseModel):
    fields: MetadataFieldsType | None = None
    json_metadata: dict[str, str | float | int | None] | None = None

fields pydantic-field

fields: MetadataFieldsType | None = None

json_metadata pydantic-field

json_metadata: (
    dict[str, str | float | int | None] | None
) = None

PixelUploadFile pydantic-model

Bases: BaseModel

Model for uploading a file to Pixel

Show JSON schema:
{
  "$defs": {
    "ImageMetadataFields": {
      "properties": {
        "fields_type": {
          "const": "image",
          "default": "image",
          "title": "Fields Type",
          "type": "string"
        },
        "image_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Image Type"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "location": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Location"
        },
        "cam_heading": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Heading"
        },
        "cam_pitch": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Pitch"
        },
        "cam_roll": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Roll"
        },
        "hfov": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Hfov"
        },
        "vfov": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Vfov"
        },
        "far_dist": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Far Dist"
        },
        "near_dist": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Near Dist"
        },
        "capture_date": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Capture Date"
        },
        "cam_height": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Height"
        },
        "img_rotation": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Img Rotation"
        },
        "cam_orientation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Orientation"
        },
        "focal_length": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Focal Length"
        },
        "radial": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Radial"
        }
      },
      "title": "ImageMetadataFields",
      "type": "object"
    },
    "MetadataObject": {
      "properties": {
        "fields": {
          "anyOf": [
            {
              "discriminator": {
                "mapping": {
                  "image": "#/$defs/ImageMetadataFields",
                  "point_cloud": "#/$defs/PointCloudMetadataFields",
                  "raster": "#/$defs/RasterMetadataFields"
                },
                "propertyName": "fields_type"
              },
              "oneOf": [
                {
                  "$ref": "#/$defs/ImageMetadataFields"
                },
                {
                  "$ref": "#/$defs/RasterMetadataFields"
                },
                {
                  "$ref": "#/$defs/PointCloudMetadataFields"
                }
              ]
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Fields"
        },
        "json_metadata": {
          "anyOf": [
            {
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Json Metadata"
        }
      },
      "title": "MetadataObject",
      "type": "object"
    },
    "PointCloudMetadataFields": {
      "properties": {
        "fields_type": {
          "const": "point_cloud",
          "default": "point_cloud",
          "title": "Fields Type",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "capture_date": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Capture Date"
        }
      },
      "title": "PointCloudMetadataFields",
      "type": "object"
    },
    "RasterMetadataFields": {
      "properties": {
        "fields_type": {
          "const": "raster",
          "default": "raster",
          "title": "Fields Type",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "capture_date": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Capture Date"
        }
      },
      "title": "RasterMetadataFields",
      "type": "object"
    }
  },
  "description": "Model for uploading a file to Pixel",
  "properties": {
    "file": {
      "format": "path",
      "title": "File",
      "type": "string"
    },
    "support_files": {
      "anyOf": [
        {
          "items": {
            "format": "path",
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Support Files"
    },
    "metadata": {
      "anyOf": [
        {
          "$ref": "#/$defs/MetadataObject"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "file"
  ],
  "title": "PixelUploadFile",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
216
217
218
219
220
221
222
223
class PixelUploadFile(BaseModel):
    """
    Model for uploading a file to Pixel
    """

    file: Path
    support_files: list[Path] | None = None
    metadata: MetadataObject | None = None

file pydantic-field

file: Path

support_files pydantic-field

support_files: list[Path] | None = None

metadata pydantic-field

metadata: MetadataObject | None = None

PixelAttachmentUpload pydantic-model

Bases: BaseModel

Model for uploading an attachment to a Pixel object

Show JSON schema:
{
  "description": "Model for uploading an attachment to a Pixel object",
  "properties": {
    "file": {
      "format": "path",
      "title": "File",
      "type": "string"
    },
    "name": {
      "default": "",
      "title": "Name",
      "type": "string"
    },
    "description": {
      "default": "",
      "title": "Description",
      "type": "string"
    }
  },
  "required": [
    "file"
  ],
  "title": "PixelAttachmentUpload",
  "type": "object"
}

Fields:

Validators:

Source code in src/pixel_client/models.py
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
class PixelAttachmentUpload(BaseModel):
    """
    Model for uploading an attachment to a Pixel object
    """

    file: Path = Field(exclude=True)
    name: str = ""
    description: str = ""

    @model_validator(mode="after")
    def fill_values(self) -> Self:
        if not self.name:
            # Set the name to the file name if not defined
            self.name = self.file.name
        return self

    @computed_field
    @cached_property
    def md5(self) -> str:
        return calculate_md5_base64_from_file(self.file)

file pydantic-field

file: Path

name pydantic-field

name: str = ''

description pydantic-field

description: str = ''

md5 cached property

md5: str

fill_values pydantic-validator

fill_values() -> Self
Source code in src/pixel_client/models.py
235
236
237
238
239
240
@model_validator(mode="after")
def fill_values(self) -> Self:
    if not self.name:
        # Set the name to the file name if not defined
        self.name = self.file.name
    return self

RasterInfo pydantic-model

Bases: BaseModel

Model for raster information, used for creating a raster data collection.

Show JSON schema:
{
  "description": "Model for raster information, used for creating a raster data collection.",
  "properties": {
    "srid": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Srid"
    },
    "format": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Format"
    },
    "data_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Data Type"
    },
    "cell_size": {
      "anyOf": [
        {
          "maxItems": 2,
          "minItems": 2,
          "prefixItems": [
            {
              "type": "number"
            },
            {
              "type": "number"
            }
          ],
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cell Size"
    },
    "num_bands": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Num Bands"
    }
  },
  "title": "RasterInfo",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
248
249
250
251
252
253
254
255
256
257
class RasterInfo(BaseModel):
    """
    Model for raster information, used for creating a raster data collection.
    """

    srid: int | None = None
    format: str | None = None
    data_type: str | None = None
    cell_size: tuple[float, float] | None = None
    num_bands: int | None = None

srid pydantic-field

srid: int | None = None

format pydantic-field

format: str | None = None

data_type pydantic-field

data_type: str | None = None

cell_size pydantic-field

cell_size: tuple[float, float] | None = None

num_bands pydantic-field

num_bands: int | None = None

ApiKey pydantic-model

Bases: BaseModel

Model for API key authentication

Show JSON schema:
{
  "description": "Model for API key authentication",
  "properties": {
    "api_key": {
      "format": "password",
      "title": "Api Key",
      "type": "string",
      "writeOnly": true
    },
    "api_key_item_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key Item Id"
    }
  },
  "required": [
    "api_key"
  ],
  "title": "ApiKey",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
260
261
262
263
264
265
266
267
268
269
270
271
272
273
class ApiKey(BaseModel):
    """
    Model for API key authentication
    """

    api_key: SecretStr
    api_key_item_id: str | None = None

    @field_serializer("api_key", when_used="json")
    def dump_secret(self, v: SecretStr) -> str:
        """
        Serialize the API key field to a string.
        """
        return v.get_secret_value()

api_key pydantic-field

api_key: SecretStr

api_key_item_id pydantic-field

api_key_item_id: str | None = None

dump_secret

dump_secret(v: SecretStr) -> str

Serialize the API key field to a string.

Source code in src/pixel_client/models.py
268
269
270
271
272
273
@field_serializer("api_key", when_used="json")
def dump_secret(self, v: SecretStr) -> str:
    """
    Serialize the API key field to a string.
    """
    return v.get_secret_value()

Credentials pydantic-model

Bases: BaseModel

Model for credentials authentication

Show JSON schema:
{
  "description": "Model for credentials authentication",
  "properties": {
    "username": {
      "title": "Username",
      "type": "string"
    },
    "password": {
      "format": "password",
      "title": "Password",
      "type": "string",
      "writeOnly": true
    },
    "token_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Token Url"
    }
  },
  "required": [
    "username",
    "password"
  ],
  "title": "Credentials",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
class Credentials(BaseModel):
    """
    Model for credentials authentication
    """

    username: str
    password: SecretStr
    token_url: str | None = None

    @field_serializer("password", when_used="json")
    def dump_secret(self, v: SecretStr) -> str:
        """
        Serialize the password field to a string.
        """
        return v.get_secret_value()

username pydantic-field

username: str

password pydantic-field

password: SecretStr

token_url pydantic-field

token_url: str | None = None

dump_secret

dump_secret(v: SecretStr) -> str

Serialize the password field to a string.

Source code in src/pixel_client/models.py
285
286
287
288
289
290
@field_serializer("password", when_used="json")
def dump_secret(self, v: SecretStr) -> str:
    """
    Serialize the password field to a string.
    """
    return v.get_secret_value()

HarvestAuthInfo pydantic-model

Bases: BaseModel

Model for harvest service authentication information.

Show JSON schema:
{
  "$defs": {
    "ApiKey": {
      "description": "Model for API key authentication",
      "properties": {
        "api_key": {
          "format": "password",
          "title": "Api Key",
          "type": "string",
          "writeOnly": true
        },
        "api_key_item_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Api Key Item Id"
        }
      },
      "required": [
        "api_key"
      ],
      "title": "ApiKey",
      "type": "object"
    },
    "Credentials": {
      "description": "Model for credentials authentication",
      "properties": {
        "username": {
          "title": "Username",
          "type": "string"
        },
        "password": {
          "format": "password",
          "title": "Password",
          "type": "string",
          "writeOnly": true
        },
        "token_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Token Url"
        }
      },
      "required": [
        "username",
        "password"
      ],
      "title": "Credentials",
      "type": "object"
    }
  },
  "description": "Model for harvest service authentication information.",
  "properties": {
    "credentials": {
      "anyOf": [
        {
          "$ref": "#/$defs/Credentials"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "api_key": {
      "anyOf": [
        {
          "$ref": "#/$defs/ApiKey"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "title": "HarvestAuthInfo",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
293
294
295
296
297
298
299
class HarvestAuthInfo(BaseModel):
    """
    Model for harvest service authentication information.
    """

    credentials: Credentials | None = None
    api_key: ApiKey | None = None

credentials pydantic-field

credentials: Credentials | None = None

api_key pydantic-field

api_key: ApiKey | None = None

HarvestFieldMap pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "properties": {
    "model": {
      "title": "Model",
      "type": "string"
    },
    "field_name": {
      "title": "Field Name",
      "type": "string"
    },
    "external_field": {
      "title": "External Field",
      "type": "string"
    }
  },
  "required": [
    "model",
    "field_name",
    "external_field"
  ],
  "title": "HarvestFieldMap",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
302
303
304
305
class HarvestFieldMap(BaseModel):
    model: str
    field_name: str
    external_field: str

model pydantic-field

model: str

field_name pydantic-field

field_name: str

external_field pydantic-field

external_field: str

HarvestFieldMapping pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "$defs": {
    "HarvestFieldMap": {
      "properties": {
        "model": {
          "title": "Model",
          "type": "string"
        },
        "field_name": {
          "title": "Field Name",
          "type": "string"
        },
        "external_field": {
          "title": "External Field",
          "type": "string"
        }
      },
      "required": [
        "model",
        "field_name",
        "external_field"
      ],
      "title": "HarvestFieldMap",
      "type": "object"
    }
  },
  "properties": {
    "maps": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/HarvestFieldMap"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Maps"
    },
    "extra_fields": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Extra Fields"
    }
  },
  "title": "HarvestFieldMapping",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
308
309
310
class HarvestFieldMapping(BaseModel):
    maps: list[HarvestFieldMap] | None = None
    extra_fields: list[str] | None = None

maps pydantic-field

maps: list[HarvestFieldMap] | None = None

extra_fields pydantic-field

extra_fields: list[str] | None = None

HarvestServiceCreateInput pydantic-model

Bases: BaseModel

Model for creating a new harvest service.

Show JSON schema:
{
  "$defs": {
    "ApiKey": {
      "description": "Model for API key authentication",
      "properties": {
        "api_key": {
          "format": "password",
          "title": "Api Key",
          "type": "string",
          "writeOnly": true
        },
        "api_key_item_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Api Key Item Id"
        }
      },
      "required": [
        "api_key"
      ],
      "title": "ApiKey",
      "type": "object"
    },
    "Credentials": {
      "description": "Model for credentials authentication",
      "properties": {
        "username": {
          "title": "Username",
          "type": "string"
        },
        "password": {
          "format": "password",
          "title": "Password",
          "type": "string",
          "writeOnly": true
        },
        "token_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Token Url"
        }
      },
      "required": [
        "username",
        "password"
      ],
      "title": "Credentials",
      "type": "object"
    },
    "HarvestAuthInfo": {
      "description": "Model for harvest service authentication information.",
      "properties": {
        "credentials": {
          "anyOf": [
            {
              "$ref": "#/$defs/Credentials"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "api_key": {
          "anyOf": [
            {
              "$ref": "#/$defs/ApiKey"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "title": "HarvestAuthInfo",
      "type": "object"
    },
    "HarvestFieldMap": {
      "properties": {
        "model": {
          "title": "Model",
          "type": "string"
        },
        "field_name": {
          "title": "Field Name",
          "type": "string"
        },
        "external_field": {
          "title": "External Field",
          "type": "string"
        }
      },
      "required": [
        "model",
        "field_name",
        "external_field"
      ],
      "title": "HarvestFieldMap",
      "type": "object"
    },
    "HarvestFieldMapping": {
      "properties": {
        "maps": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/HarvestFieldMap"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Maps"
        },
        "extra_fields": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Extra Fields"
        }
      },
      "title": "HarvestFieldMapping",
      "type": "object"
    }
  },
  "description": "Model for creating a new harvest service.",
  "properties": {
    "name": {
      "title": "Name",
      "type": "string"
    },
    "description": {
      "title": "Description",
      "type": "string"
    },
    "url": {
      "title": "Url",
      "type": "string"
    },
    "auth": {
      "$ref": "#/$defs/HarvestAuthInfo"
    },
    "field_mappings": {
      "$ref": "#/$defs/HarvestFieldMapping"
    },
    "where_clause": {
      "default": "1=1",
      "title": "Where Clause",
      "type": "string"
    }
  },
  "required": [
    "name",
    "description",
    "url",
    "auth"
  ],
  "title": "HarvestServiceCreateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
313
314
315
316
317
318
319
320
321
322
323
class HarvestServiceCreateInput(BaseModel):
    """
    Model for creating a new harvest service.
    """

    name: str
    description: str
    url: str
    auth: HarvestAuthInfo
    field_mappings: HarvestFieldMapping = Field(default_factory=HarvestFieldMapping)
    where_clause: str = "1=1"

name pydantic-field

name: str

description pydantic-field

description: str

url pydantic-field

url: str

auth pydantic-field

field_mappings pydantic-field

field_mappings: HarvestFieldMapping

where_clause pydantic-field

where_clause: str = '1=1'

HarvestFieldMapUpdate pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "properties": {
    "operation": {
      "enum": [
        "add",
        "remove",
        "update"
      ],
      "title": "Operation",
      "type": "string"
    },
    "model": {
      "title": "Model",
      "type": "string"
    },
    "field_name": {
      "title": "Field Name",
      "type": "string"
    },
    "external_field": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "External Field"
    }
  },
  "required": [
    "operation",
    "model",
    "field_name"
  ],
  "title": "HarvestFieldMapUpdate",
  "type": "object"
}

Fields:

Validators:

Source code in src/pixel_client/models.py
326
327
328
329
330
331
332
333
334
335
336
class HarvestFieldMapUpdate(BaseModel):
    operation: Literal["add", "remove", "update"]
    model: str
    field_name: str
    external_field: str | None = None

    @model_validator(mode="after")
    def validate_model(self) -> Self:
        if self.operation in {"add", "update"} and self.external_field is None:
            raise ValueError("external_field must be defined for add/update operations")
        return self

operation pydantic-field

operation: Literal['add', 'remove', 'update']

model pydantic-field

model: str

field_name pydantic-field

field_name: str

external_field pydantic-field

external_field: str | None = None

validate_model pydantic-validator

validate_model() -> Self
Source code in src/pixel_client/models.py
332
333
334
335
336
@model_validator(mode="after")
def validate_model(self) -> Self:
    if self.operation in {"add", "update"} and self.external_field is None:
        raise ValueError("external_field must be defined for add/update operations")
    return self

FieldMapsUpdateInput pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "$defs": {
    "HarvestFieldMapUpdate": {
      "properties": {
        "operation": {
          "enum": [
            "add",
            "remove",
            "update"
          ],
          "title": "Operation",
          "type": "string"
        },
        "model": {
          "title": "Model",
          "type": "string"
        },
        "field_name": {
          "title": "Field Name",
          "type": "string"
        },
        "external_field": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "External Field"
        }
      },
      "required": [
        "operation",
        "model",
        "field_name"
      ],
      "title": "HarvestFieldMapUpdate",
      "type": "object"
    }
  },
  "properties": {
    "maps": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/HarvestFieldMapUpdate"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Maps"
    },
    "add_extra_fields": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Add Extra Fields"
    },
    "remove_extra_fields": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Remove Extra Fields"
    }
  },
  "title": "FieldMapsUpdateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
339
340
341
342
class FieldMapsUpdateInput(BaseModel):
    maps: list[HarvestFieldMapUpdate] | None = None
    add_extra_fields: list[str] | None = None
    remove_extra_fields: list[str] | None = None

maps pydantic-field

maps: list[HarvestFieldMapUpdate] | None = None

add_extra_fields pydantic-field

add_extra_fields: list[str] | None = None

remove_extra_fields pydantic-field

remove_extra_fields: list[str] | None = None

HarvestServiceUpdateInput pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "$defs": {
    "ApiKey": {
      "description": "Model for API key authentication",
      "properties": {
        "api_key": {
          "format": "password",
          "title": "Api Key",
          "type": "string",
          "writeOnly": true
        },
        "api_key_item_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Api Key Item Id"
        }
      },
      "required": [
        "api_key"
      ],
      "title": "ApiKey",
      "type": "object"
    },
    "Credentials": {
      "description": "Model for credentials authentication",
      "properties": {
        "username": {
          "title": "Username",
          "type": "string"
        },
        "password": {
          "format": "password",
          "title": "Password",
          "type": "string",
          "writeOnly": true
        },
        "token_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Token Url"
        }
      },
      "required": [
        "username",
        "password"
      ],
      "title": "Credentials",
      "type": "object"
    },
    "FieldMapsUpdateInput": {
      "properties": {
        "maps": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/HarvestFieldMapUpdate"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Maps"
        },
        "add_extra_fields": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Add Extra Fields"
        },
        "remove_extra_fields": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Remove Extra Fields"
        }
      },
      "title": "FieldMapsUpdateInput",
      "type": "object"
    },
    "HarvestAuthInfo": {
      "description": "Model for harvest service authentication information.",
      "properties": {
        "credentials": {
          "anyOf": [
            {
              "$ref": "#/$defs/Credentials"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "api_key": {
          "anyOf": [
            {
              "$ref": "#/$defs/ApiKey"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "title": "HarvestAuthInfo",
      "type": "object"
    },
    "HarvestFieldMapUpdate": {
      "properties": {
        "operation": {
          "enum": [
            "add",
            "remove",
            "update"
          ],
          "title": "Operation",
          "type": "string"
        },
        "model": {
          "title": "Model",
          "type": "string"
        },
        "field_name": {
          "title": "Field Name",
          "type": "string"
        },
        "external_field": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "External Field"
        }
      },
      "required": [
        "operation",
        "model",
        "field_name"
      ],
      "title": "HarvestFieldMapUpdate",
      "type": "object"
    }
  },
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Description"
    },
    "url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Url"
    },
    "auth": {
      "anyOf": [
        {
          "$ref": "#/$defs/HarvestAuthInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "where_clause": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Where Clause"
    },
    "field_mappings": {
      "anyOf": [
        {
          "$ref": "#/$defs/FieldMapsUpdateInput"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "title": "HarvestServiceUpdateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
345
346
347
348
349
350
351
class HarvestServiceUpdateInput(BaseModel):
    name: str | None = None
    description: str | None = None
    url: str | None = None
    auth: HarvestAuthInfo | None = None
    where_clause: str | None = None
    field_mappings: FieldMapsUpdateInput | None = None

name pydantic-field

name: str | None = None

description pydantic-field

description: str | None = None

url pydantic-field

url: str | None = None

auth pydantic-field

auth: HarvestAuthInfo | None = None

where_clause pydantic-field

where_clause: str | None = None

field_mappings pydantic-field

field_mappings: FieldMapsUpdateInput | None = None

ArcGISImageServiceWMSOptions pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "properties": {
    "enable": {
      "default": true,
      "title": "Enable",
      "type": "boolean"
    },
    "supported_srids": {
      "anyOf": [
        {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Supported Srids"
    },
    "abstract": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Abstract"
    },
    "keywords": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Keywords"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    }
  },
  "title": "ArcGISImageServiceWMSOptions",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
354
355
356
357
358
359
class ArcGISImageServiceWMSOptions(BaseModel):
    enable: bool = True
    supported_srids: list[int] | None = None
    abstract: str | None = None
    keywords: list[str] | None = None
    title: str | None = None

enable pydantic-field

enable: bool = True

supported_srids pydantic-field

supported_srids: list[int] | None = None

abstract pydantic-field

abstract: str | None = None

keywords pydantic-field

keywords: list[str] | None = None

title pydantic-field

title: str | None = None

ArcGISImageServiceOptions pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "$defs": {
    "ArcGISImageServiceWMSOptions": {
      "properties": {
        "enable": {
          "default": true,
          "title": "Enable",
          "type": "boolean"
        },
        "supported_srids": {
          "anyOf": [
            {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Supported Srids"
        },
        "abstract": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Abstract"
        },
        "keywords": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Keywords"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Title"
        }
      },
      "title": "ArcGISImageServiceWMSOptions",
      "type": "object"
    }
  },
  "properties": {
    "default_service_srid": {
      "title": "Default Service Srid",
      "type": "integer"
    },
    "wms_options": {
      "anyOf": [
        {
          "$ref": "#/$defs/ArcGISImageServiceWMSOptions"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "default_service_srid"
  ],
  "title": "ArcGISImageServiceOptions",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
362
363
364
365
class ArcGISImageServiceOptions(BaseModel):
    # The default service spatial reference, must be defined from the user
    default_service_srid: int
    wms_options: ArcGISImageServiceWMSOptions | None = None

default_service_srid pydantic-field

default_service_srid: int

wms_options pydantic-field

wms_options: ArcGISImageServiceWMSOptions | None = None

ArcGISFeatureServiceImageLayerOptions pydantic-model

Bases: BaseModel

Options for the image layer in an ArcGIS feature service.

Show JSON schema:
{
  "description": "Options for the image layer in an ArcGIS feature service.",
  "properties": {
    "include_fields": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Include Fields"
    },
    "enable_oriented_imagery": {
      "default": false,
      "title": "Enable Oriented Imagery",
      "type": "boolean"
    },
    "enable_images_as_attachments": {
      "default": false,
      "title": "Enable Images As Attachments",
      "type": "boolean"
    },
    "image_processed_type": {
      "default": "blurred",
      "enum": [
        "original",
        "blurred"
      ],
      "title": "Image Processed Type",
      "type": "string"
    }
  },
  "title": "ArcGISFeatureServiceImageLayerOptions",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
368
369
370
371
372
373
374
375
376
class ArcGISFeatureServiceImageLayerOptions(BaseModel):
    """
    Options for the image layer in an ArcGIS feature service.
    """

    include_fields: list[str] | None = None
    enable_oriented_imagery: bool = False
    enable_images_as_attachments: bool = False
    image_processed_type: Literal["original", "blurred"] = "blurred"

include_fields pydantic-field

include_fields: list[str] | None = None

enable_oriented_imagery pydantic-field

enable_oriented_imagery: bool = False

enable_images_as_attachments pydantic-field

enable_images_as_attachments: bool = False

image_processed_type pydantic-field

image_processed_type: Literal["original", "blurred"] = (
    "blurred"
)

ArcGISFeatureServiceProjectLayerOptions pydantic-model

Bases: BaseModel

Options for the project layer in an ArcGIS feature service.

Show JSON schema:
{
  "description": "Options for the project layer in an ArcGIS feature service.",
  "properties": {
    "include_fields": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Include Fields"
    }
  },
  "title": "ArcGISFeatureServiceProjectLayerOptions",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
379
380
381
382
383
384
class ArcGISFeatureServiceProjectLayerOptions(BaseModel):
    """
    Options for the project layer in an ArcGIS feature service.
    """

    include_fields: list[str] | None = None

include_fields pydantic-field

include_fields: list[str] | None = None

ArcGISFeatureServiceOptions pydantic-model

Bases: BaseModel

Options for creating an ArcGIS feature service.

Show JSON schema:
{
  "$defs": {
    "ArcGISFeatureServiceImageLayerOptions": {
      "description": "Options for the image layer in an ArcGIS feature service.",
      "properties": {
        "include_fields": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Include Fields"
        },
        "enable_oriented_imagery": {
          "default": false,
          "title": "Enable Oriented Imagery",
          "type": "boolean"
        },
        "enable_images_as_attachments": {
          "default": false,
          "title": "Enable Images As Attachments",
          "type": "boolean"
        },
        "image_processed_type": {
          "default": "blurred",
          "enum": [
            "original",
            "blurred"
          ],
          "title": "Image Processed Type",
          "type": "string"
        }
      },
      "title": "ArcGISFeatureServiceImageLayerOptions",
      "type": "object"
    },
    "ArcGISFeatureServiceProjectLayerOptions": {
      "description": "Options for the project layer in an ArcGIS feature service.",
      "properties": {
        "include_fields": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Include Fields"
        }
      },
      "title": "ArcGISFeatureServiceProjectLayerOptions",
      "type": "object"
    }
  },
  "description": "Options for creating an ArcGIS feature service.",
  "properties": {
    "image_layer": {
      "$ref": "#/$defs/ArcGISFeatureServiceImageLayerOptions"
    },
    "project_layer": {
      "anyOf": [
        {
          "$ref": "#/$defs/ArcGISFeatureServiceProjectLayerOptions"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "image_layer"
  ],
  "title": "ArcGISFeatureServiceOptions",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
387
388
389
390
391
392
393
class ArcGISFeatureServiceOptions(BaseModel):
    """
    Options for creating an ArcGIS feature service.
    """

    image_layer: ArcGISFeatureServiceImageLayerOptions
    project_layer: ArcGISFeatureServiceProjectLayerOptions | None = None

image_layer pydantic-field

project_layer pydantic-field

project_layer: (
    ArcGISFeatureServiceProjectLayerOptions | None
) = None

ArcgisServiceCreateOptions pydantic-model

Bases: BaseModel

Options for creating an ArcGIS service.

Show JSON schema:
{
  "$defs": {
    "ArcGISFeatureServiceImageLayerOptions": {
      "description": "Options for the image layer in an ArcGIS feature service.",
      "properties": {
        "include_fields": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Include Fields"
        },
        "enable_oriented_imagery": {
          "default": false,
          "title": "Enable Oriented Imagery",
          "type": "boolean"
        },
        "enable_images_as_attachments": {
          "default": false,
          "title": "Enable Images As Attachments",
          "type": "boolean"
        },
        "image_processed_type": {
          "default": "blurred",
          "enum": [
            "original",
            "blurred"
          ],
          "title": "Image Processed Type",
          "type": "string"
        }
      },
      "title": "ArcGISFeatureServiceImageLayerOptions",
      "type": "object"
    },
    "ArcGISFeatureServiceOptions": {
      "description": "Options for creating an ArcGIS feature service.",
      "properties": {
        "image_layer": {
          "$ref": "#/$defs/ArcGISFeatureServiceImageLayerOptions"
        },
        "project_layer": {
          "anyOf": [
            {
              "$ref": "#/$defs/ArcGISFeatureServiceProjectLayerOptions"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "image_layer"
      ],
      "title": "ArcGISFeatureServiceOptions",
      "type": "object"
    },
    "ArcGISFeatureServiceProjectLayerOptions": {
      "description": "Options for the project layer in an ArcGIS feature service.",
      "properties": {
        "include_fields": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Include Fields"
        }
      },
      "title": "ArcGISFeatureServiceProjectLayerOptions",
      "type": "object"
    },
    "ArcGISImageServiceOptions": {
      "properties": {
        "default_service_srid": {
          "title": "Default Service Srid",
          "type": "integer"
        },
        "wms_options": {
          "anyOf": [
            {
              "$ref": "#/$defs/ArcGISImageServiceWMSOptions"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "default_service_srid"
      ],
      "title": "ArcGISImageServiceOptions",
      "type": "object"
    },
    "ArcGISImageServiceWMSOptions": {
      "properties": {
        "enable": {
          "default": true,
          "title": "Enable",
          "type": "boolean"
        },
        "supported_srids": {
          "anyOf": [
            {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Supported Srids"
        },
        "abstract": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Abstract"
        },
        "keywords": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Keywords"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Title"
        }
      },
      "title": "ArcGISImageServiceWMSOptions",
      "type": "object"
    }
  },
  "description": "Options for creating an ArcGIS service.",
  "properties": {
    "gdo_users": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Gdo Users"
    },
    "feature_service_options": {
      "anyOf": [
        {
          "$ref": "#/$defs/ArcGISFeatureServiceOptions"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "image_service_options": {
      "anyOf": [
        {
          "$ref": "#/$defs/ArcGISImageServiceOptions"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "title": "ArcgisServiceCreateOptions",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
396
397
398
399
400
401
402
403
class ArcgisServiceCreateOptions(BaseModel):
    """
    Options for creating an ArcGIS service.
    """

    gdo_users: list[str] | None = None
    feature_service_options: ArcGISFeatureServiceOptions | None = None
    image_service_options: ArcGISImageServiceOptions | None = None

gdo_users pydantic-field

gdo_users: list[str] | None = None

feature_service_options pydantic-field

feature_service_options: (
    ArcGISFeatureServiceOptions | None
) = None

image_service_options pydantic-field

image_service_options: ArcGISImageServiceOptions | None = (
    None
)

ArcgisServiceCreateInput pydantic-model

Bases: BaseModel

Input model for creating a new ArcGIS service.

Show JSON schema:
{
  "$defs": {
    "ArcGISFeatureServiceImageLayerOptions": {
      "description": "Options for the image layer in an ArcGIS feature service.",
      "properties": {
        "include_fields": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Include Fields"
        },
        "enable_oriented_imagery": {
          "default": false,
          "title": "Enable Oriented Imagery",
          "type": "boolean"
        },
        "enable_images_as_attachments": {
          "default": false,
          "title": "Enable Images As Attachments",
          "type": "boolean"
        },
        "image_processed_type": {
          "default": "blurred",
          "enum": [
            "original",
            "blurred"
          ],
          "title": "Image Processed Type",
          "type": "string"
        }
      },
      "title": "ArcGISFeatureServiceImageLayerOptions",
      "type": "object"
    },
    "ArcGISFeatureServiceOptions": {
      "description": "Options for creating an ArcGIS feature service.",
      "properties": {
        "image_layer": {
          "$ref": "#/$defs/ArcGISFeatureServiceImageLayerOptions"
        },
        "project_layer": {
          "anyOf": [
            {
              "$ref": "#/$defs/ArcGISFeatureServiceProjectLayerOptions"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "image_layer"
      ],
      "title": "ArcGISFeatureServiceOptions",
      "type": "object"
    },
    "ArcGISFeatureServiceProjectLayerOptions": {
      "description": "Options for the project layer in an ArcGIS feature service.",
      "properties": {
        "include_fields": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Include Fields"
        }
      },
      "title": "ArcGISFeatureServiceProjectLayerOptions",
      "type": "object"
    },
    "ArcGISImageServiceOptions": {
      "properties": {
        "default_service_srid": {
          "title": "Default Service Srid",
          "type": "integer"
        },
        "wms_options": {
          "anyOf": [
            {
              "$ref": "#/$defs/ArcGISImageServiceWMSOptions"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "default_service_srid"
      ],
      "title": "ArcGISImageServiceOptions",
      "type": "object"
    },
    "ArcGISImageServiceWMSOptions": {
      "properties": {
        "enable": {
          "default": true,
          "title": "Enable",
          "type": "boolean"
        },
        "supported_srids": {
          "anyOf": [
            {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Supported Srids"
        },
        "abstract": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Abstract"
        },
        "keywords": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Keywords"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Title"
        }
      },
      "title": "ArcGISImageServiceWMSOptions",
      "type": "object"
    },
    "ArcgisServiceCreateOptions": {
      "description": "Options for creating an ArcGIS service.",
      "properties": {
        "gdo_users": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Gdo Users"
        },
        "feature_service_options": {
          "anyOf": [
            {
              "$ref": "#/$defs/ArcGISFeatureServiceOptions"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "image_service_options": {
          "anyOf": [
            {
              "$ref": "#/$defs/ArcGISImageServiceOptions"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "title": "ArcgisServiceCreateOptions",
      "type": "object"
    }
  },
  "description": "Input model for creating a new ArcGIS service.",
  "properties": {
    "name": {
      "title": "Name",
      "type": "string"
    },
    "description": {
      "title": "Description",
      "type": "string"
    },
    "data_collection_ids": {
      "items": {
        "type": "integer"
      },
      "minItems": 1,
      "title": "Data Collection Ids",
      "type": "array"
    },
    "options": {
      "$ref": "#/$defs/ArcgisServiceCreateOptions"
    }
  },
  "required": [
    "name",
    "description",
    "data_collection_ids",
    "options"
  ],
  "title": "ArcgisServiceCreateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
406
407
408
409
410
411
412
413
414
class ArcgisServiceCreateInput(BaseModel):
    """
    Input model for creating a new ArcGIS service.
    """

    name: str
    description: str
    data_collection_ids: Annotated[list[int], Len(min_length=1)]
    options: ArcgisServiceCreateOptions

name pydantic-field

name: str

description pydantic-field

description: str

data_collection_ids pydantic-field

data_collection_ids: Annotated[list[int], Len(min_length=1)]

options pydantic-field

ArcgisServiceUpdateInput pydantic-model

Bases: BaseModel

Input model for updating an ArcGIS service.

Show JSON schema:
{
  "$defs": {
    "ArcGISFeatureServiceImageLayerOptions": {
      "description": "Options for the image layer in an ArcGIS feature service.",
      "properties": {
        "include_fields": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Include Fields"
        },
        "enable_oriented_imagery": {
          "default": false,
          "title": "Enable Oriented Imagery",
          "type": "boolean"
        },
        "enable_images_as_attachments": {
          "default": false,
          "title": "Enable Images As Attachments",
          "type": "boolean"
        },
        "image_processed_type": {
          "default": "blurred",
          "enum": [
            "original",
            "blurred"
          ],
          "title": "Image Processed Type",
          "type": "string"
        }
      },
      "title": "ArcGISFeatureServiceImageLayerOptions",
      "type": "object"
    },
    "ArcGISFeatureServiceOptions": {
      "description": "Options for creating an ArcGIS feature service.",
      "properties": {
        "image_layer": {
          "$ref": "#/$defs/ArcGISFeatureServiceImageLayerOptions"
        },
        "project_layer": {
          "anyOf": [
            {
              "$ref": "#/$defs/ArcGISFeatureServiceProjectLayerOptions"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "image_layer"
      ],
      "title": "ArcGISFeatureServiceOptions",
      "type": "object"
    },
    "ArcGISFeatureServiceProjectLayerOptions": {
      "description": "Options for the project layer in an ArcGIS feature service.",
      "properties": {
        "include_fields": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Include Fields"
        }
      },
      "title": "ArcGISFeatureServiceProjectLayerOptions",
      "type": "object"
    },
    "ArcGISImageServiceOptions": {
      "properties": {
        "default_service_srid": {
          "title": "Default Service Srid",
          "type": "integer"
        },
        "wms_options": {
          "anyOf": [
            {
              "$ref": "#/$defs/ArcGISImageServiceWMSOptions"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "default_service_srid"
      ],
      "title": "ArcGISImageServiceOptions",
      "type": "object"
    },
    "ArcGISImageServiceWMSOptions": {
      "properties": {
        "enable": {
          "default": true,
          "title": "Enable",
          "type": "boolean"
        },
        "supported_srids": {
          "anyOf": [
            {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Supported Srids"
        },
        "abstract": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Abstract"
        },
        "keywords": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Keywords"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Title"
        }
      },
      "title": "ArcGISImageServiceWMSOptions",
      "type": "object"
    },
    "ArcgisServiceCreateOptions": {
      "description": "Options for creating an ArcGIS service.",
      "properties": {
        "gdo_users": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Gdo Users"
        },
        "feature_service_options": {
          "anyOf": [
            {
              "$ref": "#/$defs/ArcGISFeatureServiceOptions"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "image_service_options": {
          "anyOf": [
            {
              "$ref": "#/$defs/ArcGISImageServiceOptions"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "title": "ArcgisServiceCreateOptions",
      "type": "object"
    }
  },
  "description": "Input model for updating an ArcGIS service.",
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Description"
    },
    "data_collection_ids": {
      "anyOf": [
        {
          "items": {
            "type": "integer"
          },
          "minItems": 1,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Data Collection Ids"
    },
    "options": {
      "anyOf": [
        {
          "$ref": "#/$defs/ArcgisServiceCreateOptions"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "title": "ArcgisServiceUpdateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
417
418
419
420
421
422
423
424
425
class ArcgisServiceUpdateInput(BaseModel):
    """
    Input model for updating an ArcGIS service.
    """

    name: str | None = None
    description: str | None = None
    data_collection_ids: Annotated[list[int], Len(min_length=1)] | None = None
    options: ArcgisServiceCreateOptions | None = None

name pydantic-field

name: str | None = None

description pydantic-field

description: str | None = None

data_collection_ids pydantic-field

data_collection_ids: (
    Annotated[list[int], Len(min_length=1)] | None
) = None

options pydantic-field

options: ArcgisServiceCreateOptions | None = None

UpdateInputBase pydantic-model

Bases: BaseModel

Base model for updating rasters and images

Show JSON schema:
{
  "description": "Base model for updating rasters and images",
  "properties": {
    "add_tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Add Tags"
    },
    "remove_tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Remove Tags"
    },
    "json_metadata": {
      "anyOf": [
        {
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Json Metadata"
    }
  },
  "title": "UpdateInputBase",
  "type": "object"
}

Fields:

Validators:

Source code in src/pixel_client/models.py
428
429
430
431
432
433
434
435
436
437
438
439
440
441
class UpdateInputBase(BaseModel):
    """
    Base model for updating rasters and images
    """

    add_tags: list[str] | None = None
    remove_tags: list[str] | None = None
    json_metadata: dict[str, str | float | int | None] | None = None

    @model_validator(mode="after")
    def validate_model(self) -> Self:
        if all(getattr(self, field) is None for field in type(self).model_fields):
            raise ValueError("At least one field must be updated")
        return self

add_tags pydantic-field

add_tags: list[str] | None = None

remove_tags pydantic-field

remove_tags: list[str] | None = None

json_metadata pydantic-field

json_metadata: (
    dict[str, str | float | int | None] | None
) = None

validate_model pydantic-validator

validate_model() -> Self
Source code in src/pixel_client/models.py
437
438
439
440
441
@model_validator(mode="after")
def validate_model(self) -> Self:
    if all(getattr(self, field) is None for field in type(self).model_fields):
        raise ValueError("At least one field must be updated")
    return self

ImageUpdateInput pydantic-model

Bases: UpdateInputBase

Input model for updating an image.

Show JSON schema:
{
  "$defs": {
    "ImageMetadataFields": {
      "properties": {
        "fields_type": {
          "const": "image",
          "default": "image",
          "title": "Fields Type",
          "type": "string"
        },
        "image_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Image Type"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "location": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Location"
        },
        "cam_heading": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Heading"
        },
        "cam_pitch": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Pitch"
        },
        "cam_roll": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Roll"
        },
        "hfov": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Hfov"
        },
        "vfov": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Vfov"
        },
        "far_dist": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Far Dist"
        },
        "near_dist": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Near Dist"
        },
        "capture_date": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Capture Date"
        },
        "cam_height": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Height"
        },
        "img_rotation": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Img Rotation"
        },
        "cam_orientation": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cam Orientation"
        },
        "focal_length": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Focal Length"
        },
        "radial": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Radial"
        }
      },
      "title": "ImageMetadataFields",
      "type": "object"
    }
  },
  "description": "Input model for updating an image.",
  "properties": {
    "add_tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Add Tags"
    },
    "remove_tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Remove Tags"
    },
    "json_metadata": {
      "anyOf": [
        {
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Json Metadata"
    },
    "fields": {
      "anyOf": [
        {
          "$ref": "#/$defs/ImageMetadataFields"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "title": "ImageUpdateInput",
  "type": "object"
}

Fields:

Validators:

Source code in src/pixel_client/models.py
444
445
446
447
448
449
class ImageUpdateInput(UpdateInputBase):
    """
    Input model for updating an image.
    """

    fields: ImageMetadataFields | None = None

fields pydantic-field

fields: ImageMetadataFields | None = None

RasterUpdateInput pydantic-model

Bases: UpdateInputBase

Input model for updating a raster.

Show JSON schema:
{
  "$defs": {
    "RasterMetadataFields": {
      "properties": {
        "fields_type": {
          "const": "raster",
          "default": "raster",
          "title": "Fields Type",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "capture_date": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Capture Date"
        }
      },
      "title": "RasterMetadataFields",
      "type": "object"
    }
  },
  "description": "Input model for updating a raster.",
  "properties": {
    "add_tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Add Tags"
    },
    "remove_tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Remove Tags"
    },
    "json_metadata": {
      "anyOf": [
        {
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Json Metadata"
    },
    "fields": {
      "anyOf": [
        {
          "$ref": "#/$defs/RasterMetadataFields"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "title": "RasterUpdateInput",
  "type": "object"
}

Fields:

Validators:

Source code in src/pixel_client/models.py
452
453
454
455
456
457
class RasterUpdateInput(UpdateInputBase):
    """
    Input model for updating a raster.
    """

    fields: RasterMetadataFields | None = None

fields pydantic-field

fields: RasterMetadataFields | None = None

PointCloudUpdateInput pydantic-model

Bases: UpdateInputBase

Input model for updating a point cloud.

Show JSON schema:
{
  "$defs": {
    "PointCloudMetadataFields": {
      "properties": {
        "fields_type": {
          "const": "point_cloud",
          "default": "point_cloud",
          "title": "Fields Type",
          "type": "string"
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "capture_date": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Capture Date"
        }
      },
      "title": "PointCloudMetadataFields",
      "type": "object"
    }
  },
  "description": "Input model for updating a point cloud.",
  "properties": {
    "add_tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Add Tags"
    },
    "remove_tags": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Remove Tags"
    },
    "json_metadata": {
      "anyOf": [
        {
          "additionalProperties": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Json Metadata"
    },
    "fields": {
      "anyOf": [
        {
          "$ref": "#/$defs/PointCloudMetadataFields"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "title": "PointCloudUpdateInput",
  "type": "object"
}

Fields:

Validators:

Source code in src/pixel_client/models.py
460
461
462
463
464
465
class PointCloudUpdateInput(UpdateInputBase):
    """
    Input model for updating a point cloud.
    """

    fields: PointCloudMetadataFields | None = None

fields pydantic-field

fields: PointCloudMetadataFields | None = None

SearchFilterVar

Bases: TypedDict

Source code in src/pixel_client/models.py
472
473
class SearchFilterVar(TypedDict):
    var: str

var instance-attribute

var: str

SortField pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "properties": {
    "field": {
      "title": "Field",
      "type": "string"
    },
    "direction": {
      "default": "asc",
      "enum": [
        "asc",
        "desc"
      ],
      "title": "Direction",
      "type": "string"
    }
  },
  "required": [
    "field"
  ],
  "title": "SortField",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
492
493
494
class SortField(BaseModel):
    field: str
    direction: Literal["asc", "desc"] = "asc"

field pydantic-field

field: str

direction pydantic-field

direction: Literal['asc', 'desc'] = 'asc'

SearchQuery pydantic-model

Bases: BaseModel

Model definition for search queries in Pixel API.

Show JSON schema:
{
  "$defs": {
    "SearchFilterAndExpr": {
      "properties": {
        "and": {
          "items": {
            "anyOf": [
              {
                "additionalProperties": {
                  "maxItems": 2,
                  "minItems": 2,
                  "prefixItems": [
                    {
                      "$ref": "#/$defs/SearchFilterVar"
                    },
                    {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "integer"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "format": "date-time",
                          "type": "string"
                        },
                        {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              },
                              {
                                "type": "number"
                              },
                              {
                                "format": "date-time",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "minItems": 1,
                          "type": "array"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  ],
                  "type": "array"
                },
                "propertyNames": {
                  "enum": [
                    "==",
                    "!=",
                    "<",
                    "<=",
                    ">",
                    ">=",
                    "~",
                    "!~",
                    "contains",
                    "!contains",
                    "in",
                    "!in"
                  ]
                },
                "type": "object"
              },
              {
                "$ref": "#/$defs/SearchFilterAndExpr"
              },
              {
                "$ref": "#/$defs/SearchFilterOrExpr"
              }
            ]
          },
          "title": "And",
          "type": "array"
        }
      },
      "required": [
        "and"
      ],
      "title": "SearchFilterAndExpr",
      "type": "object"
    },
    "SearchFilterOrExpr": {
      "properties": {
        "or": {
          "items": {
            "anyOf": [
              {
                "additionalProperties": {
                  "maxItems": 2,
                  "minItems": 2,
                  "prefixItems": [
                    {
                      "$ref": "#/$defs/SearchFilterVar"
                    },
                    {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "integer"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "format": "date-time",
                          "type": "string"
                        },
                        {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              },
                              {
                                "type": "number"
                              },
                              {
                                "format": "date-time",
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "minItems": 1,
                          "type": "array"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  ],
                  "type": "array"
                },
                "propertyNames": {
                  "enum": [
                    "==",
                    "!=",
                    "<",
                    "<=",
                    ">",
                    ">=",
                    "~",
                    "!~",
                    "contains",
                    "!contains",
                    "in",
                    "!in"
                  ]
                },
                "type": "object"
              },
              {
                "$ref": "#/$defs/SearchFilterAndExpr"
              },
              {
                "$ref": "#/$defs/SearchFilterOrExpr"
              }
            ]
          },
          "title": "Or",
          "type": "array"
        }
      },
      "required": [
        "or"
      ],
      "title": "SearchFilterOrExpr",
      "type": "object"
    },
    "SearchFilterVar": {
      "properties": {
        "var": {
          "title": "Var",
          "type": "string"
        }
      },
      "required": [
        "var"
      ],
      "title": "SearchFilterVar",
      "type": "object"
    },
    "SortField": {
      "properties": {
        "field": {
          "title": "Field",
          "type": "string"
        },
        "direction": {
          "default": "asc",
          "enum": [
            "asc",
            "desc"
          ],
          "title": "Direction",
          "type": "string"
        }
      },
      "required": [
        "field"
      ],
      "title": "SortField",
      "type": "object"
    }
  },
  "description": "Model definition for search queries in Pixel API.",
  "properties": {
    "on": {
      "description": "Type to search on",
      "enum": [
        "images",
        "rasters",
        "point_clouds",
        "projects",
        "data_collections"
      ],
      "title": "On",
      "type": "string"
    },
    "intersects": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A WKT geometry to filter results by intersection, must be in EPSG:4326 (WGS84) coordinates",
      "title": "Intersects"
    },
    "filter": {
      "anyOf": [
        {
          "additionalProperties": {
            "maxItems": 2,
            "minItems": 2,
            "prefixItems": [
              {
                "$ref": "#/$defs/SearchFilterVar"
              },
              {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "integer"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "format": "date-time",
                    "type": "string"
                  },
                  {
                    "items": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "integer"
                        },
                        {
                          "type": "number"
                        },
                        {
                          "format": "date-time",
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "minItems": 1,
                    "type": "array"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            ],
            "type": "array"
          },
          "propertyNames": {
            "enum": [
              "==",
              "!=",
              "<",
              "<=",
              ">",
              ">=",
              "~",
              "!~",
              "contains",
              "!contains",
              "in",
              "!in"
            ]
          },
          "type": "object"
        },
        {
          "$ref": "#/$defs/SearchFilterAndExpr"
        },
        {
          "$ref": "#/$defs/SearchFilterOrExpr"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The filter logic to apply",
      "examples": [
        {
          "or": [
            {
              ">=": [
                {
                  "var": "created_at"
                },
                "2023-01-01T00:00:00Z"
              ]
            },
            {
              "~": [
                {
                  "var": "name"
                },
                "%test%"
              ]
            },
            {
              "and": [
                {
                  ">=": [
                    {
                      "var": "id"
                    },
                    1
                  ]
                },
                {
                  "<=": [
                    {
                      "var": "id"
                    },
                    10
                  ]
                }
              ]
            }
          ]
        }
      ],
      "title": "Filter"
    },
    "search": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "A full text search string to apply",
      "title": "Search"
    },
    "out_fields": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Fields to include in the output",
      "title": "Out Fields"
    },
    "sort": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/SortField"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Fields to sort the results by",
      "title": "Sort"
    },
    "distinct": {
      "default": false,
      "description": "Whether to return distinct results",
      "title": "Distinct",
      "type": "boolean"
    },
    "limit": {
      "default": 100,
      "description": "Maximum number of results to return",
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "description": "Number of results to skip",
      "title": "Offset",
      "type": "integer"
    }
  },
  "required": [
    "on"
  ],
  "title": "SearchQuery",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
class SearchQuery(BaseModel):
    """
    Model definition for search queries in Pixel API."""

    on: SearchOn = Field(description="Type to search on")
    intersects: str | None = Field(
        default=None,
        description="A WKT geometry to filter results by intersection, must be in EPSG:4326 (WGS84) coordinates",
    )
    filter: SearchFilter | None = Field(
        default=None,
        description="The filter logic to apply",
        examples=[
            {
                "or": [
                    {">=": [{"var": "created_at"}, "2023-01-01T00:00:00Z"]},
                    {"~": [{"var": "name"}, "%test%"]},
                    {
                        "and": [
                            {">=": [{"var": "id"}, 1]},
                            {"<=": [{"var": "id"}, 10]},
                        ]
                    },
                ]
            }
        ],
    )
    search: str | None = Field(
        default=None, description="A full text search string to apply"
    )

    out_fields: list[str] | None = Field(
        default=None, description="Fields to include in the output"
    )

    sort: list[SortField] | None = Field(
        default=None, description="Fields to sort the results by"
    )
    distinct: bool = Field(
        default=False, description="Whether to return distinct results"
    )
    limit: int = Field(default=100, description="Maximum number of results to return")
    offset: int = Field(default=0, description="Number of results to skip")

on pydantic-field

Type to search on

intersects pydantic-field

intersects: str | None = None

A WKT geometry to filter results by intersection, must be in EPSG:4326 (WGS84) coordinates

filter pydantic-field

filter: SearchFilter | None = None

The filter logic to apply

search pydantic-field

search: str | None = None

A full text search string to apply

out_fields pydantic-field

out_fields: list[str] | None = None

Fields to include in the output

sort pydantic-field

sort: list[SortField] | None = None

Fields to sort the results by

distinct pydantic-field

distinct: bool = False

Whether to return distinct results

limit pydantic-field

limit: int = 100

Maximum number of results to return

offset pydantic-field

offset: int = 0

Number of results to skip

SearchResults

Bases: TypedDict

Source code in src/pixel_client/models.py
542
543
544
545
class SearchResults(TypedDict):
    count: int
    results: list[dict]
    total_count: int

count instance-attribute

count: int

results instance-attribute

results: list[dict]

total_count instance-attribute

total_count: int