Skip to main content

QUERY AND MANAGE DATA

Prerequisites: Swamp installed, a repository with at least one model that has produced data. If you need to run a model first, see Create and Run a Model.

List data for a model

swamp data list my-greeter
Data for my-greeter (command/shell)

file (1 item):
  log  v2  text/plain  21B  2026-07-01

resource (1 item):
  result  v2  application/json  135B  2026-07-01

report (2 items):
  report-swamp-method-summary  v2  text/markdown  476B  2026-07-01
  report-swamp-method-summary-json  v2  application/json  2.6KB  2026-07-01

Retrieve a specific artifact

swamp data get my-greeter result --json
{
  "content": {
    "exitCode": 0,
    "command": "echo Hello from the swamp!",
    "stdout": "Hello from the swamp!",
    "stderr": ""
  }
}

To retrieve a previous version, add --version:

swamp data get my-greeter result --version 1

View all versions of an artifact

swamp data versions my-greeter result
{
  "dataName": "result",
  "modelName": "my-greeter",
  "versions": [
    {
      "version": 2,
      "createdAt": "2026-07-01T21:37:36.721Z",
      "size": 135,
      "isLatest": true
    },
    {
      "version": 1,
      "createdAt": "2026-07-01T21:37:01.549Z",
      "size": 153,
      "isLatest": false
    }
  ],
  "total": 2
}

Query across models with CEL

To find all data from a specific model:

swamp data query 'modelName == "my-greeter"'
┌────────┬────────────┬──────────┬──────────┬─────────┬──────┐
│ name   │ modelName  │ specName │ dataType │ version │ size │
├────────┼────────────┼──────────┼──────────┼─────────┼──────┤
│ result │ my-greeter │ result   │ resource │ 2       │ 135B │
├────────┼────────────┼──────────┼──────────┼─────────┼──────┤
│ log    │ my-greeter │ log      │ file     │ 2       │ 21B  │
└────────┴────────────┴──────────┴──────────┴─────────┴──────┘

To project specific fields, use --select:

swamp data query 'true' --select 'modelName + ": " + name'

For CEL expression syntax, see the CEL expressions reference. For how the data layer works, see The Data Layer.

Launch the interactive query TUI

Run swamp data query with no predicate to open the interactive browser. It shows all data in the repository with filtering and navigation.

Rename a data artifact

swamp data rename my-greeter old-name new-name

Renaming sets up a forwarding pointer so existing references to the old name continue to resolve.

Delete data

Preview what will be removed with --dry-run:

swamp data delete my-greeter result --dry-run

Then remove:

swamp data delete my-greeter result

Run garbage collection

To preview what garbage collection will clean up:

swamp data gc --dry-run
GC dry run: would delete 0 expired items, would reclaim 0 excess versions (0 bytes)

To run it:

swamp data gc

Garbage collection removes expired data and excess versions beyond each artifact's configured retention count.