Models

These models are used for argument and return value validation. They are based on the pydantic package.

Definitions

class avatars.models.ApiKey[source]

Response model for an API key.

created_at: Annotated[AwareDatetime, Field(title='Created At')] [Required]
expires_at: Annotated[AwareDatetime, Field(title='Expires At')] [Required]
id: Annotated[UUID, Field(title='Id')] [Required]
last_used_at: Annotated[AwareDatetime | None, Field(title='Last Used At')] = None
name: Annotated[str, Field(title='Name')] [Required]
revoked_at: Annotated[AwareDatetime | None, Field(title='Revoked At')] = None
class avatars.models.ApiKeyWithPlaintext[source]

API Key response model that includes the secret for creation.

created_at: Annotated[AwareDatetime, Field(title='Created At')] [Required]
expires_at: Annotated[AwareDatetime, Field(title='Expires At')] [Required]
id: Annotated[UUID, Field(title='Id')] [Required]
last_used_at: Annotated[AwareDatetime | None, Field(title='Last Used At')] = None
name: Annotated[str, Field(title='Name')] [Required]
plaintext: Annotated[str, Field(title='Plaintext')] [Required]
revoked_at: Annotated[AwareDatetime | None, Field(title='Revoked At')] = None
class avatars.models.BulkDeleteRequest[source]

Request model for bulk job deletion.

job_names: Annotated[list[str], Field(max_length=100, title='Job Names')] [Required]
Constraints:
  • max_length = 100

class avatars.models.CompatibilityStatus(*values)[source]
compatible = 'compatible'
incompatible = 'incompatible'
unknown = 'unknown'
class avatars.models.ExpirationDays(*values)[source]

Expiration preset in days (choose from 30/60/120/365/3650)

integer_30 = 30
integer_60 = 60
integer_120 = 120
integer_365 = 365
integer_3650 = 3650
class avatars.models.CreateApiKeyRequest[source]

Request body for creating an API key.

expiration_days: Annotated[ExpirationDays, Field(description='Expiration preset in days (choose from 30/60/120/365/3650)', title='Expiration Days')] [Required]

Expiration preset in days (choose from 30/60/120/365/3650)

name: Annotated[str, Field(description='Human-readable label for the API key', max_length=255, min_length=1, title='Name')] [Required]

Human-readable label for the API key

Constraints:
  • min_length = 1

  • max_length = 255

class avatars.models.CreateApiKeyResponse[source]

Response for API key creation.

api_key: ApiKeyWithPlaintext [Required]
message: Annotated[str, Field(title='Message')] [Required]
class avatars.models.CreditsInfo[source]
credits: Annotated[int | None, Field(title='Credits')] [Required]
is_credit_enabled: Annotated[bool, Field(title='Is Credit Enabled')] [Required]
class avatars.models.EnvironmentInfo[source]

Resolved environment values for the current user.

dataset_expiration_days: Annotated[int, Field(description='Number of days before a dataset expires.', title='Dataset Expiration Days')] [Required]

Number of days before a dataset expires.

max_allowed_dimensions_per_dataset: Annotated[int, Field(description='Maximum number of dimensions (columns) allowed per dataset.', title='Max Allowed Dimensions Per Dataset')] [Required]

Maximum number of dimensions (columns) allowed per dataset.

max_allowed_lines_per_dataset: Annotated[int, Field(description='Maximum number of rows allowed per dataset.', title='Max Allowed Lines Per Dataset')] [Required]

Maximum number of rows allowed per dataset.

class avatars.models.EventLogResponse[source]

A single audit-trail entry visible to the user.

created_at: Annotated[AwareDatetime, Field(title='Created At')] [Required]
id: Annotated[UUID, Field(title='Id')] [Required]
object_id: Annotated[UUID | None, Field(title='Object Id')] = None
object_type: Annotated[str, Field(title='Object Type')] [Required]
verb: Annotated[str, Field(title='Verb')] [Required]
class avatars.models.FeatureScope(*values)[source]
avatar_parameters = 'avatar_parameters'
single_table = 'single_table'
multi_table = 'multi_table'
time_series = 'time_series'
report = 'report'
geolocalization = 'geolocalization'
privacy_assessment = 'privacy_assessment'
differential_privacy = 'differential_privacy'
class avatars.models.FeaturesInfo[source]
feature_scopes: Annotated[list[FeatureScope], Field(title='Feature Scopes')] [Required]
class avatars.models.FileCredentials[source]
access_key_id: Annotated[str, Field(title='Access Key Id')] [Required]
secret_access_key: Annotated[str, Field(title='Secret Access Key')] [Required]
class avatars.models.ForgottenPasswordRequest[source]
email: Annotated[str, Field(title='Email')] [Required]
class avatars.models.JobCreateRequest[source]
depends_on: Annotated[list[str] | None, Field(title='Depends On')] = []
parameters_name: Annotated[str, Field(title='Parameters Name')] [Required]
set_name: Annotated[UUID, Field(title='Set Name')] [Required]
class avatars.models.JobCreateResponse[source]
Location: Annotated[str, Field(title='Location')] [Required]
name: Annotated[str, Field(title='Name')] [Required]
class avatars.models.JobKind(*values)[source]
standard = 'standard'
privacy_metrics = 'privacy_metrics'
signal_metrics = 'signal_metrics'
report = 'report'
advice = 'advice'
class avatars.models.JobStatus(*values)[source]

