taxonomy
Browse Finetype's type taxonomy with finetype taxonomy: list every type, filter by domain or category, and export one type's JSON Schema or the whole set.
List and filter the full Finetype taxonomy. Use taxonomy to explore available types, check what's in a domain, export the complete taxonomy for tooling, or export the JSON Schema for an individual type (or glob of types).
Usage
finetype taxonomy [OPTIONS] [TYPE_KEY]Arguments
| Argument | Description |
|---|---|
TYPE_KEY | Optional type key (e.g. identity.person.email) or glob (e.g. identity.person.*). When supplied, the --domain / --category filters are ignored. |
Options
| Flag | Type | Default | Description |
|---|---|---|---|
-f, --file | path | labels | Taxonomy file or directory |
-d, --domain | string | — | Filter by domain |
-c, --category | string | — | Filter by category |
-o, --output | string | plain | Output format: plain, json, csv, markdown, arrow, json-schema |
--full | flag | — | Export all fields (including schemas, examples, transforms) |
Examples
List all types
$ finetype taxonomy
Domains: ["container", "datetime", "finance", "geography", "identity", "representation", "technology"]
Total labels: 251
container.array.comma_separated → VARCHAR
Comma-Separated Values (Simple)
container.array.pipe_separated → VARCHAR
Pipe-Separated Values
...The header lists the seven domains and the total label count. Each type prints as key → BROAD with its title on the next line.
Filter by domain
$ finetype taxonomy -d datetimeShow only types in the datetime domain — dates, times, timestamps, durations (89 types).
Filter by category
The -c filter narrows within a domain, so pair it with -d:
$ finetype taxonomy -d identity -c person
identity.person.blood_type → VARCHAR
identity.person.email → VARCHAR
identity.person.full_name → VARCHAR
...Export a JSON Schema for a type
Pass a type key (or glob) with -o json-schema to export the JSON Schema contract — regex pattern, length constraints, examples, and the PII flag:
$ finetype taxonomy identity.person.email -o json-schema[
{
"$id": "https://meridian.online/schemas/identity.person.email",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Standard email address (RFC 5322 simplified). Format: local@domain. Universal format but may include internationalized domain names (IDN).",
"examples": [
"john.smith@example.com",
"user+tag@domain.org",
"test123@company.co.uk"
],
"maxLength": 254,
"minLength": 5,
"pattern": "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$",
"title": "Email Address",
"type": "string",
"x-finetype-label": "identity.person.email",
"x-finetype-pii": true
}
]Use a glob to export every type in a category. Output is always a JSON array, even for a single match:
$ finetype taxonomy "datetime.date.*" -o json-schemaFull export as JSON
$ finetype taxonomy --full -o json > taxonomy.jsonThe --full flag includes every field: schemas, examples, transforms, PII flags, and broad types. This is the same export used to generate the Type Registry on this site.
See also
validate— validate data against an exported JSON Schemainfer— classify a value and see which type it matches- Type Registry — browse the taxonomy on the web
validate
Validate a CSV or Parquet file against a JSON Schema with finetype validate: check only, or materialise a typed DuckDB table in one pass, with its exit codes.
Guides
Short recipes for common Finetype tasks: profile a Parquet file, build a typed DuckDB pipeline, and validate a data delivery against a saved schema.