quilt-rs 0.34.0

Rust library for accessing Quilt data packages.
Documentation
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schemas.quiltdata.com/workflows-config-1.1.0",
  "type": "object",
  "required": ["version", "workflows"],
  "additionalProperties": false,
  "definitions": {
    "Version": {
      "type": "string",
      "pattern": "^[1-9][0-9]*(\\.(0|[1-9][0-9]*)){0,2}$",
      "examples": ["1", "1.0"]
    },
    "CompoundVersion": {
      "type": "object",
      "additionalProperties": false,
      "required": ["base"],
      "properties": {
        "base": {
          "$ref": "#/definitions/Version"
        },
        "catalog": {
          "$ref": "#/definitions/Version"
        }
      }
    }
  },
  "properties": {
    "catalog": true,
    "version": {
      "oneOf": [
        {
          "$ref": "#/definitions/Version"
        },
        {
          "$ref": "#/definitions/CompoundVersion"
        }
      ]
    },
    "is_workflow_required": {
      "type": "boolean",
      "description": "If true, users must succeed a workflow in order to push. If false, users may skip workflows altogether.",
      "default": true
    },
    "default_workflow": {
      "type": "string",
      "description": "The workflow to use if the user doesn't specify a workflow."
    },
    "workflows": {
      "type": "object",
      "minProperties": 1,
      "propertyNames": {
        "pattern": "^[A-Za-z_-][A-Za-z0-9_-]*$",
        "maxLength": 64
      },
      "additionalProperties": {
        "type": "object",
        "required": ["name"],
        "additionalProperties": false,
        "properties": {
          "catalog": true,
          "name": {
            "type": "string",
            "description": "The workflow name displayed by Quilt in the Python API or web UI.",
            "minLength": 1
          },
          "description": {
            "description": "The workflow description displayed by Quilt in the Python API or web UI.",
            "type": "string",
            "minLength": 1
          },
          "handle_pattern": {
            "type": "string",
            "format": "regex",
            "description": "Regular expression to validate package handle",
            "examples": [
              "^instruments/(production|staging)$",
              "^(employee1|employee2)/instruments$"
            ]
          },
          "metadata_schema": {
            "type": "string",
            "description": "JSON Schema $id to validate package metadata against."
          },
          "entries_schema": {
            "type": "string",
            "description": "JSON Schema $id to validate package entries against."
          },
          "is_message_required": {
            "type": "boolean",
            "description": "If true, the user must provide a commit message.",
            "default": false
          }
        }
      }
    },
    "schemas": {
      "type": "object",
      "description": "JSON Schemas for validating user-supplied metadata and/or package entries.",
      "minProperties": 1,
      "additionalProperties": {
        "type": "object",
        "required": ["url"],
        "properties": {
          "url": {
            "type": "string",
            "description": "URL from where the schema will be obtained.",
            "format": "uri"
          }
        }
      }
    },
    "successors": {
      "type": "object",
      "description": "Buckets usable as destination with \"Push to Bucket\" in web UI.",
      "examples": [
        {
          "s3://bucket1": {
            "title": "Bucket 1 Title",
            "copy_data": true
          },
          "s3://bucket2": {
            "title": "Bucket 2 Title",
            "copy_data": false
          },
          "s3://bucket3": {
            "title": "Bucket 3 Title (`copy_data` defaults to `true`)"
          }
        }
      ],
      "minProperties": 1,
      "propertyNames": {
        "format": "uri"
      },
      "additionalProperties": {
        "type": "object",
        "required": ["title"],
        "properties": {
          "title": {
            "type": "string",
            "minLength": 1
          },
          "copy_data": {
            "type": "boolean",
            "default": true,
            "description": "If true, all package entries will be copied to the destination bucket. If false, all entries will remain in their current locations."
          }
        }
      }
    }
  }
}