UNPKG

@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
{ "$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": {