@dpkit/core
Version:
Fast TypeScript data management framework built on top of the Data Package standard and Polars DataFrames
1,404 lines (1,403 loc) • 78.9 kB
JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Data Package",
"type": "object",
"required": ["resources"],
"properties": {
"$schema": {
"default": "https://datapackage.org/profiles/1.0/datapackage.json",
"propertyOrder": 10,
"title": "Profile",
"type": "string"
},
"name": {
"propertyOrder": 20,
"title": "Name",
"type": "string"
},
"id": {
"propertyOrder": 30,
"title": "ID",
"type": "string"
},
"title": {
"propertyOrder": 40,
"title": "Title",
"type": "string"
},
"description": {
"propertyOrder": 50,
"format": "textarea",
"title": "Description",
"type": "string"
},
"homepage": {
"propertyOrder": 60,
"title": "Home Page",
"type": "string",
"format": "uri"
},
"version": {
"propertyOrder": 65,
"title": "Version",
"type": "string"
},
"created": {
"propertyOrder": 70,
"title": "Created",
"type": "string",
"format": "date-time"
},
"contributors": {
"propertyOrder": 80,
"title": "Contributors",
"type": "array",
"minItems": 1,
"items": {
"title": "Contributor",
"properties": {
"title": {
"title": "Title",
"type": "string"
},
"path": {
"title": "Path",
"type": "string",
"pattern": "^((?=[^./~])(?!file:)((?!\\/\\.\\.\\/)(?!\\\\)(?!:\\/\\/).)*|(http|ftp)s?:\\/\\/.*)$"
},
"email": {
"title": "Email",
"type": "string",
"format": "email"
},
"givenName": {
"type": "string"
},
"familyName": {
"type": "string"
},
"organization": {
"title": "Organization",
"type": "string"
},
"roles": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
},
"minProperties": 1
}
},
"keywords": {
"propertyOrder": 90,
"title": "Keywords",
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"image": {
"propertyOrder": 100,
"title": "Image",
"type": "string"
},
"licenses": {
"propertyOrder": 110,
"title": "Licenses",
"type": "array",
"minItems": 1,
"items": {
"title": "License",
"type": "object",
"anyOf": [
{
"required": ["name"]
},
{
"required": ["path"]
}
],
"properties": {
"name": {
"title": "Open Definition license identifier",
"type": "string",
"pattern": "^([-a-zA-Z0-9._])+$"
},
"path": {
"title": "Path",
"type": "string",
"pattern": "^((?=[^./~])(?!file:)((?!\\/\\.\\.\\/)(?!\\\\)(?!:\\/\\/).)*|(http|ftp)s?:\\/\\/.*)$"
},
"title": {
"title": "Title",
"type": "string"
}
}
}
},
"resources": {
"propertyOrder": 120,
"title": "Data Resources",
"type": "array",
"minItems": 1,
"items": {
"title": "Data Resource",
"type": "object",
"oneOf": [
{
"required": ["name", "data"]
},
{
"required": ["name", "path"]
}
],
"properties": {
"$schema": {
"default": "https://datapackage.org/profiles/1.0/dataresource.json",
"propertyOrder": 10,
"title": "Profile",
"type": "string"
},
"name": {
"propertyOrder": 20,
"title": "Name",
"type": "string"
},
"path": {
"propertyOrder": 30,
"title": "Path",
"oneOf": [
{
"title": "Path",
"type": "string",
"pattern": "^((?=[^./~])(?!file:)((?!\\/\\.\\.\\/)(?!\\\\)(?!:\\/\\/).)*|(http|ftp)s?:\\/\\/.*)$"
},
{
"type": "array",
"minItems": 1,
"items": {
"title": "Path",
"type": "string",
"pattern": "^((?=[^./~])(?!file:)((?!\\/\\.\\.\\/)(?!\\\\)(?!:\\/\\/).)*|(http|ftp)s?:\\/\\/.*)$"
}
}
]
},
"data": {
"propertyOrder": 230,
"title": "Data"
},
"type": {
"propertyOrder": 235,
"type": "string",
"enum": ["table"]
},
"title": {
"title": "Title",
"type": "string",
"propertyOrder": 50
},
"description": {
"propertyOrder": 60,
"format": "textarea",
"title": "Description",
"type": "string"
},
"homepage": {
"propertyOrder": 70,
"title": "Home Page",
"type": "string",
"format": "uri"
},
"sources": {
"propertyOrder": 140,
"options": {
"hidden": true
},
"title": "Sources",
"type": "array",
"minItems": 0,
"items": {
"title": "Source",
"type": "object",
"minProperties": 1,
"properties": {
"title": {
"title": "Title",
"type": "string"
},
"path": {
"title": "Path",
"type": "string",
"pattern": "^((?=[^./~])(?!file:)((?!\\/\\.\\.\\/)(?!\\\\)(?!:\\/\\/).)*|(http|ftp)s?:\\/\\/.*)$"
},
"email": {
"title": "Email",
"type": "string",
"format": "email"
},
"version": {
"type": "string"
}
}
}
},
"licenses": {
"propertyOrder": 150,
"options": {
"hidden": true
},
"title": "Licenses",
"type": "array",
"minItems": 1,
"items": {
"title": "License",
"type": "object",
"anyOf": [
{
"required": ["name"]
},
{
"required": ["path"]
}
],
"properties": {
"name": {
"title": "Open Definition license identifier",
"type": "string",
"pattern": "^([-a-zA-Z0-9._])+$"
},
"path": {
"title": "Path",
"type": "string",
"pattern": "^((?=[^./~])(?!file:)((?!\\/\\.\\.\\/)(?!\\\\)(?!:\\/\\/).)*|(http|ftp)s?:\\/\\/.*)$"
},
"title": {
"title": "Title",
"type": "string"
}
}
}
},
"format": {
"propertyOrder": 80,
"title": "Format",
"type": "string"
},
"mediatype": {
"propertyOrder": 90,
"title": "Media Type",
"type": "string",
"pattern": "^(.+)/(.+)$"
},
"encoding": {
"propertyOrder": 100,
"title": "Encoding",
"type": "string",
"default": "utf-8"
},
"bytes": {
"propertyOrder": 110,
"options": {
"hidden": true
},
"title": "Bytes",
"type": "integer"
},
"hash": {
"propertyOrder": 120,
"options": {
"hidden": true
},
"title": "Hash",
"type": "string",
"pattern": "^([^:]+:[a-fA-F0-9]+|[a-fA-F0-9]{32}|)$"
},
"dialect": {
"propertyOrder": 130,
"title": "Table Dialect",
"type": "object",
"properties": {
"$schema": {
"default": "https://datapackage.org/profiles/1.0/tabledialect.json",
"propertyOrder": 10,
"title": "Profile",
"type": "string"
},
"header": {
"title": "Header",
"type": "boolean",
"default": true
},
"headerRows": {
"type": "array",
"default": [1],
"items": {
"type": "integer",
"minimum": 1
}
},
"headerJoin": {
"type": "string",
"default": " "
},
"commentRows": {
"type": "array",
"default": [1],
"items": {
"type": "integer",
"minimum": 1
}
},
"commentChar": {
"title": "Comment Character",
"type": "string"
},
"delimiter": {
"title": "Delimiter",
"type": "string",
"default": ","
},
"lineTerminator": {
"title": "Line Terminator",
"type": "string",
"default": "\r\n"
},
"quoteChar": {
"title": "Quote Character",
"type": "string",
"default": "\""
},
"doubleQuote": {
"title": "Double Quote",
"type": "boolean",
"default": true
},
"escapeChar": {
"title": "Escape Character",
"type": "string"
},
"nullSequence": {
"title": "Null Sequence",
"type": "string"
},
"skipInitialSpace": {
"title": "Skip Initial Space",
"type": "boolean",
"default": false
},
"property": {
"type": "string"
},
"itemType": {
"type": "string",
"enum": ["array", "object"]
},
"itemKeys": {
"type": "array",
"items": {
"type": "string"
}
},
"sheetNumber": {
"type": "integer",
"minimum": 1
},
"sheetName": {
"type": "string"
},
"table": {
"type": "string"
}
}
},
"schema": {
"propertyOrder": 140,
"title": "Table Schema",
"type": ["string", "object"],
"required": ["fields"],
"properties": {
"$schema": {
"default": "https://datapackage.org/profiles/1.0/tableschema.json",
"propertyOrder": 10,
"title": "Profile",
"type": "string"
},
"fields": {
"type": "array",
"minItems": 1,
"items": {
"title": "Table Schema Field",
"type": "object",
"oneOf": [
{
"type": "object",
"title": "String Field",
"required": ["name"],
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"example": {
"title": "Example",
"type": "string"
},
"missingValues": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "array",
"items": {
"type": "object",
"required": ["value"],
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
}
],
"default": [""]
},
"categories": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "array",
"items": {
"type": "object",
"required": ["value"],
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
}
]
},
"categoriesOrdered": {
"type": "boolean"
},
"type": {
"enum": ["string"]
},
"format": {
"enum": ["default", "email", "uri", "binary", "uuid"],
"default": "default"
},
"constraints": {
"title": "Constraints",
"type": "object",
"properties": {
"required": {
"type": "boolean"
},
"unique": {
"type": "boolean"
},
"pattern": {
"type": "string"
},
"enum": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string"
}
},
"minLength": {
"type": "integer"
},
"maxLength": {
"type": "integer"
}
}
},
"rdfType": {
"type": "string"
}
}
},
{
"type": "object",
"title": "Number Field",
"required": ["name", "type"],
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"example": {
"title": "Example",
"type": "string"
},
"missingValues": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "array",
"items": {
"type": "object",
"required": ["value"],
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
}
],
"default": [""]
},
"type": {
"enum": ["number"]
},
"format": {
"enum": ["default"],
"default": "default"
},
"bareNumber": {
"type": "boolean",
"title": "bareNumber",
"default": true
},
"groupChar": {
"type": "string",
"title": "groupChar"
},
"decimalChar": {
"type": "string"
},
"constraints": {
"title": "Constraints",
"type": "object",
"properties": {
"required": {
"type": "boolean"
},
"unique": {
"type": "boolean"
},
"enum": {
"oneOf": [
{
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string"
}
},
{
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "number"
}
}
]
},
"minimum": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"maximum": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"exclusiveMinimum": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
]
},
"exclusiveMaximum": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
}
},
"rdfType": {
"type": "string"
}
}
},
{
"type": "object",
"title": "Integer Field",
"required": ["name", "type"],
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"example": {
"title": "Example",
"type": "string"
},
"missingValues": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "array",
"items": {
"type": "object",
"required": ["value"],
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
}
],
"default": [""]
},
"categories": {
"anyOf": [
{
"type": "array",
"items": {
"type": "integer"
}
},
{
"type": "array",
"items": {
"type": "object",
"required": ["value"],
"properties": {
"value": {
"type": "integer"
},
"label": {
"type": "string"
}
}
}
}
]
},
"categoriesOrdered": {
"type": "boolean"
},
"type": {
"enum": ["integer"]
},
"format": {
"enum": ["default"],
"default": "default"
},
"bareNumber": {
"type": "boolean",
"title": "bareNumber",
"default": true
},
"groupChar": {
"type": "string",
"title": "groupChar"
},
"constraints": {
"title": "Constraints",
"type": "object",
"properties": {
"required": {
"type": "boolean"
},
"unique": {
"type": "boolean"
},
"enum": {
"oneOf": [
{
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string"
}
},
{
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "integer"
}
}
]
},
"minimum": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"maximum": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"exclusiveMinimum": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"exclusiveMaximum": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
}
}
},
"rdfType": {
"type": "string"
}
}
},
{
"type": "object",
"title": "Date Field",
"required": ["name", "type"],
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"example": {
"title": "Example",
"type": "string"
},
"missingValues": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "array",
"items": {
"type": "object",
"required": ["value"],
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
}
],
"default": [""]
},
"type": {
"enum": ["date"]
},
"format": {
"default": "default"
},
"constraints": {
"title": "Constraints",
"type": "object",
"properties": {
"required": {
"type": "boolean"
},
"unique": {
"type": "boolean"
},
"enum": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string"
}
},
"minimum": {
"type": "string"
},
"maximum": {
"type": "string"
},
"exclusiveMinimum": {
"type": "string"
},
"exclusiveMaximum": {
"type": "string"
}
}
},
"rdfType": {
"type": "string"
}
}
},
{
"type": "object",
"title": "Time Field",
"required": ["name", "type"],
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"example": {
"title": "Example",
"type": "string"
},
"missingValues": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "array",
"items": {
"type": "object",
"required": ["value"],
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
}
],
"default": [""]
},
"type": {
"enum": ["time"]
},
"format": {
"default": "default"
},
"constraints": {
"title": "Constraints",
"type": "object",
"properties": {
"required": {
"type": "boolean"
},
"unique": {
"type": "boolean"
},
"enum": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string"
}
},
"minimum": {
"type": "string"
},
"maximum": {
"type": "string"
},
"exclusiveMinimum": {
"type": "string"
},
"exclusiveMaximum": {
"type": "string"
}
}
},
"rdfType": {
"type": "string"
}
}
},
{
"type": "object",
"title": "Date Time Field",
"required": ["name", "type"],
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"example": {
"title": "Example",
"type": "string"
},
"missingValues": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "array",
"items": {
"type": "object",
"required": ["value"],
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
}
],
"default": [""]
},
"type": {
"enum": ["datetime"]
},
"format": {
"default": "default"
},
"constraints": {
"title": "Constraints",
"type": "object",
"properties": {
"required": {
"type": "boolean"
},
"unique": {
"type": "boolean"
},
"enum": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string"
}
},
"minimum": {
"type": "string"
},
"maximum": {
"type": "string"
},
"exclusiveMinimum": {
"type": "string"
},
"exclusiveMaximum": {
"type": "string"
}
}
},
"rdfType": {
"type": "string"
}
}
},
{
"type": "object",
"title": "Year Field",
"required": ["name", "type"],
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"example": {
"title": "Example",
"type": "string"
},
"missingValues": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "array",
"items": {
"type": "object",
"required": ["value"],
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
}
],
"default": [""]
},
"type": {
"enum": ["year"]
},
"format": {
"enum": ["default"],
"default": "default"
},
"constraints": {
"title": "Constraints",
"type": "object",
"properties": {
"required": {
"type": "boolean"
},
"unique": {
"type": "boolean"
},
"enum": {
"oneOf": [
{
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string"
}
},
{
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "integer"
}
}
]
},
"minimum": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"maximum": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"exclusiveMinimum": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"exclusiveMaximum": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
}
}
},
"rdfType": {
"type": "string"
}
}
},
{
"type": "object",
"title": "Year Month Field",
"required": ["name", "type"],
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"example": {
"title": "Example",
"type": "string"
},
"missingValues": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "array",
"items": {
"type": "object",
"required": ["value"],
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
}
],
"default": [""]
},
"type": {
"enum": ["yearmonth"]
},
"format": {
"enum": ["default"],
"default": "default"
},
"constraints": {
"title": "Constraints",
"type": "object",
"properties": {
"required": {
"type": "boolean"
},
"unique": {
"type": "boolean"
},
"enum": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string"
}
},
"minimum": {
"type": "string"
},
"maximum": {
"type": "string"
},
"exclusiveMinimum": {
"type": "string"
},
"exclusiveMaximum": {
"type": "string"
}
}
},
"rdfType": {
"type": "string"
}
}
},
{
"type": "object",
"title": "Boolean Field",
"required": ["name", "type"],
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"title": {
"title": "Title",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"example": {
"title": "Example",
"type": "string"
},
"missingValues": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "array",
"items": {
"type": "object",
"required": ["value"],
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
}
}
}
}
],
"default": [""]
},
"type": {