pgxn_meta 0.7.0

The PGXN distribution metadata specification
Documentation
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://pgxn.org/meta/v2/base.schema.json",
  "title": "Base Schema",
  "description": "This is the v2 base distribution schema, mixed into other schemas",
  "type": "object",
  "properties": {
    "name": {
      "$ref": "term.schema.json",
      "description": "The name of the package provided by the distribution. This is usually the same as the name of the “main extension” in the contents of the package but **MAY** be completely unrelated. This value will be used in the distribution file name on [PGXN](https://pgxn.org).",
      "examples": ["pgTAP", "vector"]
    },
    "version": {
      "$ref": "semver.schema.json",
      "description": "The version of the distribution to which the metadata structure refers. Its values **MUST** be a [SemVer](https://semver.org/).\n\nAll of the items listed in `contents will be considered to have this version; any references they make to a version, such as the control file, **SHOULD** be compatible with this version."
    },
    "abstract": {
      "description": "A short description of the purpose of the package provided by the distribution.",
      "type": "string",
      "minLength": 1,
      "examples": [
        "Unit testing for PostgreSQL",
        "Open-source vector similarity search for Postgres"
      ]
    },
    "maintainers": { "$ref": "maintainers.schema.json" },
    "license": { "$ref": "license.schema.json" },
    "contents": { "$ref": "contents.schema.json" },
    "meta-spec": { "$ref": "meta-spec.schema.json" },
    "description": {
      "description": "A longer, more complete description of the purpose or intended use of the package provided by the distribution,answering the question “what is this thing and what value is it?”",
      "type": "string",
      "minLength": 1,
      "examples": [
        "pgTAP is a suite of database functions that make it easy to write TAP-emitting unit tests in psql scripts or xUnit-style test functions."
      ]
    },
    "producer": {
      "description": "The **Producer** that created the metadata. There are no defined semantics for this property, but it is traditional to use a string in the form “Software package version 1.23.0”, or the maintainer's name if the metadata was generated by hand.",
      "type": "string",
      "minLength": 1,
      "examples": ["pgxn CLI version 2.0.4"]
    },
    "classifications": { "$ref": "classifications.schema.json" },
    "ignore": { "$ref": "ignore.schema.json" },
    "dependencies": { "$ref": "dependencies.schema.json" },
    "resources": { "$ref": "resources.schema.json" },
    "artifacts": { "$ref": "artifacts.schema.json" }
  },
  "patternProperties": { "^[xX]_.": { "description": "Custom key" } },
  "required": [
    "name",
    "version",
    "abstract",
    "maintainers",
    "license",
    "contents",
    "meta-spec"
  ],
  "examples": [
    {
      "name": "pgTAP",
      "abstract": "Unit testing for PostgreSQL",
      "description": "pgTAP is a suite of database functions that make it easy to write TAP-emitting unit tests in psql scripts or xUnit-style test functions.",
      "version": "0.26.0",
      "maintainers": [
        { "name": "Josh Berkus", "email": "jberkus@pgxn.org" },
        { "name": "David E. Wheeler", "url": "https://pgxn.org/user/theory" }
      ],
      "license": "MIT OR PostgreSQL",
      "dependencies": {
        "postgres": { "version": "8.4" },
        "packages": {
          "run": {
            "requires": {
              "pkg:postgres/plpgsql": 0
            }
          }
        }
      },
      "contents": {
        "extensions": {
          "pgtap": {
            "abstract": "Unit testing for PostgreSQL",
            "sql": "pgtap.sql",
            "control": "pgtap.control"
          }
        }
      },
      "resources": {
        "homepage": "https://pgtap.org",
        "issues": "https://github.com/theory/pgtap/issues",
        "repository": "https://github.com/theory/pgtap",
        "docs": "https://pgtap.org/documentation.html",
        "support": "https://github.com/theory/pgtap",
        "badges": [
          {
            "src": "https://img.shields.io/badge/License-PostgreSQL-blue.svg",
            "alt": "PostgreSQL License",
            "url": "https://www.postgresql.org/about/licence/"
          },
          {
            "src": "https://github.com/theory/pgtap/actions/workflows/test.yml/badge.svg",
            "alt": "Test Status",
            "url": "https://github.com/theory/pgtap/actions/workflows/ci.yml"
          }
        ]
      },
      "producer": "David E. Wheeler",
      "meta-spec": {
        "version": "2.0.0",
        "url": "https://rfcs.pgxn.org/0003-meta-spec-v2.html"
      },
      "classifications": {
        "tags": [
          "testing",
          "unit testing",
          "tap",
          "tddd",
          "test driven database development"
        ],
        "categories": ["Tooling and Admin"]
      }
    }
  ]
}