Types

DearDiary.UserType
User <: ResultType

A struct that represents a user.

Fields

  • id::Int64: The ID of the user.
  • first_name::String: The first name of the user.
  • last_name::String: The last name of the user.
  • username::String: The username of the user.
  • password::String: The password of the user. This is a hashed version of the password, not the plain text password.
  • created_date::DateTime: The date and time the user was created.
  • is_admin::Bool: Whether the user is an administrator.
source
DearDiary.UserPermissionType
UserPermission <: ResultType

A struct representing a user's permissions for a specific project.

Fields

  • id::Int64: The unique identifier for the user permission record.
  • user_id::Int64: The ID of the user.
  • project_id::Int64: The ID of the project.
  • create_permission::Bool: Permission to create resources.
  • read_permission::Bool: Permission to read resources.
  • update_permission::Bool: Permission to update resources.
  • delete_permission::Bool: Permission to delete resources.
source
DearDiary.ProjectType
Project <: ResultType

A struct representing a project with its details.

Fields

  • id::Int64: The ID of the project.
  • name::String: The name of the project.
  • description::String: A brief description of the project.
  • created_date::DateTime: The date and time the project was created.
source
DearDiary.ExperimentType
Experiment <: ResultType

A struct representing an experiment within a project.

Fields

  • id::Int64: The unique identifier of the experiment.
  • project_id::Int64: The identifier of the project to which the experiment belongs.
  • status_id::Int64: The status of the experiment.
  • name::String: The name of the experiment.
  • description::String: A description of the experiment.
  • created_date::DateTime: The date and time when the experiment was created.
  • end_date::Optional{DateTime}: The date and time when the experiment ended, or nothing if it is still ongoing.
source
DearDiary.IterationType
Iteration <: ResultType

A struct representing an iteration within an experiment.

Fields

  • id::Int64: The unique identifier of the iteration.
  • experiment_id::Int64: The identifier of the experiment to which the iteration belongs.
  • notes::String: Notes associated with the iteration.
  • created_date::DateTime: The date and time when the iteration was created.
  • end_date::Optional{DateTime}: The date and time when the iteration ended, or nothing if it is still ongoing.
  • parent_iteration_id::Optional{Int64}: The identifier of the parent Iteration when this iteration is a child run (e.g. one trial in an HPO sweep, one fold in a nested CV, one worker in a distributed run). nothing for top-level iterations.
  • status_id::Int64: The current lifecycle IterationStatusRUNNING while the iteration is in flight, then SUCCEEDED, FAILED, or KILLED once it terminates.
  • error_message::String: Captured exception text when status_id is FAILED. Empty otherwise.
  • julia_version::String: string(VERSION) captured by snapshot_environment!. Empty when no snapshot has been taken.
  • git_sha::String: HEAD commit SHA captured by snapshot_environment!. Empty when the iteration ran outside a git working tree or no snapshot was taken.
  • git_dirty::Bool: true when the working tree had uncommitted changes at snapshot time.
  • entrypoint::String: PROGRAM_FILE captured by snapshot_environment!. Empty for REPL-driven runs.
  • project_toml::String: Verbatim contents of the active Project.toml at snapshot time.
  • manifest_toml::String: Verbatim contents of the active Manifest.toml at snapshot time. This is the bit-exact dependency tree that restore reconstructs.
source
DearDiary.ParameterType
Parameter <: ResultType

A struct representing a parameter with its details.

Fields

  • id::Int64: The ID of the parameter.
  • iteration_id::Int64: The ID of the iteration this parameter belongs to.
  • key::String: The key/name of the parameter.
  • value::String: The value of the parameter.
source
DearDiary.MetricType
Metric <: ResultType

A struct representing a metric value logged against an Iteration. Repeated logs of the same key form a series indexed by step and timestamped by recorded_at, so a training script can record a loss curve over many epochs.

