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

ApiKeyGrant module-attribute

A single api key grant: a group to follow, a project role, or an organisation-wide role.

GroupMembershipInput pydantic-model

Bases: BaseModel

A group a new user is added to.

Show JSON schema:
{
  "additionalProperties": false,
  "description": "A group a new user is added to.",
  "properties": {
    "group_id": {
      "title": "Group Id",
      "type": "integer"
    },
    "is_admin": {
      "default": false,
      "title": "Is Admin",
      "type": "boolean"
    }
  },
  "required": [
    "group_id"
  ],
  "title": "GroupMembershipInput",
  "type": "object"
}

Config:

  • extra: forbid

Fields:

Source code in src/pixel_client/models.py
100
101
102
103
104
105
106
class GroupMembershipInput(BaseModel):
    """A group a new user is added to."""

    model_config = ConfigDict(extra="forbid")

    group_id: int
    is_admin: bool = False

model_config class-attribute instance-attribute

model_config = ConfigDict(extra='forbid')

group_id pydantic-field

group_id: int

is_admin pydantic-field

is_admin: bool = False

OIDCUserCreateInput pydantic-model

Bases: BaseModel

Input model for creating a new OIDC user.

Show JSON schema:
{
  "$defs": {
    "GroupMembershipInput": {
      "additionalProperties": false,
      "description": "A group a new user is added to.",
      "properties": {
        "group_id": {
          "title": "Group Id",
          "type": "integer"
        },
        "is_admin": {
          "default": false,
          "title": "Is Admin",
          "type": "boolean"
        }
      },
      "required": [
        "group_id"
      ],
      "title": "GroupMembershipInput",
      "type": "object"
    }
  },
  "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": [
        "viewer",
        "creator",
        "superuser"
      ],
      "title": "User Type",
      "type": "string"
    },
    "groups": {
      "items": {
        "$ref": "#/$defs/GroupMembershipInput"
      },
      "title": "Groups",
      "type": "array"
    }
  },
  "required": [
    "first_name",
    "last_name",
    "email",
    "password",
    "user_type"
  ],
  "title": "OIDCUserCreateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
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: UserType
    groups: list[GroupMembershipInput] = Field(default_factory=list)
    """Groups the user is added to when created. Requires group admin on each."""

    @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: UserType

groups pydantic-field

Groups the user is added to when created. Requires group admin on each.

dump_secret

dump_secret(v: SecretStr) -> str

Serialize the password field to a string.

Source code in src/pixel_client/models.py
121
122
123
124
@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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
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
136
137
138
139
140
141
142
143
@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
146
147
148
149
150
151
152
153
154
155
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
158
159
160
161
162
163
164
165
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
168
169
170
171
172
173
174
175
176
177
178
179
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
182
183
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
186
187
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
190
191
192
193
194
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
197
198
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
201
202
203
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
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
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
226
227
228
229
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
232
233
234
235
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
244
245
246
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
249
250
251
252
253
254
255
256
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
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
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
268
269
270
271
272
273
@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
281
282
283
284
285
286
287
288
289
290
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
293
294
295
296
297
298
299
300
301
302
303
304
305
306
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
301
302
303
304
305
306
@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
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
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
318
319
320
321
322
323
@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
326
327
328
329
330
331
332
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
335
336
337
338
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
341
342
343
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
346
347
348
349
350
351
352
353
354
355
356
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
359
360
361
362
363
364
365
366
367
368
369
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
365
366
367
368
369
@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
372
373
374
375
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
378
379
380
381
382
383
384
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
387
388
389
390
391
392
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
395
396
397
398
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
401
402
403
404
405
406
407
408
409
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
412
413
414
415
416
417
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
420
421
422
423
424
425
426
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
429
430
431
432
433
434
435
436
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"
    },
    "is_public": {
      "default": false,
      "title": "Is Public",
      "type": "boolean"
    }
  },
  "required": [
    "name",
    "description",
    "data_collection_ids",
    "options"
  ],
  "title": "ArcgisServiceCreateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
439
440
441
442
443
444
445
446
447
448
449
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
    is_public: bool = False
    """Allow anonymous access to the service."""

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

is_public pydantic-field

is_public: bool = False

Allow anonymous access to the service.

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
    },
    "is_public": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Is Public"
    }
  },
  "title": "ArcgisServiceUpdateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
452
453
454
455
456
457
458
459
460
461
462
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
    is_public: bool | None = None
    """Allow anonymous access to the service."""

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

is_public pydantic-field

is_public: bool | None = None

