---json { "aliases": [ { "path": ":docs:resource:manifest" } ], "page_id": "zfu4m8nbzexo6xysyy434" } --- ====== Manifest File ====== ===== About ===== ''manifest files'' are [[:docs:common:yaml|yaml file]] that describes a tabulify resource. ===== Syntax ===== A ''manifest file'' follows the following syntax: ```yaml kind: 'kind' spec: attributeName: attributeValue ....: .... ``` where * `kind` is a single name resource identifier for a [[:docs:resource:media-type|media type]]. * `attributes` is map of [[:docs:conf:attribute|attribute]] ===== Type ===== There is 2 type of manifest * [[#tabulify|tabulify manifest]] * [[#resource|resource manifest]] ==== Tabulify ==== Tabulify manifests are files that: * stores Tabulify objects. * have their own specific schema List: * [[docs:conf:tabul.yml|tabul]] * [[:docs:resource:generator|generator]] * [[:docs:flow:pipeline|pipeline]] ==== Resource ==== [[:docs:resource:manifest|Resource manifests]] are manifest that: * defines a [[docs:resource:resource|resource]] * with the following 3 attributes: * [[:docs:resource:data_uri|data uri]] * [[docs:resource:media-type|media type]] * and [[:docs:resource:data-definition|data definition]] Example: * [[docs:resource:sql_request|sql-fetch]] * [[docs:resource:csv|csv]] * .. kind: csv spec: data-def: logical-name: favorite_books header-row-id: 1 delimiter-character: ',' columns: - name: asin type: varchar precision: 20 - name: description type: varchar - name: price type: double - name: group type: varchar ===== Naming ===== The name of a metadata file follows the following convention: logical-Name--kind.yml where: * ''logical-name'' is an arbitrary name * ''%%--kind%%'' is a prefix with the kind of resource For example for a [[:docs:resource:generator|generator]] that generates time data time--generator.yml ===== Media Type ===== The [[:docs:resource:media-type|media type]] follows the the [[https://datatracker.ietf.org/doc/html/rfc6838#section-3.2|Vendor tree media types (vnd) convention]]: text/vnd.tabulify.kind+yaml For instance, a [[:docs:resource:generator|generator]] has the following media type text/vnd.tabulify.generator+yaml ===== Note ===== ==== Data URI ==== In a manifest, the [[:docs:resource:data_uri|data uri]] can use the the [[docs:connection:md|md connection]] where ''md'' is the directory of the manifest.