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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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
93
94
95
96
@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
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
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
108
109
110
111
112
113
114
115
@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
118
119
120
121
122
123
124
125
126
127
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
130
131
132
133
134
135
136
137
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
140
141
142
143
144
145
146
147
148
149
150
151
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
154
155
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
158
159
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
162
163
164
165
166
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
169
170
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
173
174
175
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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
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
198
199
200
201
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
204
205
206
207
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
216
217
218
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
221
222
223
224
225
226
227
228
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
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
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
240
241
242
243
244
245
@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
253
254
255
256
257
258
259
260
261
262
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
265
266
267
268
269
270
271
272
273
274
275
276
277
278
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
273
274
275
276
277
278
@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
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
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
290
291
292
293
294
295
@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
298
299
300
301
302
303
304
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
307
308
309
310
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
313
314
315
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
318
319
320
321
322
323
324
325
326
327
328
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
331
332
333
334
335
336
337
338
339
340
341
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
337
338
339
340
341
@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
344
345
346
347
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
350
351
352
353
354
355
356
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
359
360
361
362
363
364
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
367
368
369
370
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
373
374
375
376
377
378
379
380
381
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
384
385
386
387
388
389
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
392
393
394
395
396
397
398
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
401
402
403
404
405
406
407
408
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
411
412
413
414
415
416
417
418
419
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
422
423
424
425
426
427
428
429
430
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
433
434
435
436
437
438
439
440
441
442
443
444
445
446
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
442
443
444
445
446
@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
449
450
451
452
453
454
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
457
458
459
460
461
462
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
465
466
467
468
469
470
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
477
478
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
497
498
499
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
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
540
541
542
543
544
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
547
548
549
550
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

AnalysisTaskStatusEnum

Bases: StrEnum

Source code in src/pixel_client/models.py
554
555
556
557
558
559
560
class AnalysisTaskStatusEnum(StrEnum):
    REVOKED = "REVOKED"
    PENDING = "PENDING"
    SCHEDULED = "SCHEDULED"
    RUNNING = "RUNNING"
    SUCCESS = "SUCCESS"
    FAILED = "FAILED"

REVOKED class-attribute instance-attribute

REVOKED = 'REVOKED'

PENDING class-attribute instance-attribute

PENDING = 'PENDING'

SCHEDULED class-attribute instance-attribute

SCHEDULED = 'SCHEDULED'

RUNNING class-attribute instance-attribute

RUNNING = 'RUNNING'

SUCCESS class-attribute instance-attribute

SUCCESS = 'SUCCESS'

FAILED class-attribute instance-attribute

FAILED = 'FAILED'

AnalysisServiceListParams pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "ids": {
      "anyOf": [
        {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ids"
    },
    "enabled": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Enabled"
    },
    "offset": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Offset"
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    }
  },
  "title": "AnalysisServiceListParams",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
563
564
565
566
567
568
569
570
571
class AnalysisServiceListParams(BaseModel):
    name: str | None = None
    ids: (
        Annotated[list[int] | None, PlainSerializer(_serialize_to_comma_sep_list)]
        | None
    ) = None
    enabled: bool | None = None
    offset: int | None = None
    limit: int | 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

enabled pydantic-field

enabled: bool | None = None

offset pydantic-field

offset: int | None = None

limit pydantic-field

limit: int | None = None

AnalysisServiceCreateUpdateInput pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "properties": {
    "name": {
      "title": "Name",
      "type": "string"
    },
    "module_name": {
      "title": "Module Name",
      "type": "string"
    },
    "enabled": {
      "default": true,
      "title": "Enabled",
      "type": "boolean"
    },
    "config": {
      "additionalProperties": true,
      "title": "Config",
      "type": "object"
    }
  },
  "required": [
    "name",
    "module_name",
    "config"
  ],
  "title": "AnalysisServiceCreateUpdateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
575
576
577
578
579
class AnalysisServiceCreateUpdateInput(BaseModel):
    name: str
    module_name: str
    enabled: bool = True
    config: dict[str, Any]

name pydantic-field

name: str

module_name pydantic-field

module_name: str

enabled pydantic-field

enabled: bool = True

config pydantic-field

config: dict[str, Any]

AnalysisServicePatchInput pydantic-model

Bases: BaseModel

Partial update for an analysis service.

Mirrors backend PatchAnalysisServiceInput: all fields optional, no module_name (module type is fixed once the service is created). The backend deep-merges config; send only the keys you want to change.

Show JSON schema:
{
  "description": "Partial update for an analysis service.\n\nMirrors backend ``PatchAnalysisServiceInput``: all fields optional, no\n``module_name`` (module type is fixed once the service is created). The\nbackend deep-merges ``config``; send only the keys you want to change.",
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "enabled": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Enabled"
    },
    "config": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Config"
    }
  },
  "title": "AnalysisServicePatchInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
582
583
584
585
586
587
588
589
590
591
class AnalysisServicePatchInput(BaseModel):
    """Partial update for an analysis service.

    Mirrors backend ``PatchAnalysisServiceInput``: all fields optional, no
    ``module_name`` (module type is fixed once the service is created). The
    backend deep-merges ``config``; send only the keys you want to change.
    """
    name: str | None = None
    enabled: bool | None = None
    config: dict[str, Any] | None = None

name pydantic-field

name: str | None = None

enabled pydantic-field

enabled: bool | None = None

config pydantic-field

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

AnalysisTaskListParams pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "$defs": {
    "AnalysisTaskStatusEnum": {
      "enum": [
        "REVOKED",
        "PENDING",
        "SCHEDULED",
        "RUNNING",
        "SUCCESS",
        "FAILED"
      ],
      "title": "AnalysisTaskStatusEnum",
      "type": "string"
    }
  },
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "ids": {
      "anyOf": [
        {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ids"
    },
    "status": {
      "anyOf": [
        {
          "$ref": "#/$defs/AnalysisTaskStatusEnum"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "offset": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Offset"
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    }
  },
  "title": "AnalysisTaskListParams",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
594
595
596
597
598
599
600
601
602
class AnalysisTaskListParams(BaseModel):
    name: str | None = None
    ids: (
        Annotated[list[int] | None, PlainSerializer(_serialize_to_comma_sep_list)]
        | None
    ) = None
    status: AnalysisTaskStatusEnum | None = None
    offset: int | None = None
    limit: int | 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

status pydantic-field

status: AnalysisTaskStatusEnum | None = None

offset pydantic-field

offset: int | None = None

limit pydantic-field

limit: int | None = None

AnalysisTaskCreateInput pydantic-model

Bases: BaseModel

Show JSON schema:
{
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "params": {
      "additionalProperties": true,
      "title": "Params",
      "type": "object"
    }
  },
  "required": [
    "params"
  ],
  "title": "AnalysisTaskCreateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
604
605
606
class AnalysisTaskCreateInput(BaseModel):
    name: str | None = None
    params: dict[str, Any]

name pydantic-field

name: str | None = None

params pydantic-field

params: dict[str, Any]