chariot.tracker package

Submodules

chariot.tracker.models module

class chariot.tracker.models.ExternalTrackerInput(*, project_id: str, model_id: str, inference_id: str, ts: str, sequence_number: int = 0)[source]

Bases: BaseModel

inference_id: str
model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_id: str
project_id: str
sequence_number: int
ts: str
class chariot.tracker.models.LatLongPoint(*, label: str, score: float, covariance: list[list[float]] = <factory>, id: str, latitude: float, longitude: float)[source]

Bases: Measurement

latitude: float
longitude: float
model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod validate_covariance(v)[source]
class chariot.tracker.models.Measurement(*, label: str, score: float, covariance: list[list[float]] = <factory>, id: str)[source]

Bases: BaseModel

covariance: list[list[float]]
id: str
label: str
model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

score: float
class chariot.tracker.models.NewCreateTrackerRequest(*, project_id: str, kind: TrackerKind, max_missing_updates: int, min_lifetime_before_active: int, assignment_function: TrackerAssignmentFunction, assignment_threshold: float)[source]

Bases: BaseModel

assignment_function: TrackerAssignmentFunction
assignment_threshold: float
kind: TrackerKind
max_missing_updates: int
min_lifetime_before_active: int
model_config: ClassVar[ConfigDict] = {'protected_namespaces': (), 'use_enum_values': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

project_id: str
class chariot.tracker.models.NewUpdateTrackerRequest(*, tracker_id: str, external_input: ~chariot.tracker.models.ExternalTrackerInput, points_unitless: list[~chariot.tracker.models.UnitlessPoint] = <factory>, points_lat_long: list[~chariot.tracker.models.LatLongPoint] = <factory>, points_utm: list[~chariot.tracker.models.UTMPoint] = <factory>, boxes_unitless: list[~chariot.tracker.models.UnitlessBox] = <factory>)[source]

Bases: BaseModel

boxes_unitless: list[UnitlessBox]
external_input: ExternalTrackerInput
model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

points_lat_long: list[LatLongPoint]
points_unitless: list[UnitlessPoint]
points_utm: list[UTMPoint]
tracker_id: str
class chariot.tracker.models.Tracker(*, tracker_id: str, kind: TrackerKind, max_missing_updates: int, min_lifetime_before_active: int, assignment_function: TrackerAssignmentFunction, assignment_threshold: float)[source]

Bases: BaseModel

assignment_function: TrackerAssignmentFunction
assignment_threshold: float
kind: TrackerKind
max_missing_updates: int
min_lifetime_before_active: int
model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

tracker_id: str
class chariot.tracker.models.TrackerAssignmentFunction(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: str, Enum

EUCLIDEAN = 'euclidean'
HAVERSINE = 'haversine'
INTERSECTION_OVER_UNION = 'intersection_over_union'
class chariot.tracker.models.TrackerKind(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: str, Enum

BOX_UNITLESS = 'box_unitless'
POINT_LAT_LONG = 'point_latitude_longitude'
POINT_UNITLESS = 'point_unitless'
POINT_UTM = 'point_utm'
class chariot.tracker.models.UTMPoint(*, label: str, score: float, covariance: list[list[float]] = <factory>, id: str, northing: float, easting: float, zone: str)[source]

Bases: Measurement

easting: float
model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

northing: float
classmethod validate_covariance(v)[source]
zone: str
class chariot.tracker.models.UnitlessBox(*, label: str, score: float, covariance: list[list[float]] = <factory>, id: str, x: float, y: float, w: float, h: float)[source]

Bases: Measurement

h: float
model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod validate_covariance(v)[source]
w: float
x: float
y: float
class chariot.tracker.models.UnitlessPoint(*, label: str, score: float, covariance: list[list[float]] = <factory>, id: str, x: float, y: float)[source]

Bases: Measurement

model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod validate_covariance(v)[source]
x: float
y: float

chariot.tracker.tracker module

chariot.tracker.tracker.create_tracker(request_body: NewCreateTrackerRequest) Tracker | None[source]

Create a new tracker.

Parameters:

request_body (NewCreateTrackerRequest) – The create tracker specification.

Returns:

The tracker.

Return type:

Optional[models.Tracker]

chariot.tracker.tracker.delete_tracker(tracker_id: str)[source]

Delete an existing tracker.

Parameters:

tracker_id (str) – The tracker id.

chariot.tracker.tracker.get_tracker(tracker_id: str) Tracker | None[source]

Get an existing tracker.

Parameters:

tracker_id (str) – The tracker id.

Returns:

The tracker.

Return type:

Optional[models.Tracker]

chariot.tracker.tracker.update_tracker(request_body: NewUpdateTrackerRequest)[source]

Update an existing tracker.

Parameters:

request_body (NewUpdateTrackerRequest) – The update tracker specification.

Module contents