Status of a job in its lifecycle.

Typical happy-path order:

QUEUED → CREATED → PENDING → FINISHED

Error paths:

PARENT_ERROR (a dependency job failed) ERROR (the job itself failed) LOST (worker disappeared) ORPHANED (worker lost contact before running)

DEFAULT (“”) is the initial value before any status is assigned.

queued = 'queued'
created = 'created'
orphaned = 'orphaned'
parent_error = 'parent_error'
error = 'error'
finished = 'finished'
field_ = ''
pending = 'pending'
lost = 'lost'
class avatars.models.LoginResponse[source]
access_token: Annotated[str, Field(title='Access Token')] [Required]
refresh_token: Annotated[str | None, Field(title='Refresh Token')] = None
token_type: Annotated[str, Field(title='Token Type')] [Required]
class avatars.models.ResetPasswordRequest[source]
email: Annotated[str, Field(title='Email')] [Required]
new_password: Annotated[str, Field(title='New Password')] [Required]
new_password_repeated: Annotated[str, Field(title='New Password Repeated')] [Required]
token: Annotated[UUID, Field(title='Token')] [Required]
class avatars.models.ResourceSetResponse[source]
display_name: Annotated[str, Field(title='Display Name')] [Required]
set_name: Annotated[UUID, Field(title='Set Name')] [Required]
class avatars.models.UserRole(*values)[source]
admin = 'admin'
user = 'user'
class avatars.models.ValidationError[source]
ctx: Annotated[dict[str, Any] | None, Field(title='Context')] = None
input: Annotated[Any | None, Field(title='Input')] = None
loc: Annotated[list[str | int], Field(title='Location')] [Required]
msg: Annotated[str, Field(title='Message')] [Required]
type: Annotated[str, Field(title='Error Type')] [Required]
class avatars.models.GrantType[source]
root: Annotated[str, Field(pattern='^password$', title='Grant Type')] [Required]
Constraints:
  • pattern = ^password$

class avatars.models.Login[source]
client_id: Annotated[str | None, Field(title='Client Id')] = None
client_secret: Annotated[SecretStr | None, Field(title='Client Secret')] = None
grant_type: Annotated[GrantType | None, Field(title='Grant Type')] = None
password: Annotated[SecretStr, Field(title='Password')] [Required]
scope: Annotated[str | None, Field(title='Scope')] = ''
username: Annotated[str, Field(title='Username')] [Required]
class avatars.models.CompatibilityResponse[source]
message: Annotated[str, Field(title='Message')] [Required]
most_recent_compatible_client: Annotated[str | None, Field(title='Most Recent Compatible Client')] = None
status: CompatibilityStatus [Required]
class avatars.models.CreateUser[source]

Create a user with an email.

email: Annotated[str, Field(title='Email')] [Required]
password: Annotated[str | None, Field(title='Password')] = None
role: UserRole | None = UserRole.user
class avatars.models.FileAccess[source]
credentials: FileCredentials [Required]
url: Annotated[str, Field(title='Url')] [Required]
class avatars.models.HTTPValidationError[source]
detail: Annotated[list[ValidationError] | None, Field(title='Detail')] = None
class avatars.models.JobResponse[source]
created_at: Annotated[AwareDatetime, Field(title='Created At')] [Required]
deleted_at: Annotated[AwareDatetime | None, Field(title='Deleted At')] = None
display_name: Annotated[str, Field(title='Display Name')] [Required]
done: Annotated[bool, Field(title='Done')] [Required]
exception: Annotated[str, Field(title='Exception')] [Required]
kind: JobKind [Required]
name: Annotated[str, Field(title='Name')] [Required]
parameters_name: Annotated[str, Field(title='Parameters Name')] [Required]
progress: Annotated[float | None, Field(title='Progress')] [Required]
set_name: Annotated[UUID, Field(title='Set Name')] [Required]
status: JobStatus [Required]
class avatars.models.JobResponseList[source]
jobs: Annotated[list[JobResponse], Field(title='Jobs')] [Required]
class avatars.models.MeUser[source]
email: Annotated[str, Field(title='Email')] [Required]
environment: EnvironmentInfo [Required]
id: Annotated[UUID, Field(title='Id')] [Required]
organization_id: Annotated[UUID, Field(title='Organization Id')] [Required]
role: UserRole | None = UserRole.user
class avatars.models.User[source]
email: Annotated[str, Field(title='Email')] [Required]
id: Annotated[UUID, Field(title='Id')] [Required]
organization_id: Annotated[UUID, Field(title='Organization Id')] [Required]
role: UserRole | None = UserRole.user
class avatars.models.BulkDeleteResponse[source]

Response model for bulk job deletion.

deleted_jobs: Annotated[list[JobResponse], Field(title='Deleted Jobs')] [Required]
failed_jobs: Annotated[list[str], Field(title='Failed Jobs')] [Required]
class avatars.models.Processor(*args, **kwargs)[source]
preprocess(df: DataFrame) DataFrame[source]
postprocess(source: DataFrame, dest: DataFrame) DataFrame[source]