nat.plugins.eval.utils.output_uploader#

Attributes#

Classes#

OutputUploader

Run custom scripts and upload evaluation outputs using the configured s3

Functions#

Module Contents#

logger#
S3_UPLOAD_INSTALL_HINT = 'S3 output upload requires optional dependencies that are not installed. Install with: uv pip...#
_load_s3_upload_dependencies()#
class OutputUploader(
output_config: nat.data_models.evaluate_config.EvalOutputConfig,
job_id: str | None = None,
)#

Run custom scripts and upload evaluation outputs using the configured s3 credentials.

output_config#
_s3_client = None#
job_id = None#
property s3_config#
async _upload_file(s3_client, bucket, s3_key, local_path, pbar)#
async upload_directory()#

Upload the contents of the local output directory to the remote S3 bucket in parallel.

run_custom_scripts()#

Run custom Python scripts defined in the EvalOutputConfig. Each script is run with its kwargs passed as command-line arguments. The output directory is passed as the first argument.