Save one
Save this asreport.py. The task writes a CSV and returns a download URL:
sales.csv. Anyone with that URL can read
the file until it expires. LazyCloud attaches the task ID for you.
save() uploads the file and returns a SavedArtifact with artifact_id,
task_id, and filename. If the path is a directory, save() zips it first.
Other ways to construct one:
artifact.zip_dir(dir_path) zips a directory so a folder can be saved as one
artifact.
Retrieve one
artifact.public_url(expires=3600) returns a URL that serves the file without
authentication until it expires, so a browser or a webhook can use it.
artifact.exists() and artifact.stat() check and describe the saved file.
Deleting the task that produced an artifact leaves the artifact in place.
Saving from outside the producing container needs an explicit task_id=.... The
dashboard lists, previews, and downloads
them.
Retention
Artifacts expire on the same plan retention window as logs. Free keeps them for one day, Team for 30 days, and Business for 90 days. Complimentary accounts get the Business window. The plan at upload time sets the window, and it counts from the upload.saved.expires_at and the dashboard show the expiry date. Public URLs do not
outlive the artifact, and artifact.delete() removes one sooner. Artifacts bill
as volume storage. See Plans and limits.
uv run lazycloud artifact list, usage, and delete manage artifacts from a
terminal. See storage commands.