Fields

  • id::Int64: The ID of the metric.
  • iteration_id::Int64: The ID of the iteration this metric belongs to.
  • key::String: The key/name of the metric (e.g. "loss", "accuracy").
  • value::Float64: The recorded value.
  • step::Int64: Position in the time series for this (iteration_id, key). Defaults to max(step) + 1 server-side when not supplied by the caller.
  • recorded_at::DateTime: When the value was captured. Defaults to the server clock when not supplied by the caller.
source
DearDiary.ResourceType
Resource <: ResultType

A struct representing a resource associated with an experiment.

Fields

  • id::Int64: The ID of the resource.
  • experiment_id::Int64: The ID of the experiment this resource belongs to.
  • name::String: The name of the resource.
  • description::String: A description of the resource.
  • data::Optional{Array{UInt8,1}}: The binary data of the resource. Populated for the SQLite backend (legacy inline storage); nothing for rows whose canonical bytes live in an external backend (filesystem, S3) and are fetched on demand via the trait.
  • created_date::DateTime: The date and time when the resource was created.
  • updated_date::Optional{DateTime}: The date and time when the resource was last updated.
  • backend::String: Short backend identifier ("sqlite", "filesystem", "s3"). Drives dispatch on the AbstractArtifactStore trait.
  • uri::String: Stable pointer at the canonical bytes ("file:///...", "s3://..."). Empty string when backend == "sqlite" (the bytes are inline in data).
  • size_bytes::Int64: Exact byte count of the artifact. Surfaced in list endpoints without materialising the BLOB.
  • content_hash::String: Lower-case sha256 hex digest of the bytes. Empty string for pre-phase-1 rows that have not yet been re-hashed by the backfill pass.
source
DearDiary.ModelType
Model <: ResultType

A struct representing a registered model in the project-scoped model registry. A Model is the named container under which one or more ModelVersion checkpoints are recorded.

Fields

  • id::Int64: The unique identifier of the model.
  • project_id::Int64: The identifier of the Project that owns the model.
  • name::String: The registry-unique name of the model (unique per project).
  • description::String: A free-form description of the model.
  • created_date::DateTime: The date and time when the model was registered.
  • updated_date::Optional{DateTime}: The date and time of the most recent update, or nothing if the record has never been updated.
source
DearDiary.ModelVersionType
ModelVersion <: ResultType

A struct representing a concrete checkpoint of a registered Model. Each version is produced by a specific Iteration and may point at an artifact Resource that stores the serialised bytes.

Fields

  • id::Int64: The unique identifier of the model version.
  • model_id::Int64: The identifier of the parent Model.
  • version::Int64: The per-model monotonically-increasing version number, assigned by the service layer at registration time.
  • iteration_id::Int64: The identifier of the Iteration that produced this checkpoint, recording lineage from training run to registered artifact.
  • resource_id::Optional{Int64}: The identifier of the Resource that holds the serialised artifact, or nothing when the registration predates the upload.
  • stage_id::Int64: The lifecycle Stage the version currently occupies.
  • description::String: A free-form description of the version (e.g. training notes).
  • created_date::DateTime: The date and time when the version was registered.
  • updated_date::Optional{DateTime}: The date and time of the most recent update, or nothing if the record has never been updated.
source
DearDiary.ClientType
Client

Handle for talking to a running DearDiary REST API. Constructed via connect. The token, expiry, and cached user are mutable so refresh_token! and reauthentication do not require rebuilding the client.

Fields

  • base_url::String: Base URL of the server (e.g. "http://127.0.0.1:9000"), without trailing slash.
  • token::Optional{String}: Bearer token, or nothing when the server runs with auth disabled.
  • expires_at::Optional{Int}: Unix epoch seconds at which the token expires.
  • user::Optional{UserResponse}: The signed-in user, if known.
source
DearDiary.ClientErrorType
ClientError <: Exception

Raised by Client methods when the server returns a non-2xx status.

Fields

  • status::Int: The HTTP status code.
  • code::String: The stable error code from the response body ("NOT_FOUND", "CONFLICT", …), or "UNKNOWN" when the body is unparseable.
  • message::String: Human-readable description from the response body.
source