Allow anonymous access to the service.

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
465
466
467
468
469
470
471
472
473
474
475
476
477
478
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
474
475
476
477
478
@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
481
482
483
484
485
486
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
489
490
491
492
493
494
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
497
498
499
500
501
502
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
509
510
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
529
530
531
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
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
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
579
580
581
582
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
585
586
587
588
589
590
591
592
593
class AnalysisTaskStatusEnum(StrEnum):
    REVOKED = "REVOKED"
    PENDING = "PENDING"
    SCHEDULED = "SCHEDULED"
    RUNNING = "RUNNING"
    PAUSING = "PAUSING"
    PAUSED = "PAUSED"
    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'

PAUSING class-attribute instance-attribute

PAUSING = 'PAUSING'

PAUSED class-attribute instance-attribute

PAUSED = 'PAUSED'

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
596
597
598
599
600
601
602
603
604
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
607
608
609
610
611
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
614
615
616
617
618
619
620
621
622
623
624
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",
        "PAUSING",
        "PAUSED",
        "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
627
628
629
630
631
632
633
634
635
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
638
639
640
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]

GroupCreateInput pydantic-model

Bases: BaseModel

Input model for creating a group.

Show JSON schema:
{
  "description": "Input model for creating a group.",
  "properties": {
    "name": {
      "title": "Name",
      "type": "string"
    },
    "description": {
      "default": "",
      "title": "Description",
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "title": "GroupCreateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
643
644
645
646
647
class GroupCreateInput(BaseModel):
    """Input model for creating a group."""

    name: str
    description: str = ""

name pydantic-field

name: str

description pydantic-field

description: str = ''

GroupUpdateInput pydantic-model

Bases: BaseModel

Input model for updating a group. Omitted fields are left unchanged.

Show JSON schema:
{
  "description": "Input model for updating a group. Omitted fields are left unchanged.",
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "description": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Description"
    }
  },
  "title": "GroupUpdateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
650
651
652
653
654
class GroupUpdateInput(BaseModel):
    """Input model for updating a group. Omitted fields are left unchanged."""

    name: str | None = None
    description: str | None = None

name pydantic-field

name: str | None = None

description pydantic-field

description: str | None = None

GroupListParams pydantic-model

Bases: BaseModel

Filtering parameters for listing groups.

Show JSON schema:
{
  "description": "Filtering parameters for listing groups.",
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "ids": {
      "anyOf": [
        {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ids"
    },
    "offset": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Offset"
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    }
  },
  "title": "GroupListParams",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
657
658
659
660
661
662
663
664
665
666
class GroupListParams(BaseModel):
    """Filtering parameters for listing groups."""

    name: str | None = None
    ids: (
        Annotated[list[int] | None, PlainSerializer(_serialize_to_comma_sep_list)]
        | 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

offset pydantic-field

offset: int | None = None

limit pydantic-field

limit: int | None = None

GroupMemberInput pydantic-model

Bases: BaseModel

A user to add to a group.

Show JSON schema:
{
  "additionalProperties": false,
  "description": "A user to add to a group.",
  "properties": {
    "user_id": {
      "title": "User Id",
      "type": "integer"
    },
    "is_admin": {
      "default": false,
      "title": "Is Admin",
      "type": "boolean"
    }
  },
  "required": [
    "user_id"
  ],
  "title": "GroupMemberInput",
  "type": "object"
}

Config:

  • extra: forbid

Fields:

Source code in src/pixel_client/models.py
669
670
671
672
673
674
675
class GroupMemberInput(BaseModel):
    """A user to add to a group."""

    model_config = ConfigDict(extra="forbid")

    user_id: int
    is_admin: bool = False

model_config class-attribute instance-attribute

model_config = ConfigDict(extra='forbid')

user_id pydantic-field

user_id: int

is_admin pydantic-field

is_admin: bool = False

UserListParams pydantic-model

Bases: BaseModel

Filtering parameters for listing users.

Show JSON schema:
{
  "description": "Filtering parameters for listing users.",
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "ids": {
      "anyOf": [
        {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ids"
    },
    "offset": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Offset"
    },
    "limit": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Limit"
    }
  },
  "title": "UserListParams",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
678
679
680
681
682
683
684
685
686
687
class UserListParams(BaseModel):
    """Filtering parameters for listing users."""

    name: str | None = None
    ids: (
        Annotated[list[int] | None, PlainSerializer(_serialize_to_comma_sep_list)]
        | 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

offset pydantic-field

offset: int | None = None

limit pydantic-field

limit: int | None = None

ApiKeyGroupGrant pydantic-model

Bases: BaseModel

Lets an api key follow a group: the key gets whatever the group can reach.

Show JSON schema:
{
  "additionalProperties": false,
  "description": "Lets an api key follow a group: the key gets whatever the group can reach.",
  "properties": {
    "group_id": {
      "title": "Group Id",
      "type": "integer"
    }
  },
  "required": [
    "group_id"
  ],
  "title": "ApiKeyGroupGrant",
  "type": "object"
}

Config:

  • extra: forbid

Fields:

Source code in src/pixel_client/models.py
690
691
692
693
694
695
class ApiKeyGroupGrant(BaseModel):
    """Lets an api key follow a group: the key gets whatever the group can reach."""

    model_config = ConfigDict(extra="forbid")

    group_id: int

model_config class-attribute instance-attribute

model_config = ConfigDict(extra='forbid')

group_id pydantic-field

group_id: int

ApiKeyProjectGrant pydantic-model

Bases: BaseModel

Gives an api key a role on a project (and its subprojects).

Show JSON schema:
{
  "additionalProperties": false,
  "description": "Gives an api key a role on a project (and its subprojects).",
  "properties": {
    "project_id": {
      "title": "Project Id",
      "type": "integer"
    },
    "role": {
      "enum": [
        "viewer",
        "editor",
        "admin"
      ],
      "title": "Role",
      "type": "string"
    }
  },
  "required": [
    "project_id",
    "role"
  ],
  "title": "ApiKeyProjectGrant",
  "type": "object"
}

Config:

  • extra: forbid

Fields:

Source code in src/pixel_client/models.py
698
699
700
701
702
703
704
class ApiKeyProjectGrant(BaseModel):
    """Gives an api key a role on a project (and its subprojects)."""

    model_config = ConfigDict(extra="forbid")

    project_id: int
    role: RoleType

model_config class-attribute instance-attribute

model_config = ConfigDict(extra='forbid')

project_id pydantic-field

project_id: int

role pydantic-field

role: RoleType

ApiKeyRootGrant pydantic-model

Bases: BaseModel

Gives an api key an organisation-wide role.

Show JSON schema:
{
  "additionalProperties": false,
  "description": "Gives an api key an organisation-wide role.",
  "properties": {
    "role": {
      "enum": [
        "viewer",
        "creator",
        "superuser"
      ],
      "title": "Role",
      "type": "string"
    }
  },
  "required": [
    "role"
  ],
  "title": "ApiKeyRootGrant",
  "type": "object"
}

Config:

  • extra: forbid

Fields:

  • role (BaseRoleType)
Source code in src/pixel_client/models.py
707
708
709
710
711
712
class ApiKeyRootGrant(BaseModel):
    """Gives an api key an organisation-wide role."""

    model_config = ConfigDict(extra="forbid")

    role: BaseRoleType

model_config class-attribute instance-attribute

model_config = ConfigDict(extra='forbid')

role pydantic-field

role: BaseRoleType

ApiKeyCreateInput pydantic-model

Bases: BaseModel

Input model for creating an api key.

Warning

grants are immutable once the key exists. To change the scope of a key, create a new one and revoke the old one.

Show JSON schema:
{
  "$defs": {
    "ApiKeyGroupGrant": {
      "additionalProperties": false,
      "description": "Lets an api key follow a group: the key gets whatever the group can reach.",
      "properties": {
        "group_id": {
          "title": "Group Id",
          "type": "integer"
        }
      },
      "required": [
        "group_id"
      ],
      "title": "ApiKeyGroupGrant",
      "type": "object"
    },
    "ApiKeyProjectGrant": {
      "additionalProperties": false,
      "description": "Gives an api key a role on a project (and its subprojects).",
      "properties": {
        "project_id": {
          "title": "Project Id",
          "type": "integer"
        },
        "role": {
          "enum": [
            "viewer",
            "editor",
            "admin"
          ],
          "title": "Role",
          "type": "string"
        }
      },
      "required": [
        "project_id",
        "role"
      ],
      "title": "ApiKeyProjectGrant",
      "type": "object"
    },
    "ApiKeyRootGrant": {
      "additionalProperties": false,
      "description": "Gives an api key an organisation-wide role.",
      "properties": {
        "role": {
          "enum": [
            "viewer",
            "creator",
            "superuser"
          ],
          "title": "Role",
          "type": "string"
        }
      },
      "required": [
        "role"
      ],
      "title": "ApiKeyRootGrant",
      "type": "object"
    }
  },
  "description": "Input model for creating an api key.\n\nWarning:\n    `grants` are immutable once the key exists. To change the scope of a\n    key, create a new one and revoke the old one.",
  "properties": {
    "name": {
      "maxLength": 200,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "expires_at": {
      "format": "date-time",
      "title": "Expires At",
      "type": "string"
    },
    "grants": {
      "items": {
        "anyOf": [
          {
            "$ref": "#/$defs/ApiKeyGroupGrant"
          },
          {
            "$ref": "#/$defs/ApiKeyProjectGrant"
          },
          {
            "$ref": "#/$defs/ApiKeyRootGrant"
          }
        ]
      },
      "title": "Grants",
      "type": "array"
    }
  },
  "required": [
    "name",
    "expires_at"
  ],
  "title": "ApiKeyCreateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
719
720
721
722
723
724
725
726
727
728
729
class ApiKeyCreateInput(BaseModel):
    """Input model for creating an api key.

    Warning:
        `grants` are immutable once the key exists. To change the scope of a
        key, create a new one and revoke the old one.
    """

    name: str = Field(min_length=1, max_length=200)
    expires_at: datetime.datetime
    grants: list[ApiKeyGrant] = Field(default_factory=list)

name pydantic-field

name: str

expires_at pydantic-field

expires_at: datetime.datetime

grants pydantic-field

grants: list[ApiKeyGrant]

GeoServiceUserCreateInput pydantic-model

Bases: BaseModel

Input model for creating a geo service user.

Show JSON schema:
{
  "description": "Input model for creating a geo service user.",
  "properties": {
    "username": {
      "pattern": "^[a-z0-9][a-z0-9_.-]{2,63}$",
      "title": "Username",
      "type": "string"
    },
    "description": {
      "default": "",
      "title": "Description",
      "type": "string"
    },
    "password": {
      "anyOf": [
        {
          "format": "password",
          "type": "string",
          "writeOnly": true
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Password"
    }
  },
  "required": [
    "username"
  ],
  "title": "GeoServiceUserCreateInput",
  "type": "object"
}

Fields:

Source code in src/pixel_client/models.py
732
733
734
735
736
737
738
739
740
741
742
class GeoServiceUserCreateInput(BaseModel):
    """Input model for creating a geo service user."""

    username: Annotated[str, Field(pattern=r"^[a-z0-9][a-z0-9_.-]{2,63}$")]
    description: str = ""
    password: SecretStr | None = None

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

username pydantic-field

username: Annotated[
    str, Field(pattern="^[a-z0-9][a-z0-9_.-]{2,63}$")
]

description pydantic-field

description: str = ''

password pydantic-field

password: SecretStr | 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
739
740
741
742
@field_serializer("password", when_used="json")
def dump_secret(self, v: SecretStr | None) -> str | None:
    """Serialize the password field to a string."""
    return v.get_secret_value() if v is not None else None

Resource dataclass

Something access can be granted on. Use one of the subclasses.

Source code in src/pixel_client/models.py
745
746
747
748
749
750
751
752
753
@dataclass(frozen=True)
class Resource:
    """Something access can be granted on. Use one of the subclasses."""

    kind: ClassVar[str]

    def as_dict(self) -> dict:
        """The resource as a plain dict, as it appears in access change results."""
        return {"kind": self.kind, **asdict(self)}

kind class-attribute

kind: str

__init__

__init__() -> None

as_dict

as_dict() -> dict

The resource as a plain dict, as it appears in access change results.

Source code in src/pixel_client/models.py
751
752
753
def as_dict(self) -> dict:
    """The resource as a plain dict, as it appears in access change results."""
    return {"kind": self.kind, **asdict(self)}

ProjectResource dataclass

Bases: Resource

A project. Access granted on a project also applies to its subprojects.

Example

ProjectResource(42)

Source code in src/pixel_client/models.py
756
757
758
759
760
761
762
763
764
765
@dataclass(frozen=True)
class ProjectResource(Resource):
    """A project. Access granted on a project also applies to its subprojects.

    Example:
        `ProjectResource(42)`
    """

    kind: ClassVar[str] = "project"
    id: int

kind class-attribute

kind: str = 'project'

id instance-attribute

id: int

__init__

__init__(id: int) -> None

ArcgisServiceResource dataclass

Bases: Resource

An ArcGIS feature or image service, accessed by geo service users.

Example

ArcgisServiceResource("Image", 7)

Source code in src/pixel_client/models.py
768
769
770
771
772
773
774
775
776
777
778
@dataclass(frozen=True)
class ArcgisServiceResource(Resource):
    """An ArcGIS feature or image service, accessed by geo service users.

    Example:
        `ArcgisServiceResource("Image", 7)`
    """

    kind: ClassVar[str] = "arcgis_service"
    service_type: Literal["Feature", "Image"]
    id: int

kind class-attribute

kind: str = 'arcgis_service'

service_type instance-attribute

service_type: Literal['Feature', 'Image']

id instance-attribute

id: int

__init__

__init__(
    service_type: Literal["Feature", "Image"], id: int
) -> None