diff --git a/registry/CONTRACT.md b/registry/CONTRACT.md index a36f135..b2d02a9 100644 --- a/registry/CONTRACT.md +++ b/registry/CONTRACT.md @@ -2,7 +2,7 @@ Status: pre-production -Contract version: 0.1 +Contract version: 0.2 ## Purpose @@ -29,6 +29,7 @@ Each fact has one authoring authority: | Purpose, guidance, parameter meaning, and relationships | Registry Markdown | | Curated examples and expected outcomes | Registry Markdown and fixtures | | Lifecycle, visibility, access, and provenance | Registry Markdown | +| Recipe Writer eligibility and exclusion reason | Registry Markdown | | Recipe JSON Schema | Generated output | | Docusaurus pages | Generated output | | Database/search records | Generated projection | @@ -186,6 +187,8 @@ Every wrangle entry must declare: public `slug`, and compatibility `aliases` - `title` and `description` - `status` and `visibility` +- an explicit `recipe_writer.eligible` decision; ineligible entries also + require a concise `recipe_writer.reason` - `tags` - a runtime package and Python symbol - access flags @@ -227,6 +230,23 @@ The shared `if`, `where`, and `where_params` definitions live in `common/wrangle-controls.yaml`. Entries opt into them through `capabilities`. They must not duplicate the common definitions in each wrangle file. +## Recipe Writer eligibility + +Recipe Writer discovery is a consumer-specific, fail-closed Registry view. +Every entry must declare `recipe_writer.eligible`; omission is invalid rather +than an implicit opt-in. Eligible entries must be public, active, and reconciled +to a verified runtime contract. Ineligible entries must state a concise reason, +and that reason is emitted in the manifest and compiled contract so clients do +not need an Agent-owned exception list. + +The initial view preserves the existing 88-key Recipe Writer baseline. The +compiler verifies both the count and a checksum of the sorted eligible keys, so +changing which wrangles are available requires an explicit reviewed update. +This initial schema is stock-only: it omits the full recipe schema's permissive +`custom.*` and `pandas.*` extension patterns. An extension wrangle therefore +cannot enter Recipe Writer merely because its name matches a broad pattern; it +needs a future explicit Registry-backed eligibility contract. + ## Examples and verification Each example has a stable ID, recipe YAML, input fixture, output fixture, and @@ -256,9 +276,15 @@ The compiler produces: - `manifest.json`, containing lightweight discovery metadata and links - one comprehensive JSON contract per wrangle under `wrangles-docs/static/registry/contracts/`, including all parameters +- a JSON Schema for those compiled contracts under + `wrangles-docs/static/registry/schema/wrangle-contract.schema.json` - raw source Markdown and sanitized example fixtures - a pre-production recipe JSON Schema under `wrangles-docs/static/schemas/recipes/registry/schema.json` +- a Recipe Writer-specific schema containing only explicitly eligible entries + under `wrangles-docs/static/schemas/recipes/registry/recipe-writer.schema.json` +- a compact runtime-reconciliation summary under + `wrangles-docs/static/registry/runtime/reconciliation.json` - deterministic JSON and Markdown reconciliation reports under `registry/reports/` @@ -270,9 +296,23 @@ Generated artifacts are deterministic: timestamps, local paths, credentials, and environment-specific values are excluded. A clean compile followed by `check:registry` must produce no Git diff. +The manifest records SHA-256 for every machine-facing bundle member and a +bundle checksum. Bundle members are ordered by their public path and framed as +the UTF-8 path, a NUL byte, the exact generated UTF-8 content, and a final NUL +byte. `manifest.json` is deliberately excluded from the bundle digest because +it contains the digest; a deployment can pin the manifest itself by source +commit or an external lock-file checksum without circular hashing. + +The Recipe Writer eligible-key checksum uses the framing named by +`recipe_writer.eligible_keys_framing`: sorted keys encoded as UTF-8, each +terminated by one newline (`utf8-newline-separated-sorted-v1`). + ## Versioning and lifecycle -The pre-production Registry version is `0.1.0`. A production release will +The pre-production Registry version is `0.2.0`. Version `0.2.0` makes the +fail-closed Recipe Writer eligibility decision required for every entry and +adds the compiled-contract and integrity metadata consumed by Registry clients. +A production release will contain: - an immutable Registry version @@ -281,6 +321,11 @@ contain: - immutable recipe-schema and Registry URLs - a convenience `latest` alias that is not used for reproducible execution +The current runtime manifest records both the exact WranglesPY package version +and the pinned source revision used for reconciliation. The public manifest +exposes that evidence plus an exact compatible-version specifier so consumers +can fail closed before loading an incompatible runtime. + Wrangles progress through `draft`, `active`, `deprecated`, and `removed`. Deprecated records stay discoverable and must identify their canonical replacement with `replaced_by`. The compiler rejects a missing, self-referential, diff --git a/registry/README.md b/registry/README.md index ea62808..b066d71 100644 --- a/registry/README.md +++ b/registry/README.md @@ -34,7 +34,8 @@ wrangles-docs/static/registry/ (machine-facing artifacts) ``` `runtime/wranglespy.json` is the pinned mechanical contract exported from the -WranglesPY recipe namespace. Its producer-owned schema is copied alongside the +WranglesPY recipe namespace. It records both the exact package version and +source revision. Its producer-owned schema is copied alongside the Registry schema under `schema/`. The compiler reconciles the manifest with the curated Markdown and writes the reviewable result to `reports/`. It also reads all existing `wrangles-docs/wrangle-docs/**/_sources/*.md` quasi-registry @@ -43,6 +44,12 @@ Runtime names, required status, defaults, symbols, and common controls must agree; embedded Python schema and quasi-registry differences are retained as migration evidence. +Each Registry entry also makes an explicit, fail-closed Recipe Writer +eligibility decision. The compiler publishes the eligible view, verifies it +against the pinned 88-key baseline, and emits checksums for every machine-facing +artifact plus a non-circular bundle checksum. The Recipe Writer schema is +stock-only and rejects broad `custom.*` and `pandas.*` extension names. + ## Commands Run these commands from `wrangles-docs`: diff --git a/registry/common/wrangle-controls.yaml b/registry/common/wrangle-controls.yaml index 44f51dd..5ed9785 100644 --- a/registry/common/wrangle-controls.yaml +++ b/registry/common/wrangle-controls.yaml @@ -1,4 +1,4 @@ -schema_version: "0.1" +schema_version: "0.2" controls: where: description: Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`. diff --git a/registry/reports/runtime-reconciliation.json b/registry/reports/runtime-reconciliation.json index 7caecbb..f7c7f44 100644 --- a/registry/reports/runtime-reconciliation.json +++ b/registry/reports/runtime-reconciliation.json @@ -1,9 +1,10 @@ { "format": "wrangles-registry-reconciliation", "format_version": "0.2", - "registry_version": "0.1.0", + "registry_version": "0.2.0", "runtime_source": { "repository": "https://github.com/wrangleworks/WranglesPY", + "version": "1.20.2", "revision": "7916bf158e8b7e561270a1bea7b808f88956edc4" }, "summary": { diff --git a/registry/reports/runtime-reconciliation.md b/registry/reports/runtime-reconciliation.md index d9fb46c..355e1bb 100644 --- a/registry/reports/runtime-reconciliation.md +++ b/registry/reports/runtime-reconciliation.md @@ -2,8 +2,9 @@ Generated file. Do not edit directly. +- Runtime version: `1.20.2` - Runtime source: [`7916bf158e8b7e561270a1bea7b808f88956edc4`](https://github.com/wrangleworks/WranglesPY/commit/7916bf158e8b7e561270a1bea7b808f88956edc4) -- Registry version: `0.1.0` +- Registry version: `0.2.0` - Runtime entries: 98 - Embedded Python schema docstrings: 96 - Existing quasi-registry records: 93 diff --git a/registry/runtime/wranglespy.json b/registry/runtime/wranglespy.json index c1bedad..50c0290 100644 --- a/registry/runtime/wranglespy.json +++ b/registry/runtime/wranglespy.json @@ -4,6 +4,7 @@ "format_version": "0.1", "source": { "repository": "https://github.com/wrangleworks/WranglesPY", + "version": "1.20.2", "revision": "7916bf158e8b7e561270a1bea7b808f88956edc4" }, "entry_count": 98, diff --git a/registry/schema/wrangle-entry.schema.json b/registry/schema/wrangle-entry.schema.json index a1380e9..74156bc 100644 --- a/registry/schema/wrangle-entry.schema.json +++ b/registry/schema/wrangle-entry.schema.json @@ -17,6 +17,7 @@ "slug", "status", "visibility", + "recipe_writer", "tags", "runtime", "access", @@ -26,7 +27,7 @@ "sources" ], "properties": { - "schema_version": {"const": "0.1"}, + "schema_version": {"const": "0.2"}, "type": {"const": "wrangle"}, "id": { "type": ["string", "null"], @@ -71,6 +72,32 @@ "visibility": { "enum": ["public", "internal"] }, + "recipe_writer": { + "type": "object", + "additionalProperties": false, + "required": ["eligible"], + "properties": { + "eligible": { + "type": "boolean", + "description": "Whether this wrangle is eligible for Recipe Writer discovery and authoring. Missing eligibility fails closed." + }, + "reason": { + "type": "string", + "minLength": 1, + "description": "Required concise explanation when the wrangle is not eligible." + } + }, + "allOf": [ + { + "if": { + "properties": {"eligible": {"const": false}}, + "required": ["eligible"] + }, + "then": {"required": ["reason"]}, + "else": {"not": {"required": ["reason"]}} + } + ] + }, "tags": { "type": "array", "minItems": 1, diff --git a/registry/schema/wrangles-runtime-manifest.schema.json b/registry/schema/wrangles-runtime-manifest.schema.json index 17d1793..1ef178d 100644 --- a/registry/schema/wrangles-runtime-manifest.schema.json +++ b/registry/schema/wrangles-runtime-manifest.schema.json @@ -19,9 +19,14 @@ "source": { "type": "object", "additionalProperties": false, - "required": ["repository", "revision"], + "required": ["repository", "version", "revision"], "properties": { "repository": {"type": "string", "format": "uri"}, + "version": { + "type": "string", + "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:[-+][0-9A-Za-z.-]+)?$", + "description": "Exact WranglesPY package version whose callable surface was exported." + }, "revision": {"type": "string", "minLength": 1} } }, diff --git a/registry/wrangles/_root/accordion.md b/registry/wrangles/_root/accordion.md index 163025b..f8489ac 100644 --- a/registry/wrangles/_root/accordion.md +++ b/registry/wrangles/_root/accordion.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: accordion @@ -13,6 +13,9 @@ aliases: [] slug: accordion status: active visibility: public +recipe_writer: + eligible: false + reason: Nested-list orchestration is not supported in the baseline. tags: - utility - accordion diff --git a/registry/wrangles/_root/batch.md b/registry/wrangles/_root/batch.md index 7794310..620443f 100644 --- a/registry/wrangles/_root/batch.md +++ b/registry/wrangles/_root/batch.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: batch @@ -13,6 +13,8 @@ aliases: [] slug: batch status: active visibility: public +recipe_writer: + eligible: true tags: - utility - batch diff --git a/registry/wrangles/_root/classify.md b/registry/wrangles/_root/classify.md index 498ab61..9256a26 100644 --- a/registry/wrangles/_root/classify.md +++ b/registry/wrangles/_root/classify.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 06669ef8-cdd1-42f7-8078-98e0b7a42c30 wrangle_name: classify @@ -11,6 +11,8 @@ aliases: [] slug: classify status: active visibility: public +recipe_writer: + eligible: true tags: - ai - classify diff --git a/registry/wrangles/_root/clean-whitespaces.md b/registry/wrangles/_root/clean-whitespaces.md index 0a76469..a0a3cca 100644 --- a/registry/wrangles/_root/clean-whitespaces.md +++ b/registry/wrangles/_root/clean-whitespaces.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: e36e15c4-f0ad-43f8-8555-ef683a8ab892 wrangle_name: clean_whitespaces @@ -13,6 +13,8 @@ aliases: [] slug: clean-whitespaces status: active visibility: public +recipe_writer: + eligible: true tags: - format - clean-whitespaces diff --git a/registry/wrangles/_root/concurrent.md b/registry/wrangles/_root/concurrent.md index ce5187f..0098563 100644 --- a/registry/wrangles/_root/concurrent.md +++ b/registry/wrangles/_root/concurrent.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: concurrent @@ -14,6 +14,9 @@ aliases: [] slug: concurrent status: active visibility: public +recipe_writer: + eligible: false + reason: Concurrent orchestration is not supported in the baseline. tags: - utility - concurrent diff --git a/registry/wrangles/_root/copy.md b/registry/wrangles/_root/copy.md index 34c320a..da33661 100644 --- a/registry/wrangles/_root/copy.md +++ b/registry/wrangles/_root/copy.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: b002fbdc-92c0-4347-889d-0f4bfeec99fa wrangle_name: copy @@ -11,6 +11,8 @@ aliases: [] slug: copy status: active visibility: public +recipe_writer: + eligible: true tags: - transform - copy diff --git a/registry/wrangles/_root/date-calculator.md b/registry/wrangles/_root/date-calculator.md index ba25a44..035eaca 100644 --- a/registry/wrangles/_root/date-calculator.md +++ b/registry/wrangles/_root/date-calculator.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 19cfeb4f-02af-4ab2-895c-0ff2bb5cce19 wrangle_name: date_calculator @@ -11,6 +11,8 @@ aliases: [] slug: date-calculator status: active visibility: public +recipe_writer: + eligible: true tags: - date - date-calculator diff --git a/registry/wrangles/_root/drop.md b/registry/wrangles/_root/drop.md index f24ac35..7435a7e 100644 --- a/registry/wrangles/_root/drop.md +++ b/registry/wrangles/_root/drop.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 363bffbf-397e-4975-8382-e9efa5e9eed6 wrangle_name: drop @@ -11,6 +11,8 @@ aliases: [] slug: drop status: active visibility: public +recipe_writer: + eligible: true tags: - select - drop diff --git a/registry/wrangles/_root/explode.md b/registry/wrangles/_root/explode.md index 2b18fc3..cdc85d5 100644 --- a/registry/wrangles/_root/explode.md +++ b/registry/wrangles/_root/explode.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 4e4b13ac-8d50-4b2c-85c8-2c31de1e817d wrangle_name: explode @@ -11,6 +11,8 @@ aliases: [] slug: explode status: active visibility: public +recipe_writer: + eligible: true tags: - split - explode diff --git a/registry/wrangles/_root/filter.md b/registry/wrangles/_root/filter.md index d95698d..45eec3c 100644 --- a/registry/wrangles/_root/filter.md +++ b/registry/wrangles/_root/filter.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: e3242acf-d204-433f-8373-205b77481131 wrangle_name: filter @@ -13,6 +13,8 @@ aliases: [] slug: filter status: active visibility: public +recipe_writer: + eligible: true tags: - select - filter diff --git a/registry/wrangles/_root/huggingface.md b/registry/wrangles/_root/huggingface.md index 1d058ce..44d8a10 100644 --- a/registry/wrangles/_root/huggingface.md +++ b/registry/wrangles/_root/huggingface.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: ae12cf20-4934-428f-84a9-a6898cb7ffe0 wrangle_name: huggingface @@ -11,6 +11,8 @@ aliases: [] slug: huggingface status: active visibility: public +recipe_writer: + eligible: true tags: - ai - huggingface diff --git a/registry/wrangles/_root/log.md b/registry/wrangles/_root/log.md index 55f78ab..1aa46c0 100644 --- a/registry/wrangles/_root/log.md +++ b/registry/wrangles/_root/log.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 6177808e-aa2d-4d0b-8385-858b16948a5d wrangle_name: log @@ -11,6 +11,9 @@ aliases: [] slug: log status: active visibility: public +recipe_writer: + eligible: false + reason: Operational logging steps are not authored in the baseline. tags: - utility - log diff --git a/registry/wrangles/_root/lookup.md b/registry/wrangles/_root/lookup.md index 13652cb..1598f7b 100644 --- a/registry/wrangles/_root/lookup.md +++ b/registry/wrangles/_root/lookup.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: b3339193-d1cc-4c89-8ed6-901efa6d81be wrangle_name: lookup @@ -11,6 +11,8 @@ aliases: [] slug: lookup status: active visibility: public +recipe_writer: + eligible: true tags: - lookup runtime: diff --git a/registry/wrangles/_root/math.md b/registry/wrangles/_root/math.md index 9e6df49..6facc6d 100644 --- a/registry/wrangles/_root/math.md +++ b/registry/wrangles/_root/math.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 494b11ad-00c1-4748-8b93-6bec982f4fec wrangle_name: math @@ -11,6 +11,8 @@ aliases: [] slug: math status: active visibility: public +recipe_writer: + eligible: true tags: - compute - math diff --git a/registry/wrangles/_root/maths.md b/registry/wrangles/_root/maths.md index 188e429..9cdea96 100644 --- a/registry/wrangles/_root/maths.md +++ b/registry/wrangles/_root/maths.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: maths @@ -12,6 +12,9 @@ slug: maths status: deprecated replaced_by: math visibility: public +recipe_writer: + eligible: false + reason: Deprecated compatibility key; use math. tags: - maths runtime: diff --git a/registry/wrangles/_root/matrix.md b/registry/wrangles/_root/matrix.md index 5394e36..8418cc7 100644 --- a/registry/wrangles/_root/matrix.md +++ b/registry/wrangles/_root/matrix.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: matrix @@ -13,6 +13,9 @@ aliases: [] slug: matrix status: active visibility: public +recipe_writer: + eligible: false + reason: Matrix orchestration is not supported in the baseline. tags: - utility - matrix diff --git a/registry/wrangles/_root/python.md b/registry/wrangles/_root/python.md index d6fc9a1..31bf587 100644 --- a/registry/wrangles/_root/python.md +++ b/registry/wrangles/_root/python.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: c0398a11-7731-4e47-8df0-b07eea0b1d6c wrangle_name: python @@ -17,6 +17,8 @@ aliases: [] slug: python status: active visibility: public +recipe_writer: + eligible: true tags: - compute - python diff --git a/registry/wrangles/_root/recipe.md b/registry/wrangles/_root/recipe.md index 8e794a1..ab6d6c4 100644 --- a/registry/wrangles/_root/recipe.md +++ b/registry/wrangles/_root/recipe.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: recipe @@ -11,6 +11,9 @@ aliases: [] slug: recipe status: active visibility: public +recipe_writer: + eligible: false + reason: Nested recipe composition is outside the baseline. tags: - recipe runtime: diff --git a/registry/wrangles/_root/reindex.md b/registry/wrangles/_root/reindex.md index 0a0fff9..6308d24 100644 --- a/registry/wrangles/_root/reindex.md +++ b/registry/wrangles/_root/reindex.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: def87df8-72da-4e34-83c1-1fde25126257 wrangle_name: reindex @@ -11,6 +11,8 @@ aliases: [] slug: reindex status: active visibility: public +recipe_writer: + eligible: true tags: - transform - reindex diff --git a/registry/wrangles/_root/remove-words.md b/registry/wrangles/_root/remove-words.md index d93dc0c..aa24d4d 100644 --- a/registry/wrangles/_root/remove-words.md +++ b/registry/wrangles/_root/remove-words.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 543b96c3-f354-48be-8046-bf0cb9fbaf56 wrangle_name: remove_words @@ -11,6 +11,8 @@ aliases: [] slug: remove-words status: active visibility: public +recipe_writer: + eligible: true tags: - format - remove-words diff --git a/registry/wrangles/_root/rename.md b/registry/wrangles/_root/rename.md index 3235df0..2dee332 100644 --- a/registry/wrangles/_root/rename.md +++ b/registry/wrangles/_root/rename.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: ab06898f-faf7-42e7-8275-5e3034a4d727 wrangle_name: rename @@ -11,6 +11,9 @@ aliases: [] slug: rename status: active visibility: public +recipe_writer: + eligible: false + reason: Structural rename steps are not supported in the baseline. tags: - transform - rename diff --git a/registry/wrangles/_root/replace.md b/registry/wrangles/_root/replace.md index 53a8f31..db102c2 100644 --- a/registry/wrangles/_root/replace.md +++ b/registry/wrangles/_root/replace.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: f0ab715e-9e0e-4614-83e4-5cd8ea08a09f wrangle_name: replace @@ -13,6 +13,8 @@ aliases: [] slug: replace status: active visibility: public +recipe_writer: + eligible: true tags: - format - replace diff --git a/registry/wrangles/_root/round.md b/registry/wrangles/_root/round.md index a2aca9d..1ef35d4 100644 --- a/registry/wrangles/_root/round.md +++ b/registry/wrangles/_root/round.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 12f3111b-8511-4e42-8d3f-b5302dc3b4e4 wrangle_name: round @@ -11,6 +11,8 @@ aliases: [] slug: round status: active visibility: public +recipe_writer: + eligible: true tags: - format - round diff --git a/registry/wrangles/_root/similarity.md b/registry/wrangles/_root/similarity.md index 7502f6f..c64676e 100644 --- a/registry/wrangles/_root/similarity.md +++ b/registry/wrangles/_root/similarity.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 7c733344-4cce-4938-8013-53742fb46a90 wrangle_name: similarity @@ -11,6 +11,8 @@ aliases: [] slug: similarity status: active visibility: public +recipe_writer: + eligible: true tags: - compare - similarity diff --git a/registry/wrangles/_root/sort.md b/registry/wrangles/_root/sort.md index 7f53055..a577608 100644 --- a/registry/wrangles/_root/sort.md +++ b/registry/wrangles/_root/sort.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 1dcf06ad-898a-4d83-862c-4774be37a687 wrangle_name: sort @@ -11,6 +11,8 @@ aliases: [] slug: sort status: active visibility: public +recipe_writer: + eligible: true tags: - select - sort diff --git a/registry/wrangles/_root/sql.md b/registry/wrangles/_root/sql.md index c75242f..e3282d9 100644 --- a/registry/wrangles/_root/sql.md +++ b/registry/wrangles/_root/sql.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 467a06b1-a697-4d31-8061-7d83a719fd79 wrangle_name: sql @@ -13,6 +13,8 @@ aliases: [] slug: sql status: active visibility: public +recipe_writer: + eligible: true tags: - compute - sql diff --git a/registry/wrangles/_root/standardize.md b/registry/wrangles/_root/standardize.md index a6b4555..e44ab7c 100644 --- a/registry/wrangles/_root/standardize.md +++ b/registry/wrangles/_root/standardize.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 53cd3fdd-24e2-4411-8655-6014b92a3f3a wrangle_name: standardize @@ -14,6 +14,9 @@ slug: standardize status: deprecated replaced_by: standardize.custom visibility: public +recipe_writer: + eligible: false + reason: Deprecated compatibility key; use standardize.custom. tags: - format - standardize diff --git a/registry/wrangles/_root/translate.md b/registry/wrangles/_root/translate.md index 2339235..db328e6 100644 --- a/registry/wrangles/_root/translate.md +++ b/registry/wrangles/_root/translate.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 73c3ceb6-ffd8-4d74-8389-c83b99d33bb0 wrangle_name: translate @@ -13,6 +13,8 @@ aliases: [] slug: translate status: active visibility: public +recipe_writer: + eligible: true tags: - format - translate diff --git a/registry/wrangles/_root/transpose.md b/registry/wrangles/_root/transpose.md index f116141..62e34dc 100644 --- a/registry/wrangles/_root/transpose.md +++ b/registry/wrangles/_root/transpose.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 8716347f-f286-49b2-8a0b-cb73292e7475 wrangle_name: transpose @@ -11,6 +11,8 @@ aliases: [] slug: transpose status: active visibility: public +recipe_writer: + eligible: true tags: - transform - transpose diff --git a/registry/wrangles/_root/try.md b/registry/wrangles/_root/try.md index ce46640..e10c044 100644 --- a/registry/wrangles/_root/try.md +++ b/registry/wrangles/_root/try.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: try @@ -11,6 +11,9 @@ aliases: [] slug: try status: active visibility: public +recipe_writer: + eligible: false + reason: Error-control orchestration is not supported in the baseline. tags: - utility - try diff --git a/registry/wrangles/compare/lists.md b/registry/wrangles/compare/lists.md index 78ec5c4..7973a3d 100644 --- a/registry/wrangles/compare/lists.md +++ b/registry/wrangles/compare/lists.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: a393225e-7ccf-4708-83f8-d5abd6ba9b1e wrangle_name: lists @@ -11,6 +11,8 @@ aliases: [] slug: compare/lists status: active visibility: public +recipe_writer: + eligible: true tags: - compare - lists diff --git a/registry/wrangles/compare/text.md b/registry/wrangles/compare/text.md index 1dc9781..9b6ae5b 100644 --- a/registry/wrangles/compare/text.md +++ b/registry/wrangles/compare/text.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 31905b74-ce58-45cd-8add-821cc04ab946 wrangle_name: text @@ -13,6 +13,8 @@ aliases: [] slug: compare/text status: active visibility: public +recipe_writer: + eligible: true tags: - compare - text diff --git a/registry/wrangles/compute/case-when.md b/registry/wrangles/compute/case-when.md index d0be1cf..389ede5 100644 --- a/registry/wrangles/compute/case-when.md +++ b/registry/wrangles/compute/case-when.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 9a9662e4-53d1-4932-8adf-bc3e7aa364ad wrangle_name: case_when @@ -11,6 +11,8 @@ aliases: [] slug: compute/case-when status: active visibility: public +recipe_writer: + eligible: true tags: - compute - case-when diff --git a/registry/wrangles/compute/score-search-results.md b/registry/wrangles/compute/score-search-results.md index e730a00..0cf05d9 100644 --- a/registry/wrangles/compute/score-search-results.md +++ b/registry/wrangles/compute/score-search-results.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 313a8ec0-cf13-4956-8d3b-5362b8641d0f wrangle_name: score_search_results @@ -13,6 +13,8 @@ aliases: [] slug: compute/score-search-results status: active visibility: public +recipe_writer: + eligible: true tags: - compute - score-search-results diff --git a/registry/wrangles/convert/case.md b/registry/wrangles/convert/case.md index 986490c..bf57d24 100644 --- a/registry/wrangles/convert/case.md +++ b/registry/wrangles/convert/case.md @@ -1,5 +1,5 @@ --- -schema_version: "0.1" +schema_version: "0.2" type: wrangle id: 12ff4120-3613-4801-8653-99c793477fbc wrangle_name: case @@ -11,6 +11,8 @@ aliases: [] slug: convert/case status: active visibility: public +recipe_writer: + eligible: true tags: - convert - text diff --git a/registry/wrangles/convert/data-type.md b/registry/wrangles/convert/data-type.md index 51543fe..013a012 100644 --- a/registry/wrangles/convert/data-type.md +++ b/registry/wrangles/convert/data-type.md @@ -1,5 +1,5 @@ --- -schema_version: "0.1" +schema_version: "0.2" type: wrangle id: 52384f01-7164-404f-8615-063e7677a588 wrangle_name: data_type @@ -11,6 +11,8 @@ aliases: [] slug: convert/data-type status: active visibility: public +recipe_writer: + eligible: true tags: - convert - data-type diff --git a/registry/wrangles/convert/fraction-to-decimal.md b/registry/wrangles/convert/fraction-to-decimal.md index 74c50db..913d12c 100644 --- a/registry/wrangles/convert/fraction-to-decimal.md +++ b/registry/wrangles/convert/fraction-to-decimal.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 7c55752e-70ab-4809-8298-c59436127457 wrangle_name: fraction_to_decimal @@ -11,6 +11,8 @@ aliases: [] slug: convert/fraction-to-decimal status: active visibility: public +recipe_writer: + eligible: true tags: - convert - fraction-to-decimal diff --git a/registry/wrangles/convert/from-json.md b/registry/wrangles/convert/from-json.md index 3e55d3b..75dc904 100644 --- a/registry/wrangles/convert/from-json.md +++ b/registry/wrangles/convert/from-json.md @@ -1,5 +1,5 @@ --- -schema_version: "0.1" +schema_version: "0.2" type: wrangle id: e370dfcf-b0fe-4c48-8a52-6f34c47e7978 wrangle_name: from_json @@ -11,6 +11,8 @@ aliases: [] slug: convert/from-json status: active visibility: public +recipe_writer: + eligible: true tags: - convert - json diff --git a/registry/wrangles/convert/from-yaml.md b/registry/wrangles/convert/from-yaml.md index a8370a7..d8ff351 100644 --- a/registry/wrangles/convert/from-yaml.md +++ b/registry/wrangles/convert/from-yaml.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: b1c20004-5f80-41c2-84d2-2d4601a033b5 wrangle_name: from_yaml @@ -11,6 +11,8 @@ aliases: [] slug: convert/from-yaml status: active visibility: public +recipe_writer: + eligible: true tags: - convert - from-yaml diff --git a/registry/wrangles/convert/to-json.md b/registry/wrangles/convert/to-json.md index c9d4e5e..763177b 100644 --- a/registry/wrangles/convert/to-json.md +++ b/registry/wrangles/convert/to-json.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 94e54eb7-2b8c-4047-89d0-fb5d16baf396 wrangle_name: to_json @@ -11,6 +11,8 @@ aliases: [] slug: convert/to-json status: active visibility: public +recipe_writer: + eligible: true tags: - convert - to-json diff --git a/registry/wrangles/convert/to-yaml.md b/registry/wrangles/convert/to-yaml.md index d837118..254e097 100644 --- a/registry/wrangles/convert/to-yaml.md +++ b/registry/wrangles/convert/to-yaml.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 4cd6252f-ce47-4a9d-8272-3d87e875b72a wrangle_name: to_yaml @@ -11,6 +11,8 @@ aliases: [] slug: convert/to-yaml status: active visibility: public +recipe_writer: + eligible: true tags: - convert - to-yaml diff --git a/registry/wrangles/create/bins.md b/registry/wrangles/create/bins.md index cd1bd69..9eea572 100644 --- a/registry/wrangles/create/bins.md +++ b/registry/wrangles/create/bins.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 232e3ba0-4735-4934-88aa-0163181abb3f wrangle_name: bins @@ -11,6 +11,8 @@ aliases: [] slug: create/bins status: active visibility: public +recipe_writer: + eligible: true tags: - create - bins diff --git a/registry/wrangles/create/column.md b/registry/wrangles/create/column.md index bb0677b..f256673 100644 --- a/registry/wrangles/create/column.md +++ b/registry/wrangles/create/column.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 5a18e2c8-ec7c-45f5-88fd-bb5c358a8b40 wrangle_name: column @@ -11,6 +11,8 @@ aliases: [] slug: create/column status: active visibility: public +recipe_writer: + eligible: true tags: - create - column diff --git a/registry/wrangles/create/embeddings.md b/registry/wrangles/create/embeddings.md index 719f6c9..4b78dd2 100644 --- a/registry/wrangles/create/embeddings.md +++ b/registry/wrangles/create/embeddings.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: e3518afd-a819-40ec-8b49-eb25690220c1 wrangle_name: embeddings @@ -11,6 +11,8 @@ aliases: [] slug: create/embeddings status: active visibility: public +recipe_writer: + eligible: true tags: - create - embeddings diff --git a/registry/wrangles/create/guid.md b/registry/wrangles/create/guid.md index 960ab60..657d33c 100644 --- a/registry/wrangles/create/guid.md +++ b/registry/wrangles/create/guid.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: cf3aaab2-3d5b-4c9b-826e-7af7510521c9 wrangle_name: guid @@ -11,6 +11,8 @@ aliases: [] slug: create/guid status: active visibility: public +recipe_writer: + eligible: true tags: - create - guid diff --git a/registry/wrangles/create/hash.md b/registry/wrangles/create/hash.md index f575a66..a38cb55 100644 --- a/registry/wrangles/create/hash.md +++ b/registry/wrangles/create/hash.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 11e8fc13-00d2-4779-8d87-6288b07de7e7 wrangle_name: hash @@ -11,6 +11,8 @@ aliases: [] slug: create/hash status: active visibility: public +recipe_writer: + eligible: true tags: - create - hash diff --git a/registry/wrangles/create/index.md b/registry/wrangles/create/index.md index 8fef5b5..748e830 100644 --- a/registry/wrangles/create/index.md +++ b/registry/wrangles/create/index.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 0a4909ca-6e14-4da7-8a70-a7fd106d6944 wrangle_name: index @@ -11,6 +11,8 @@ aliases: [] slug: create/index status: active visibility: public +recipe_writer: + eligible: true tags: - create - index diff --git a/registry/wrangles/create/jinja.md b/registry/wrangles/create/jinja.md index 8a3b507..bd0cdf3 100644 --- a/registry/wrangles/create/jinja.md +++ b/registry/wrangles/create/jinja.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 10fc6709-16d4-4eab-8f56-6cb5d170ea66 wrangle_name: jinja @@ -11,6 +11,8 @@ aliases: [] slug: create/jinja status: active visibility: public +recipe_writer: + eligible: true tags: - create - jinja diff --git a/registry/wrangles/create/uuid.md b/registry/wrangles/create/uuid.md index 56bc6fe..3a0501a 100644 --- a/registry/wrangles/create/uuid.md +++ b/registry/wrangles/create/uuid.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: c376f3ff-2283-4c4c-8d7f-70db6f53ed19 wrangle_name: uuid @@ -11,6 +11,8 @@ aliases: [] slug: create/uuid status: active visibility: public +recipe_writer: + eligible: true tags: - create - uuid diff --git a/registry/wrangles/extract/address.md b/registry/wrangles/extract/address.md index e8e3c38..79fae19 100644 --- a/registry/wrangles/extract/address.md +++ b/registry/wrangles/extract/address.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 44153f95-4581-4cee-898e-b3b4714045fd wrangle_name: address @@ -11,6 +11,8 @@ aliases: [] slug: extract/address status: active visibility: public +recipe_writer: + eligible: true tags: - extract - address diff --git a/registry/wrangles/extract/ai.md b/registry/wrangles/extract/ai.md index e116587..493677d 100644 --- a/registry/wrangles/extract/ai.md +++ b/registry/wrangles/extract/ai.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: d9f89b00-fda3-4f4c-826c-6417b9390607 wrangle_name: ai @@ -13,6 +13,8 @@ aliases: [] slug: extract/ai status: active visibility: public +recipe_writer: + eligible: true tags: - ai - extract diff --git a/registry/wrangles/extract/attributes.md b/registry/wrangles/extract/attributes.md index be13e4a..9f271c7 100644 --- a/registry/wrangles/extract/attributes.md +++ b/registry/wrangles/extract/attributes.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 03ccedef-c938-41f1-8980-280f1a91542e wrangle_name: attributes @@ -13,6 +13,8 @@ aliases: [] slug: extract/attributes status: active visibility: public +recipe_writer: + eligible: true tags: - extract - attributes diff --git a/registry/wrangles/extract/brackets.md b/registry/wrangles/extract/brackets.md index a3e8b6c..5fc3bde 100644 --- a/registry/wrangles/extract/brackets.md +++ b/registry/wrangles/extract/brackets.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 9b4c15fa-2aaa-40c8-8834-6e835760bee5 wrangle_name: brackets @@ -11,6 +11,8 @@ aliases: [] slug: extract/brackets status: active visibility: public +recipe_writer: + eligible: true tags: - extract - brackets diff --git a/registry/wrangles/extract/codes.md b/registry/wrangles/extract/codes.md index e293cd9..ddc449b 100644 --- a/registry/wrangles/extract/codes.md +++ b/registry/wrangles/extract/codes.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: da591387-0fca-4842-8bcb-d19f561f0292 wrangle_name: codes @@ -11,6 +11,8 @@ aliases: [] slug: extract/codes status: active visibility: public +recipe_writer: + eligible: true tags: - extract - codes diff --git a/registry/wrangles/extract/custom.md b/registry/wrangles/extract/custom.md index a9d612b..6288555 100644 --- a/registry/wrangles/extract/custom.md +++ b/registry/wrangles/extract/custom.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: e8e96b76-86bf-41dc-8d16-825dcff9688b wrangle_name: custom @@ -13,6 +13,8 @@ aliases: [] slug: extract/custom status: active visibility: public +recipe_writer: + eligible: true tags: - extract - custom diff --git a/registry/wrangles/extract/date-properties.md b/registry/wrangles/extract/date-properties.md index e094780..6e6a021 100644 --- a/registry/wrangles/extract/date-properties.md +++ b/registry/wrangles/extract/date-properties.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: a346de62-93cd-44ba-8d30-a6305629c6d7 wrangle_name: date_properties @@ -11,6 +11,8 @@ aliases: [] slug: extract/date-properties status: active visibility: public +recipe_writer: + eligible: true tags: - extract - date-properties diff --git a/registry/wrangles/extract/date-range.md b/registry/wrangles/extract/date-range.md index e131fae..7a4d4f3 100644 --- a/registry/wrangles/extract/date-range.md +++ b/registry/wrangles/extract/date-range.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 9cebfa6f-a524-4aec-84a7-02d77b792843 wrangle_name: date_range @@ -11,6 +11,8 @@ aliases: [] slug: extract/date-range status: active visibility: public +recipe_writer: + eligible: true tags: - extract - date-range diff --git a/registry/wrangles/extract/html.md b/registry/wrangles/extract/html.md index 4f07693..de4a335 100644 --- a/registry/wrangles/extract/html.md +++ b/registry/wrangles/extract/html.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 728fc87a-a20d-4efa-833a-612e0b5eadc3 wrangle_name: html @@ -11,6 +11,8 @@ aliases: [] slug: extract/html status: active visibility: public +recipe_writer: + eligible: true tags: - extract - html diff --git a/registry/wrangles/extract/properties.md b/registry/wrangles/extract/properties.md index 22ad0c9..450f190 100644 --- a/registry/wrangles/extract/properties.md +++ b/registry/wrangles/extract/properties.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 23bbdb86-fd13-4b78-8fff-a7a76769ab63 wrangle_name: properties @@ -11,6 +11,8 @@ aliases: [] slug: extract/properties status: active visibility: public +recipe_writer: + eligible: true tags: - extract - properties diff --git a/registry/wrangles/extract/regex.md b/registry/wrangles/extract/regex.md index d546de0..84a9a56 100644 --- a/registry/wrangles/extract/regex.md +++ b/registry/wrangles/extract/regex.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 9aa0253a-4b70-4737-832c-964e15967289 wrangle_name: regex @@ -11,6 +11,8 @@ aliases: [] slug: extract/regex status: active visibility: public +recipe_writer: + eligible: true tags: - extract - regex diff --git a/registry/wrangles/format/dates.md b/registry/wrangles/format/dates.md index a5ed72d..a7d4381 100644 --- a/registry/wrangles/format/dates.md +++ b/registry/wrangles/format/dates.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: a3c15135-4f7a-4659-83fd-f657afa603c9 wrangle_name: dates @@ -11,6 +11,8 @@ aliases: [] slug: format/dates status: active visibility: public +recipe_writer: + eligible: true tags: - format - dates diff --git a/registry/wrangles/format/pad.md b/registry/wrangles/format/pad.md index 337795e..0d4b876 100644 --- a/registry/wrangles/format/pad.md +++ b/registry/wrangles/format/pad.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 76c19378-38f4-45aa-85d1-3cdf8f8aae29 wrangle_name: pad @@ -11,6 +11,8 @@ aliases: [] slug: format/pad status: active visibility: public +recipe_writer: + eligible: true tags: - format - pad diff --git a/registry/wrangles/format/prefix.md b/registry/wrangles/format/prefix.md index 3e6e96f..61f020b 100644 --- a/registry/wrangles/format/prefix.md +++ b/registry/wrangles/format/prefix.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: c12f99b9-2363-4da7-8405-7c73b87906e5 wrangle_name: prefix @@ -11,6 +11,8 @@ aliases: [] slug: format/prefix status: active visibility: public +recipe_writer: + eligible: true tags: - format - prefix diff --git a/registry/wrangles/format/price-breaks.md b/registry/wrangles/format/price-breaks.md index 3908183..f76913e 100644 --- a/registry/wrangles/format/price-breaks.md +++ b/registry/wrangles/format/price-breaks.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: price_breaks @@ -11,6 +11,9 @@ aliases: [] slug: format/price-breaks status: active visibility: public +recipe_writer: + eligible: false + reason: This newer wrangle is outside the pinned baseline. tags: - format - price-breaks diff --git a/registry/wrangles/format/remove-duplicates.md b/registry/wrangles/format/remove-duplicates.md index 897c6cf..112a87f 100644 --- a/registry/wrangles/format/remove-duplicates.md +++ b/registry/wrangles/format/remove-duplicates.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 283b9e78-b2b2-43d0-844f-9842c33120aa wrangle_name: remove_duplicates @@ -11,6 +11,8 @@ aliases: [] slug: format/remove-duplicates status: active visibility: public +recipe_writer: + eligible: true tags: - format - remove-duplicates diff --git a/registry/wrangles/format/significant-figures.md b/registry/wrangles/format/significant-figures.md index 68c6587..6260c38 100644 --- a/registry/wrangles/format/significant-figures.md +++ b/registry/wrangles/format/significant-figures.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: a359f72a-5250-4dd8-84f6-8a8173bee0f6 wrangle_name: significant_figures @@ -11,6 +11,8 @@ aliases: [] slug: format/significant-figures status: active visibility: public +recipe_writer: + eligible: true tags: - format - significant-figures diff --git a/registry/wrangles/format/suffix.md b/registry/wrangles/format/suffix.md index e53346a..1e3b775 100644 --- a/registry/wrangles/format/suffix.md +++ b/registry/wrangles/format/suffix.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 8d127060-ba2d-4934-897f-07662e01e40b wrangle_name: suffix @@ -11,6 +11,8 @@ aliases: [] slug: format/suffix status: active visibility: public +recipe_writer: + eligible: true tags: - format - suffix diff --git a/registry/wrangles/format/trim.md b/registry/wrangles/format/trim.md index a05c2d0..9b9c8c6 100644 --- a/registry/wrangles/format/trim.md +++ b/registry/wrangles/format/trim.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: af16b3c1-c230-4868-8ebe-f574904a0c76 wrangle_name: trim @@ -11,6 +11,8 @@ aliases: [] slug: format/trim status: active visibility: public +recipe_writer: + eligible: true tags: - format - trim diff --git a/registry/wrangles/generate/ai.md b/registry/wrangles/generate/ai.md index 50fdeef..697291a 100644 --- a/registry/wrangles/generate/ai.md +++ b/registry/wrangles/generate/ai.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 12c31c6c-cade-484d-84ba-7f302bf6af52 wrangle_name: ai @@ -11,6 +11,8 @@ aliases: [] slug: generate/ai status: active visibility: public +recipe_writer: + eligible: true tags: - ai - generate diff --git a/registry/wrangles/merge/coalesce.md b/registry/wrangles/merge/coalesce.md index 276ee34..3686c64 100644 --- a/registry/wrangles/merge/coalesce.md +++ b/registry/wrangles/merge/coalesce.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 25c1a60d-fa48-4b9a-8c03-0921d5b31049 wrangle_name: coalesce @@ -11,6 +11,8 @@ aliases: [] slug: merge/coalesce status: active visibility: public +recipe_writer: + eligible: true tags: - merge - coalesce diff --git a/registry/wrangles/merge/concatenate.md b/registry/wrangles/merge/concatenate.md index cd5efec..b04f528 100644 --- a/registry/wrangles/merge/concatenate.md +++ b/registry/wrangles/merge/concatenate.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 6ff76728-e1f6-4d3d-8946-6aa3b7524b3f wrangle_name: concatenate @@ -11,6 +11,8 @@ aliases: [] slug: merge/concatenate status: active visibility: public +recipe_writer: + eligible: true tags: - merge - concatenate diff --git a/registry/wrangles/merge/dictionaries.md b/registry/wrangles/merge/dictionaries.md index e68412a..e530624 100644 --- a/registry/wrangles/merge/dictionaries.md +++ b/registry/wrangles/merge/dictionaries.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 93e27737-e966-4ba9-8777-4e96724ebfc4 wrangle_name: dictionaries @@ -11,6 +11,8 @@ aliases: [] slug: merge/dictionaries status: active visibility: public +recipe_writer: + eligible: true tags: - merge - dictionaries diff --git a/registry/wrangles/merge/key-value-pairs.md b/registry/wrangles/merge/key-value-pairs.md index 896566f..b198916 100644 --- a/registry/wrangles/merge/key-value-pairs.md +++ b/registry/wrangles/merge/key-value-pairs.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 8a2cd37c-8ef7-4b05-8264-36512f5dd837 wrangle_name: key_value_pairs @@ -13,6 +13,8 @@ aliases: [] slug: merge/key-value-pairs status: active visibility: public +recipe_writer: + eligible: true tags: - merge - key-value-pairs diff --git a/registry/wrangles/merge/lists.md b/registry/wrangles/merge/lists.md index 04a8c50..a7eb68b 100644 --- a/registry/wrangles/merge/lists.md +++ b/registry/wrangles/merge/lists.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: d9978f00-b3d4-4583-884e-a53b98a43e9a wrangle_name: lists @@ -11,6 +11,8 @@ aliases: [] slug: merge/lists status: active visibility: public +recipe_writer: + eligible: true tags: - merge - lists diff --git a/registry/wrangles/merge/to-dict.md b/registry/wrangles/merge/to-dict.md index 137a8bb..f1a10c5 100644 --- a/registry/wrangles/merge/to-dict.md +++ b/registry/wrangles/merge/to-dict.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 9b869210-0d89-403b-8409-7cecdb5f9c7c wrangle_name: to_dict @@ -13,6 +13,8 @@ aliases: [] slug: merge/to-dict status: active visibility: public +recipe_writer: + eligible: true tags: - merge - to-dict diff --git a/registry/wrangles/merge/to-list.md b/registry/wrangles/merge/to-list.md index 3566655..71d41b3 100644 --- a/registry/wrangles/merge/to-list.md +++ b/registry/wrangles/merge/to-list.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: d5300fe7-c8a4-4a41-8f12-f2c1698678cc wrangle_name: to_list @@ -11,6 +11,8 @@ aliases: [] slug: merge/to-list status: active visibility: public +recipe_writer: + eligible: true tags: - merge - to-list diff --git a/registry/wrangles/search/find-links.md b/registry/wrangles/search/find-links.md index 11561e7..e0398a1 100644 --- a/registry/wrangles/search/find-links.md +++ b/registry/wrangles/search/find-links.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: ec1f661b-2cbc-4a47-88e3-646179104376 wrangle_name: find_links @@ -13,6 +13,8 @@ aliases: [] slug: search/find-links status: active visibility: public +recipe_writer: + eligible: true tags: - search - find-links diff --git a/registry/wrangles/search/retrieve-link-content.md b/registry/wrangles/search/retrieve-link-content.md index c8a87ee..de8452f 100644 --- a/registry/wrangles/search/retrieve-link-content.md +++ b/registry/wrangles/search/retrieve-link-content.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 3d5faa87-9e96-48c0-8226-5ae566e8d76c wrangle_name: retrieve_link_content @@ -13,6 +13,8 @@ aliases: [] slug: search/retrieve-link-content status: active visibility: public +recipe_writer: + eligible: true tags: - search - retrieve-link-content diff --git a/registry/wrangles/select/columns.md b/registry/wrangles/select/columns.md index 5e43303..b47d7e3 100644 --- a/registry/wrangles/select/columns.md +++ b/registry/wrangles/select/columns.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: bca12c60-3957-4dc5-83f7-5ee460df2a11 wrangle_name: columns @@ -11,6 +11,8 @@ aliases: [] slug: select/columns status: active visibility: public +recipe_writer: + eligible: true tags: - select - columns diff --git a/registry/wrangles/select/dictionary-element.md b/registry/wrangles/select/dictionary-element.md index de37e3f..4673efd 100644 --- a/registry/wrangles/select/dictionary-element.md +++ b/registry/wrangles/select/dictionary-element.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 5adaeada-6da8-464f-84cb-9fb5ecc17e48 wrangle_name: dictionary_element @@ -11,6 +11,8 @@ aliases: [] slug: select/dictionary-element status: active visibility: public +recipe_writer: + eligible: true tags: - select - dictionary-element diff --git a/registry/wrangles/select/element.md b/registry/wrangles/select/element.md index e8321b7..5c7b058 100644 --- a/registry/wrangles/select/element.md +++ b/registry/wrangles/select/element.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 223d2f4e-3247-4189-8b6c-e73fe44c4266 wrangle_name: element @@ -11,6 +11,8 @@ aliases: [] slug: select/element status: active visibility: public +recipe_writer: + eligible: true tags: - select - element diff --git a/registry/wrangles/select/group-by.md b/registry/wrangles/select/group-by.md index af00a5b..876e3b1 100644 --- a/registry/wrangles/select/group-by.md +++ b/registry/wrangles/select/group-by.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: c0af10b1-423a-416c-8cb5-7e7fe1164964 wrangle_name: group_by @@ -11,6 +11,8 @@ aliases: [] slug: select/group-by status: active visibility: public +recipe_writer: + eligible: true tags: - select - group-by diff --git a/registry/wrangles/select/head.md b/registry/wrangles/select/head.md index e72e0ca..50892b1 100644 --- a/registry/wrangles/select/head.md +++ b/registry/wrangles/select/head.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 237af1ec-db7d-415a-88b7-70586a2191fb wrangle_name: head @@ -11,6 +11,8 @@ aliases: [] slug: select/head status: active visibility: public +recipe_writer: + eligible: true tags: - select - head diff --git a/registry/wrangles/select/highest-confidence.md b/registry/wrangles/select/highest-confidence.md index 20958b2..d3be926 100644 --- a/registry/wrangles/select/highest-confidence.md +++ b/registry/wrangles/select/highest-confidence.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 00aad85d-8cc8-42e5-86f3-e4ff916e8ac2 wrangle_name: highest_confidence @@ -13,6 +13,8 @@ aliases: [] slug: select/highest-confidence status: active visibility: public +recipe_writer: + eligible: true tags: - select - highest-confidence diff --git a/registry/wrangles/select/left.md b/registry/wrangles/select/left.md index 4fb625f..fa814fd 100644 --- a/registry/wrangles/select/left.md +++ b/registry/wrangles/select/left.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 5cdd9857-0c77-43bf-80d7-d0a8cb6f980b wrangle_name: left @@ -13,6 +13,8 @@ aliases: [] slug: select/left status: active visibility: public +recipe_writer: + eligible: true tags: - select - left diff --git a/registry/wrangles/select/length.md b/registry/wrangles/select/length.md index 00ee362..71e28b7 100644 --- a/registry/wrangles/select/length.md +++ b/registry/wrangles/select/length.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 4d7a5f66-0a4a-40e0-8298-d5c55754423d wrangle_name: length @@ -13,6 +13,8 @@ aliases: [] slug: select/length status: active visibility: public +recipe_writer: + eligible: true tags: - select - length diff --git a/registry/wrangles/select/list-element.md b/registry/wrangles/select/list-element.md index c83902b..b52b2da 100644 --- a/registry/wrangles/select/list-element.md +++ b/registry/wrangles/select/list-element.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: ec40495d-d29a-4f62-86dd-eafa43cf388a wrangle_name: list_element @@ -11,6 +11,8 @@ aliases: [] slug: select/list-element status: active visibility: public +recipe_writer: + eligible: true tags: - select - list-element diff --git a/registry/wrangles/select/right.md b/registry/wrangles/select/right.md index c46a334..0c526e9 100644 --- a/registry/wrangles/select/right.md +++ b/registry/wrangles/select/right.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 89ee82ec-3bc5-4bfa-899b-7a1260ef9bdb wrangle_name: right @@ -13,6 +13,8 @@ aliases: [] slug: select/right status: active visibility: public +recipe_writer: + eligible: true tags: - select - right diff --git a/registry/wrangles/select/sample.md b/registry/wrangles/select/sample.md index d663762..a168b48 100644 --- a/registry/wrangles/select/sample.md +++ b/registry/wrangles/select/sample.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 95a84ab6-a66e-450f-8a4a-7a87e3a77932 wrangle_name: sample @@ -11,6 +11,8 @@ aliases: [] slug: select/sample status: active visibility: public +recipe_writer: + eligible: true tags: - select - sample diff --git a/registry/wrangles/select/substring.md b/registry/wrangles/select/substring.md index a2461c0..1122c1b 100644 --- a/registry/wrangles/select/substring.md +++ b/registry/wrangles/select/substring.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 8befddf8-602e-4fa9-8f16-4c547210ebec wrangle_name: substring @@ -11,6 +11,8 @@ aliases: [] slug: select/substring status: active visibility: public +recipe_writer: + eligible: true tags: - select - substring diff --git a/registry/wrangles/select/tail.md b/registry/wrangles/select/tail.md index be85f43..9c94df1 100644 --- a/registry/wrangles/select/tail.md +++ b/registry/wrangles/select/tail.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 60853759-c160-49a4-87eb-036516a9d823 wrangle_name: tail @@ -11,6 +11,8 @@ aliases: [] slug: select/tail status: active visibility: public +recipe_writer: + eligible: true tags: - select - tail diff --git a/registry/wrangles/select/threshold.md b/registry/wrangles/select/threshold.md index 58dcb94..e27f966 100644 --- a/registry/wrangles/select/threshold.md +++ b/registry/wrangles/select/threshold.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: af2a5dcc-0ec0-48d7-8fb4-f58d9c5391d2 wrangle_name: threshold @@ -11,6 +11,8 @@ aliases: [] slug: select/threshold status: active visibility: public +recipe_writer: + eligible: true tags: - select - threshold diff --git a/registry/wrangles/split/dictionary.md b/registry/wrangles/split/dictionary.md index 163b991..a31f6c6 100644 --- a/registry/wrangles/split/dictionary.md +++ b/registry/wrangles/split/dictionary.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 06ca98e4-d026-43f7-84eb-af246d401ba9 wrangle_name: dictionary @@ -13,6 +13,8 @@ aliases: [] slug: split/dictionary status: active visibility: public +recipe_writer: + eligible: true tags: - split - dictionary diff --git a/registry/wrangles/split/list.md b/registry/wrangles/split/list.md index 889d858..3b7672e 100644 --- a/registry/wrangles/split/list.md +++ b/registry/wrangles/split/list.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 3260b9f7-aae2-499f-8004-d211c2cf643e wrangle_name: list @@ -11,6 +11,8 @@ aliases: [] slug: split/list status: active visibility: public +recipe_writer: + eligible: true tags: - split - list diff --git a/registry/wrangles/split/text.md b/registry/wrangles/split/text.md index 968c26d..e052f9a 100644 --- a/registry/wrangles/split/text.md +++ b/registry/wrangles/split/text.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: e76e43f7-d129-4bf8-87b4-a304a378b130 wrangle_name: text @@ -11,6 +11,8 @@ aliases: [] slug: split/text status: active visibility: public +recipe_writer: + eligible: true tags: - split - text diff --git a/registry/wrangles/split/tokenize.md b/registry/wrangles/split/tokenize.md index 00b6211..dce6012 100644 --- a/registry/wrangles/split/tokenize.md +++ b/registry/wrangles/split/tokenize.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 6cc88418-ae0c-43f6-84ee-31e0d5f838c3 wrangle_name: tokenize @@ -13,6 +13,8 @@ aliases: [] slug: split/tokenize status: active visibility: public +recipe_writer: + eligible: true tags: - split - tokenize diff --git a/registry/wrangles/standardize/clean.md b/registry/wrangles/standardize/clean.md index 4bcbff0..fced91a 100644 --- a/registry/wrangles/standardize/clean.md +++ b/registry/wrangles/standardize/clean.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: clean @@ -13,6 +13,8 @@ aliases: [] slug: standardize/clean status: active visibility: public +recipe_writer: + eligible: true tags: - standardize - clean diff --git a/registry/wrangles/standardize/custom.md b/registry/wrangles/standardize/custom.md index a8e98e2..61f8fee 100644 --- a/registry/wrangles/standardize/custom.md +++ b/registry/wrangles/standardize/custom.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: custom @@ -13,6 +13,8 @@ aliases: [] slug: standardize/custom status: active visibility: public +recipe_writer: + eligible: true tags: - standardize - custom diff --git a/wrangles-docs/registry-docs/accordion.md b/wrangles-docs/registry-docs/accordion.md index 2ef9058..97263c1 100644 --- a/wrangles-docs/registry-docs/accordion.md +++ b/wrangles-docs/registry-docs/accordion.md @@ -94,6 +94,8 @@ wrangles: | --- | --- | | Recipe key | `accordion` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Nested-list orchestration is not supported in the baseline. | | Namespace | Root-level | | Documentation group | `utility` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/batch.md b/wrangles-docs/registry-docs/batch.md index e080f23..c5b548b 100644 --- a/wrangles-docs/registry-docs/batch.md +++ b/wrangles-docs/registry-docs/batch.md @@ -103,6 +103,7 @@ wrangles: | --- | --- | | Recipe key | `batch` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `utility` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/classify.md b/wrangles-docs/registry-docs/classify.md index 76b92a0..4240486 100644 --- a/wrangles-docs/registry-docs/classify.md +++ b/wrangles-docs/registry-docs/classify.md @@ -88,6 +88,7 @@ wrangles: | --- | --- | | Recipe key | `classify` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `ai` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/clean-whitespaces.md b/wrangles-docs/registry-docs/clean-whitespaces.md index 79d5e33..8dc7aaf 100644 --- a/wrangles-docs/registry-docs/clean-whitespaces.md +++ b/wrangles-docs/registry-docs/clean-whitespaces.md @@ -84,6 +84,7 @@ wrangles: | --- | --- | | Recipe key | `clean_whitespaces` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `format` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/compare/lists.md b/wrangles-docs/registry-docs/compare/lists.md index 8c1d67e..62a0125 100644 --- a/wrangles-docs/registry-docs/compare/lists.md +++ b/wrangles-docs/registry-docs/compare/lists.md @@ -167,6 +167,7 @@ wrangles: | --- | --- | | Recipe key | `compare.lists` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `compare` | | Documentation group | `compare` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/compare/text.md b/wrangles-docs/registry-docs/compare/text.md index 86d3b08..dca5243 100644 --- a/wrangles-docs/registry-docs/compare/text.md +++ b/wrangles-docs/registry-docs/compare/text.md @@ -176,6 +176,7 @@ wrangles: | --- | --- | | Recipe key | `compare.text` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `compare` | | Documentation group | `compare` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/compute/case-when.md b/wrangles-docs/registry-docs/compute/case-when.md index c052e21..5fd5393 100644 --- a/wrangles-docs/registry-docs/compute/case-when.md +++ b/wrangles-docs/registry-docs/compute/case-when.md @@ -143,6 +143,7 @@ wrangles: | --- | --- | | Recipe key | `compute.case_when` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `compute` | | Documentation group | `compute` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/compute/score-search-results.md b/wrangles-docs/registry-docs/compute/score-search-results.md index 37e3aad..b1a5739 100644 --- a/wrangles-docs/registry-docs/compute/score-search-results.md +++ b/wrangles-docs/registry-docs/compute/score-search-results.md @@ -107,6 +107,7 @@ _Template based on the documented parameters; no published source example is cur | --- | --- | | Recipe key | `compute.score_search_results` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `compute` | | Documentation group | `compute` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/concurrent.md b/wrangles-docs/registry-docs/concurrent.md index a9d17fa..7d00826 100644 --- a/wrangles-docs/registry-docs/concurrent.md +++ b/wrangles-docs/registry-docs/concurrent.md @@ -92,6 +92,8 @@ wrangles: | --- | --- | | Recipe key | `concurrent` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Concurrent orchestration is not supported in the baseline. | | Namespace | Root-level | | Documentation group | `utility` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/convert/case.md b/wrangles-docs/registry-docs/convert/case.md index 9138a41..62b1133 100644 --- a/wrangles-docs/registry-docs/convert/case.md +++ b/wrangles-docs/registry-docs/convert/case.md @@ -93,6 +93,7 @@ wrangles: | --- | --- | | Recipe key | `convert.case` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `convert` | | Documentation group | `convert` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/convert/data-type.md b/wrangles-docs/registry-docs/convert/data-type.md index 1c288f8..751bbe0 100644 --- a/wrangles-docs/registry-docs/convert/data-type.md +++ b/wrangles-docs/registry-docs/convert/data-type.md @@ -98,6 +98,7 @@ wrangles: | --- | --- | | Recipe key | `convert.data_type` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `convert` | | Documentation group | `convert` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/convert/fraction-to-decimal.md b/wrangles-docs/registry-docs/convert/fraction-to-decimal.md index 832f523..6740f0c 100644 --- a/wrangles-docs/registry-docs/convert/fraction-to-decimal.md +++ b/wrangles-docs/registry-docs/convert/fraction-to-decimal.md @@ -85,6 +85,7 @@ wrangles: | --- | --- | | Recipe key | `convert.fraction_to_decimal` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `convert` | | Documentation group | `convert` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/convert/from-json.md b/wrangles-docs/registry-docs/convert/from-json.md index 4cdbf40..0e718af 100644 --- a/wrangles-docs/registry-docs/convert/from-json.md +++ b/wrangles-docs/registry-docs/convert/from-json.md @@ -94,6 +94,7 @@ wrangles: | --- | --- | | Recipe key | `convert.from_json` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `convert` | | Documentation group | `convert` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/convert/from-yaml.md b/wrangles-docs/registry-docs/convert/from-yaml.md index 9844b44..572629d 100644 --- a/wrangles-docs/registry-docs/convert/from-yaml.md +++ b/wrangles-docs/registry-docs/convert/from-yaml.md @@ -90,6 +90,7 @@ Product Specs: | --- | --- | | Recipe key | `convert.from_yaml` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `convert` | | Documentation group | `convert` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/convert/to-json.md b/wrangles-docs/registry-docs/convert/to-json.md index 5fadcf6..b293b2b 100644 --- a/wrangles-docs/registry-docs/convert/to-json.md +++ b/wrangles-docs/registry-docs/convert/to-json.md @@ -86,6 +86,7 @@ wrangles: | --- | --- | | Recipe key | `convert.to_json` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `convert` | | Documentation group | `convert` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/convert/to-yaml.md b/wrangles-docs/registry-docs/convert/to-yaml.md index 5c9216b..8b32bd2 100644 --- a/wrangles-docs/registry-docs/convert/to-yaml.md +++ b/wrangles-docs/registry-docs/convert/to-yaml.md @@ -93,6 +93,7 @@ Product Specs: | --- | --- | | Recipe key | `convert.to_yaml` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `convert` | | Documentation group | `convert` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/copy.md b/wrangles-docs/registry-docs/copy.md index 086bd4d..4b980a1 100644 --- a/wrangles-docs/registry-docs/copy.md +++ b/wrangles-docs/registry-docs/copy.md @@ -114,6 +114,7 @@ wrangles: | --- | --- | | Recipe key | `copy` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `transform` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/create/bins.md b/wrangles-docs/registry-docs/create/bins.md index 6c1b19d..9be2ad9 100644 --- a/wrangles-docs/registry-docs/create/bins.md +++ b/wrangles-docs/registry-docs/create/bins.md @@ -148,6 +148,7 @@ wrangles: | --- | --- | | Recipe key | `create.bins` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/create/column.md b/wrangles-docs/registry-docs/create/column.md index 8e5cb45..75abeaa 100644 --- a/wrangles-docs/registry-docs/create/column.md +++ b/wrangles-docs/registry-docs/create/column.md @@ -165,6 +165,7 @@ Columns of empty lists can also be created by passing an empty list (`[]`) as th | --- | --- | | Recipe key | `create.column` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/create/embeddings.md b/wrangles-docs/registry-docs/create/embeddings.md index 32a595c..8e653af 100644 --- a/wrangles-docs/registry-docs/create/embeddings.md +++ b/wrangles-docs/registry-docs/create/embeddings.md @@ -98,6 +98,7 @@ wrangles: | --- | --- | | Recipe key | `create.embeddings` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/create/guid.md b/wrangles-docs/registry-docs/create/guid.md index 0a4b651..c6612af 100644 --- a/wrangles-docs/registry-docs/create/guid.md +++ b/wrangles-docs/registry-docs/create/guid.md @@ -82,6 +82,7 @@ _No sample available._ | --- | --- | | Recipe key | `create.guid` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/create/hash.md b/wrangles-docs/registry-docs/create/hash.md index 3281a7b..bd6d75c 100644 --- a/wrangles-docs/registry-docs/create/hash.md +++ b/wrangles-docs/registry-docs/create/hash.md @@ -85,6 +85,7 @@ wrangles: | --- | --- | | Recipe key | `create.hash` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/create/index.md b/wrangles-docs/registry-docs/create/index.md index e012850..1087a22 100644 --- a/wrangles-docs/registry-docs/create/index.md +++ b/wrangles-docs/registry-docs/create/index.md @@ -83,6 +83,7 @@ _No sample available._ | --- | --- | | Recipe key | `create.index` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/create/jinja.md b/wrangles-docs/registry-docs/create/jinja.md index 0a74f46..3fafe3a 100644 --- a/wrangles-docs/registry-docs/create/jinja.md +++ b/wrangles-docs/registry-docs/create/jinja.md @@ -92,6 +92,7 @@ Using `|` in YAML denotes a multi-line string that preserves line breaks. Use `> | --- | --- | | Recipe key | `create.jinja` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/create/uuid.md b/wrangles-docs/registry-docs/create/uuid.md index 40de29e..37594ee 100644 --- a/wrangles-docs/registry-docs/create/uuid.md +++ b/wrangles-docs/registry-docs/create/uuid.md @@ -82,6 +82,7 @@ _No sample available._ | --- | --- | | Recipe key | `create.uuid` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/date-calculator.md b/wrangles-docs/registry-docs/date-calculator.md index 026278e..a891a29 100644 --- a/wrangles-docs/registry-docs/date-calculator.md +++ b/wrangles-docs/registry-docs/date-calculator.md @@ -87,6 +87,7 @@ wrangles: | --- | --- | | Recipe key | `date_calculator` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `date` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/drop.md b/wrangles-docs/registry-docs/drop.md index a4dcef7..580e623 100644 --- a/wrangles-docs/registry-docs/drop.md +++ b/wrangles-docs/registry-docs/drop.md @@ -79,6 +79,7 @@ wrangles: | --- | --- | | Recipe key | `drop` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/explode.md b/wrangles-docs/registry-docs/explode.md index 08a90ef..cbf2a03 100644 --- a/wrangles-docs/registry-docs/explode.md +++ b/wrangles-docs/registry-docs/explode.md @@ -89,6 +89,7 @@ wrangles: | --- | --- | | Recipe key | `explode` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `split` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/extract/address.md b/wrangles-docs/registry-docs/extract/address.md index b3def87..1006cbd 100644 --- a/wrangles-docs/registry-docs/extract/address.md +++ b/wrangles-docs/registry-docs/extract/address.md @@ -89,6 +89,7 @@ wrangles: | --- | --- | | Recipe key | `extract.address` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/extract/ai.md b/wrangles-docs/registry-docs/extract/ai.md index fff609b..e526caa 100644 --- a/wrangles-docs/registry-docs/extract/ai.md +++ b/wrangles-docs/registry-docs/extract/ai.md @@ -198,6 +198,7 @@ wrangles: | --- | --- | | Recipe key | `extract.ai` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/extract/attributes.md b/wrangles-docs/registry-docs/extract/attributes.md index 6a1f944..7d5edbe 100644 --- a/wrangles-docs/registry-docs/extract/attributes.md +++ b/wrangles-docs/registry-docs/extract/attributes.md @@ -151,6 +151,7 @@ _No sample available._ | --- | --- | | Recipe key | `extract.attributes` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/extract/brackets.md b/wrangles-docs/registry-docs/extract/brackets.md index 791da62..2803c96 100644 --- a/wrangles-docs/registry-docs/extract/brackets.md +++ b/wrangles-docs/registry-docs/extract/brackets.md @@ -92,6 +92,7 @@ wrangles: | --- | --- | | Recipe key | `extract.brackets` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/extract/codes.md b/wrangles-docs/registry-docs/extract/codes.md index c42d2e3..7c4651b 100644 --- a/wrangles-docs/registry-docs/extract/codes.md +++ b/wrangles-docs/registry-docs/extract/codes.md @@ -127,6 +127,7 @@ wrangles: | --- | --- | | Recipe key | `extract.codes` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/extract/custom.md b/wrangles-docs/registry-docs/extract/custom.md index 2c24ba8..38b0f7b 100644 --- a/wrangles-docs/registry-docs/extract/custom.md +++ b/wrangles-docs/registry-docs/extract/custom.md @@ -174,6 +174,7 @@ _No sample available._ | --- | --- | | Recipe key | `extract.custom` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/extract/date-properties.md b/wrangles-docs/registry-docs/extract/date-properties.md index 7c329a3..70b0184 100644 --- a/wrangles-docs/registry-docs/extract/date-properties.md +++ b/wrangles-docs/registry-docs/extract/date-properties.md @@ -83,6 +83,7 @@ wrangles: | --- | --- | | Recipe key | `extract.date_properties` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/extract/date-range.md b/wrangles-docs/registry-docs/extract/date-range.md index ceb97cd..8dc48ce 100644 --- a/wrangles-docs/registry-docs/extract/date-range.md +++ b/wrangles-docs/registry-docs/extract/date-range.md @@ -83,6 +83,7 @@ _No sample available._ | --- | --- | | Recipe key | `extract.date_range` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/extract/html.md b/wrangles-docs/registry-docs/extract/html.md index 23a4966..0889b88 100644 --- a/wrangles-docs/registry-docs/extract/html.md +++ b/wrangles-docs/registry-docs/extract/html.md @@ -118,6 +118,7 @@ wrangles: | --- | --- | | Recipe key | `extract.html` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/extract/properties.md b/wrangles-docs/registry-docs/extract/properties.md index f7f2b72..45295bf 100644 --- a/wrangles-docs/registry-docs/extract/properties.md +++ b/wrangles-docs/registry-docs/extract/properties.md @@ -117,6 +117,7 @@ _No sample available._ | --- | --- | | Recipe key | `extract.properties` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/extract/regex.md b/wrangles-docs/registry-docs/extract/regex.md index 0527db2..ce49c4f 100644 --- a/wrangles-docs/registry-docs/extract/regex.md +++ b/wrangles-docs/registry-docs/extract/regex.md @@ -125,6 +125,7 @@ wrangles: | --- | --- | | Recipe key | `extract.regex` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/filter.md b/wrangles-docs/registry-docs/filter.md index 336a37a..3b70451 100644 --- a/wrangles-docs/registry-docs/filter.md +++ b/wrangles-docs/registry-docs/filter.md @@ -98,6 +98,7 @@ wrangles: | --- | --- | | Recipe key | `filter` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/format/dates.md b/wrangles-docs/registry-docs/format/dates.md index b633de3..8b87998 100644 --- a/wrangles-docs/registry-docs/format/dates.md +++ b/wrangles-docs/registry-docs/format/dates.md @@ -83,6 +83,7 @@ wrangles: | --- | --- | | Recipe key | `format.dates` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/format/pad.md b/wrangles-docs/registry-docs/format/pad.md index 9fc9882..e53a6a7 100644 --- a/wrangles-docs/registry-docs/format/pad.md +++ b/wrangles-docs/registry-docs/format/pad.md @@ -94,6 +94,7 @@ wrangles: | --- | --- | | Recipe key | `format.pad` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/format/prefix.md b/wrangles-docs/registry-docs/format/prefix.md index 530b383..c1972a5 100644 --- a/wrangles-docs/registry-docs/format/prefix.md +++ b/wrangles-docs/registry-docs/format/prefix.md @@ -88,6 +88,7 @@ wrangles: | --- | --- | | Recipe key | `format.prefix` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/format/price-breaks.md b/wrangles-docs/registry-docs/format/price-breaks.md index ca977b7..7393c58 100644 --- a/wrangles-docs/registry-docs/format/price-breaks.md +++ b/wrangles-docs/registry-docs/format/price-breaks.md @@ -59,6 +59,8 @@ This guidance was derived from the callable signature. | --- | --- | | Recipe key | `format.price_breaks` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | This newer wrangle is outside the pinned baseline. | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/format/remove-duplicates.md b/wrangles-docs/registry-docs/format/remove-duplicates.md index ba4b917..7c86022 100644 --- a/wrangles-docs/registry-docs/format/remove-duplicates.md +++ b/wrangles-docs/registry-docs/format/remove-duplicates.md @@ -85,6 +85,7 @@ wrangles: | --- | --- | | Recipe key | `format.remove_duplicates` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/format/significant-figures.md b/wrangles-docs/registry-docs/format/significant-figures.md index dca1ff7..00f2150 100644 --- a/wrangles-docs/registry-docs/format/significant-figures.md +++ b/wrangles-docs/registry-docs/format/significant-figures.md @@ -87,6 +87,7 @@ wrangles: | --- | --- | | Recipe key | `format.significant_figures` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/format/suffix.md b/wrangles-docs/registry-docs/format/suffix.md index b407dc8..177fa6e 100644 --- a/wrangles-docs/registry-docs/format/suffix.md +++ b/wrangles-docs/registry-docs/format/suffix.md @@ -88,6 +88,7 @@ wrangles: | --- | --- | | Recipe key | `format.suffix` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/format/trim.md b/wrangles-docs/registry-docs/format/trim.md index 6e92c7b..0e6fc4e 100644 --- a/wrangles-docs/registry-docs/format/trim.md +++ b/wrangles-docs/registry-docs/format/trim.md @@ -85,6 +85,7 @@ wrangles: | --- | --- | | Recipe key | `format.trim` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/generate/ai.md b/wrangles-docs/registry-docs/generate/ai.md index 4d921d7..5228869 100644 --- a/wrangles-docs/registry-docs/generate/ai.md +++ b/wrangles-docs/registry-docs/generate/ai.md @@ -108,6 +108,7 @@ _Template based on the documented parameters; no published source example is cur | --- | --- | | Recipe key | `generate.ai` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `generate` | | Documentation group | `generate` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/huggingface.md b/wrangles-docs/registry-docs/huggingface.md index 8e3c5a4..20150a2 100644 --- a/wrangles-docs/registry-docs/huggingface.md +++ b/wrangles-docs/registry-docs/huggingface.md @@ -95,6 +95,7 @@ _Template based on the documented parameters; no published source example is cur | --- | --- | | Recipe key | `huggingface` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `ai` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/log.md b/wrangles-docs/registry-docs/log.md index 69f6b5b..9707d26 100644 --- a/wrangles-docs/registry-docs/log.md +++ b/wrangles-docs/registry-docs/log.md @@ -147,6 +147,8 @@ _Logs a sample of rows or status information to the configured destination._ | --- | --- | | Recipe key | `log` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Operational logging steps are not authored in the baseline. | | Namespace | Root-level | | Documentation group | `utility` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/lookup.md b/wrangles-docs/registry-docs/lookup.md index ee4cc99..081dab5 100644 --- a/wrangles-docs/registry-docs/lookup.md +++ b/wrangles-docs/registry-docs/lookup.md @@ -91,6 +91,7 @@ wrangles: | --- | --- | | Recipe key | `lookup` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `lookup` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/math.md b/wrangles-docs/registry-docs/math.md index de11eaf..fbdbb90 100644 --- a/wrangles-docs/registry-docs/math.md +++ b/wrangles-docs/registry-docs/math.md @@ -88,6 +88,7 @@ wrangles: | --- | --- | | Recipe key | `math` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `compute` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/maths.md b/wrangles-docs/registry-docs/maths.md index 65c6549..c042567 100644 --- a/wrangles-docs/registry-docs/maths.md +++ b/wrangles-docs/registry-docs/maths.md @@ -61,6 +61,8 @@ This guidance was derived from the callable signature. | --- | --- | | Recipe key | `maths` | | Lifecycle status | deprecated | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Deprecated compatibility key; use math. | | Replaced by | [`math`](/wrangles/namespaces/compute#math) | | Namespace | Root-level | | Documentation group | `compute` | diff --git a/wrangles-docs/registry-docs/matrix.md b/wrangles-docs/registry-docs/matrix.md index 8dde35b..97889a4 100644 --- a/wrangles-docs/registry-docs/matrix.md +++ b/wrangles-docs/registry-docs/matrix.md @@ -158,6 +158,8 @@ wrangles: | --- | --- | | Recipe key | `matrix` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Matrix orchestration is not supported in the baseline. | | Namespace | Root-level | | Documentation group | `utility` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/merge/coalesce.md b/wrangles-docs/registry-docs/merge/coalesce.md index b504ca1..c6ab23b 100644 --- a/wrangles-docs/registry-docs/merge/coalesce.md +++ b/wrangles-docs/registry-docs/merge/coalesce.md @@ -88,6 +88,7 @@ wrangles: | --- | --- | | Recipe key | `merge.coalesce` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `merge` | | Documentation group | `merge` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/merge/concatenate.md b/wrangles-docs/registry-docs/merge/concatenate.md index 16d70c3..b052c82 100644 --- a/wrangles-docs/registry-docs/merge/concatenate.md +++ b/wrangles-docs/registry-docs/merge/concatenate.md @@ -122,6 +122,7 @@ wrangles: | --- | --- | | Recipe key | `merge.concatenate` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `merge` | | Documentation group | `merge` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/merge/dictionaries.md b/wrangles-docs/registry-docs/merge/dictionaries.md index 42da0ac..010cbc2 100644 --- a/wrangles-docs/registry-docs/merge/dictionaries.md +++ b/wrangles-docs/registry-docs/merge/dictionaries.md @@ -158,6 +158,7 @@ Note the extra dash in front of `Dict 2` excludes that column from the wildcard | --- | --- | | Recipe key | `merge.dictionaries` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `merge` | | Documentation group | `merge` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/merge/key-value-pairs.md b/wrangles-docs/registry-docs/merge/key-value-pairs.md index 193d668..b461213 100644 --- a/wrangles-docs/registry-docs/merge/key-value-pairs.md +++ b/wrangles-docs/registry-docs/merge/key-value-pairs.md @@ -124,6 +124,7 @@ wrangles: | --- | --- | | Recipe key | `merge.key_value_pairs` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `merge` | | Documentation group | `merge` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/merge/lists.md b/wrangles-docs/registry-docs/merge/lists.md index 142eacd..a336522 100644 --- a/wrangles-docs/registry-docs/merge/lists.md +++ b/wrangles-docs/registry-docs/merge/lists.md @@ -87,6 +87,7 @@ wrangles: | --- | --- | | Recipe key | `merge.lists` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `merge` | | Documentation group | `merge` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/merge/to-dict.md b/wrangles-docs/registry-docs/merge/to-dict.md index 8082cae..4a3c17f 100644 --- a/wrangles-docs/registry-docs/merge/to-dict.md +++ b/wrangles-docs/registry-docs/merge/to-dict.md @@ -84,6 +84,7 @@ wrangles: | --- | --- | | Recipe key | `merge.to_dict` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `merge` | | Documentation group | `merge` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/merge/to-list.md b/wrangles-docs/registry-docs/merge/to-list.md index c18aa64..cc4eda5 100644 --- a/wrangles-docs/registry-docs/merge/to-list.md +++ b/wrangles-docs/registry-docs/merge/to-list.md @@ -85,6 +85,7 @@ wrangles: | --- | --- | | Recipe key | `merge.to_list` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `merge` | | Documentation group | `merge` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/ai.md b/wrangles-docs/registry-docs/namespaces/ai.md index 56a8fcd..7bc3ab8 100644 --- a/wrangles-docs/registry-docs/namespaces/ai.md +++ b/wrangles-docs/registry-docs/namespaces/ai.md @@ -92,6 +92,7 @@ wrangles: | --- | --- | | Recipe key | `classify` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `ai` | | Aliases | None | @@ -194,6 +195,7 @@ _Template based on the documented parameters; no published source example is cur | --- | --- | | Recipe key | `huggingface` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `ai` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/compare.md b/wrangles-docs/registry-docs/namespaces/compare.md index 2160857..75dc75b 100644 --- a/wrangles-docs/registry-docs/namespaces/compare.md +++ b/wrangles-docs/registry-docs/namespaces/compare.md @@ -171,6 +171,7 @@ wrangles: | --- | --- | | Recipe key | `compare.lists` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `compare` | | Documentation group | `compare` | | Aliases | None | @@ -354,6 +355,7 @@ wrangles: | --- | --- | | Recipe key | `compare.text` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `compare` | | Documentation group | `compare` | | Aliases | None | @@ -462,6 +464,7 @@ wrangles: | --- | --- | | Recipe key | `similarity` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `compare` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/compute.md b/wrangles-docs/registry-docs/namespaces/compute.md index 17091cc..73a631d 100644 --- a/wrangles-docs/registry-docs/namespaces/compute.md +++ b/wrangles-docs/registry-docs/namespaces/compute.md @@ -147,6 +147,7 @@ wrangles: | --- | --- | | Recipe key | `compute.case_when` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `compute` | | Documentation group | `compute` | | Aliases | None | @@ -261,6 +262,7 @@ _Template based on the documented parameters; no published source example is cur | --- | --- | | Recipe key | `compute.score_search_results` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `compute` | | Documentation group | `compute` | | Aliases | None | @@ -356,6 +358,7 @@ wrangles: | --- | --- | | Recipe key | `math` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `compute` | | Aliases | None | @@ -481,6 +484,7 @@ _No sample available._ | --- | --- | | Recipe key | `python` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `compute` | | Aliases | None | @@ -580,6 +584,7 @@ wrangles: | --- | --- | | Recipe key | `sql` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `compute` | | Aliases | None | @@ -648,6 +653,8 @@ This guidance was derived from the callable signature. | --- | --- | | Recipe key | `maths` | | Lifecycle status | deprecated | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Deprecated compatibility key; use math. | | Replaced by | [`math`](/wrangles/namespaces/compute#math) | | Namespace | Root-level | | Documentation group | `compute` | diff --git a/wrangles-docs/registry-docs/namespaces/convert.md b/wrangles-docs/registry-docs/namespaces/convert.md index cd8e28c..df25261 100644 --- a/wrangles-docs/registry-docs/namespaces/convert.md +++ b/wrangles-docs/registry-docs/namespaces/convert.md @@ -97,6 +97,7 @@ wrangles: | --- | --- | | Recipe key | `convert.case` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `convert` | | Documentation group | `convert` | | Aliases | None | @@ -202,6 +203,7 @@ wrangles: | --- | --- | | Recipe key | `convert.data_type` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `convert` | | Documentation group | `convert` | | Aliases | None | @@ -294,6 +296,7 @@ wrangles: | --- | --- | | Recipe key | `convert.fraction_to_decimal` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `convert` | | Documentation group | `convert` | | Aliases | None | @@ -395,6 +398,7 @@ wrangles: | --- | --- | | Recipe key | `convert.from_json` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `convert` | | Documentation group | `convert` | | Aliases | None | @@ -492,6 +496,7 @@ Product Specs: | --- | --- | | Recipe key | `convert.from_yaml` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `convert` | | Documentation group | `convert` | | Aliases | None | @@ -585,6 +590,7 @@ wrangles: | --- | --- | | Recipe key | `convert.to_json` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `convert` | | Documentation group | `convert` | | Aliases | None | @@ -685,6 +691,7 @@ Product Specs: | --- | --- | | Recipe key | `convert.to_yaml` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `convert` | | Documentation group | `convert` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/create.md b/wrangles-docs/registry-docs/namespaces/create.md index ba2393d..24fc1d7 100644 --- a/wrangles-docs/registry-docs/namespaces/create.md +++ b/wrangles-docs/registry-docs/namespaces/create.md @@ -152,6 +152,7 @@ wrangles: | --- | --- | | Recipe key | `create.bins` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | @@ -324,6 +325,7 @@ Columns of empty lists can also be created by passing an empty list (`[]`) as th | --- | --- | | Recipe key | `create.column` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | @@ -429,6 +431,7 @@ wrangles: | --- | --- | | Recipe key | `create.embeddings` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | @@ -518,6 +521,7 @@ _No sample available._ | --- | --- | | Recipe key | `create.guid` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | @@ -610,6 +614,7 @@ wrangles: | --- | --- | | Recipe key | `create.hash` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | @@ -700,6 +705,7 @@ _No sample available._ | --- | --- | | Recipe key | `create.index` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | @@ -799,6 +805,7 @@ Using `|` in YAML denotes a multi-line string that preserves line breaks. Use `> | --- | --- | | Recipe key | `create.jinja` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | @@ -888,6 +895,7 @@ _No sample available._ | --- | --- | | Recipe key | `create.uuid` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `create` | | Documentation group | `create` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/date.md b/wrangles-docs/registry-docs/namespaces/date.md index 9fc85cd..67709d8 100644 --- a/wrangles-docs/registry-docs/namespaces/date.md +++ b/wrangles-docs/registry-docs/namespaces/date.md @@ -91,6 +91,7 @@ wrangles: | --- | --- | | Recipe key | `date_calculator` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `date` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/extract.md b/wrangles-docs/registry-docs/namespaces/extract.md index b18acfe..e73193b 100644 --- a/wrangles-docs/registry-docs/namespaces/extract.md +++ b/wrangles-docs/registry-docs/namespaces/extract.md @@ -93,6 +93,7 @@ wrangles: | --- | --- | | Recipe key | `extract.address` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | @@ -298,6 +299,7 @@ wrangles: | --- | --- | | Recipe key | `extract.ai` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | @@ -456,6 +458,7 @@ _No sample available._ | --- | --- | | Recipe key | `extract.attributes` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | @@ -555,6 +558,7 @@ wrangles: | --- | --- | | Recipe key | `extract.brackets` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | @@ -689,6 +693,7 @@ wrangles: | --- | --- | | Recipe key | `extract.codes` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | @@ -870,6 +875,7 @@ _No sample available._ | --- | --- | | Recipe key | `extract.custom` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | @@ -960,6 +966,7 @@ wrangles: | --- | --- | | Recipe key | `extract.date_properties` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | @@ -1050,6 +1057,7 @@ _No sample available._ | --- | --- | | Recipe key | `extract.date_range` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | @@ -1175,6 +1183,7 @@ wrangles: | --- | --- | | Recipe key | `extract.html` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | @@ -1299,6 +1308,7 @@ _No sample available._ | --- | --- | | Recipe key | `extract.properties` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | @@ -1431,6 +1441,7 @@ wrangles: | --- | --- | | Recipe key | `extract.regex` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `extract` | | Documentation group | `extract` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/format.md b/wrangles-docs/registry-docs/namespaces/format.md index 3338245..3dc8ad0 100644 --- a/wrangles-docs/registry-docs/namespaces/format.md +++ b/wrangles-docs/registry-docs/namespaces/format.md @@ -88,6 +88,7 @@ wrangles: | --- | --- | | Recipe key | `clean_whitespaces` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `format` | | Aliases | None | @@ -178,6 +179,7 @@ wrangles: | --- | --- | | Recipe key | `format.dates` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | @@ -279,6 +281,7 @@ wrangles: | --- | --- | | Recipe key | `format.pad` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | @@ -374,6 +377,7 @@ wrangles: | --- | --- | | Recipe key | `format.prefix` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | @@ -440,6 +444,8 @@ This guidance was derived from the callable signature. | --- | --- | | Recipe key | `format.price_breaks` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | This newer wrangle is outside the pinned baseline. | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | @@ -531,6 +537,7 @@ wrangles: | --- | --- | | Recipe key | `format.remove_duplicates` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | @@ -625,6 +632,7 @@ wrangles: | --- | --- | | Recipe key | `format.significant_figures` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | @@ -720,6 +728,7 @@ wrangles: | --- | --- | | Recipe key | `format.suffix` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | @@ -812,6 +821,7 @@ wrangles: | --- | --- | | Recipe key | `format.trim` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `format` | | Documentation group | `format` | | Aliases | None | @@ -910,6 +920,7 @@ wrangles: | --- | --- | | Recipe key | `remove_words` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `format` | | Aliases | None | @@ -1007,6 +1018,7 @@ wrangles: | --- | --- | | Recipe key | `replace` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `format` | | Aliases | None | @@ -1099,6 +1111,7 @@ wrangles: | --- | --- | | Recipe key | `round` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `format` | | Aliases | None | @@ -1192,6 +1205,7 @@ wrangles: | --- | --- | | Recipe key | `translate` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `format` | | Aliases | None | @@ -1290,6 +1304,8 @@ wrangles: | --- | --- | | Recipe key | `standardize` | | Lifecycle status | deprecated | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Deprecated compatibility key; use standardize.custom. | | Replaced by | [`standardize.custom`](/wrangles/namespaces/standardize#custom) | | Namespace | Root-level | | Documentation group | `format` | diff --git a/wrangles-docs/registry-docs/namespaces/generate.md b/wrangles-docs/registry-docs/namespaces/generate.md index 3ecc7c2..3e13093 100644 --- a/wrangles-docs/registry-docs/namespaces/generate.md +++ b/wrangles-docs/registry-docs/namespaces/generate.md @@ -112,6 +112,7 @@ _Template based on the documented parameters; no published source example is cur | --- | --- | | Recipe key | `generate.ai` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `generate` | | Documentation group | `generate` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/lookup.md b/wrangles-docs/registry-docs/namespaces/lookup.md index 7d91a91..29ac86a 100644 --- a/wrangles-docs/registry-docs/namespaces/lookup.md +++ b/wrangles-docs/registry-docs/namespaces/lookup.md @@ -95,6 +95,7 @@ wrangles: | --- | --- | | Recipe key | `lookup` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `lookup` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/merge.md b/wrangles-docs/registry-docs/namespaces/merge.md index 4e7d7f5..d00e1a5 100644 --- a/wrangles-docs/registry-docs/namespaces/merge.md +++ b/wrangles-docs/registry-docs/namespaces/merge.md @@ -92,6 +92,7 @@ wrangles: | --- | --- | | Recipe key | `merge.coalesce` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `merge` | | Documentation group | `merge` | | Aliases | None | @@ -221,6 +222,7 @@ wrangles: | --- | --- | | Recipe key | `merge.concatenate` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `merge` | | Documentation group | `merge` | | Aliases | None | @@ -386,6 +388,7 @@ Note the extra dash in front of `Dict 2` excludes that column from the wildcard | --- | --- | | Recipe key | `merge.dictionaries` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `merge` | | Documentation group | `merge` | | Aliases | None | @@ -517,6 +520,7 @@ wrangles: | --- | --- | | Recipe key | `merge.key_value_pairs` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `merge` | | Documentation group | `merge` | | Aliases | None | @@ -611,6 +615,7 @@ wrangles: | --- | --- | | Recipe key | `merge.lists` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `merge` | | Documentation group | `merge` | | Aliases | None | @@ -702,6 +707,7 @@ wrangles: | --- | --- | | Recipe key | `merge.to_dict` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `merge` | | Documentation group | `merge` | | Aliases | None | @@ -794,6 +800,7 @@ wrangles: | --- | --- | | Recipe key | `merge.to_list` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `merge` | | Documentation group | `merge` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/search.md b/wrangles-docs/registry-docs/namespaces/search.md index 7fa9e55..e6ae364 100644 --- a/wrangles-docs/registry-docs/namespaces/search.md +++ b/wrangles-docs/registry-docs/namespaces/search.md @@ -108,6 +108,7 @@ _Template based on the documented parameters; no published source example is cur | --- | --- | | Recipe key | `search.find_links` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `search` | | Documentation group | `search` | | Aliases | None | @@ -217,6 +218,7 @@ _Template based on the documented parameters; no published source example is cur | --- | --- | | Recipe key | `search.retrieve_link_content` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `search` | | Documentation group | `search` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/select.md b/wrangles-docs/registry-docs/namespaces/select.md index 3b12a6f..e1f1c18 100644 --- a/wrangles-docs/registry-docs/namespaces/select.md +++ b/wrangles-docs/registry-docs/namespaces/select.md @@ -83,6 +83,7 @@ wrangles: | --- | --- | | Recipe key | `drop` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `select` | | Aliases | None | @@ -188,6 +189,7 @@ wrangles: | --- | --- | | Recipe key | `filter` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `select` | | Aliases | None | @@ -275,6 +277,7 @@ wrangles: | --- | --- | | Recipe key | `select.columns` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | @@ -545,6 +548,7 @@ wrangles: | --- | --- | | Recipe key | `select.dictionary_element` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | @@ -636,6 +640,7 @@ wrangles: | --- | --- | | Recipe key | `select.element` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | @@ -782,6 +787,7 @@ wrangles: | --- | --- | | Recipe key | `select.group_by` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | @@ -871,6 +877,7 @@ wrangles: | --- | --- | | Recipe key | `select.head` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | @@ -997,6 +1004,7 @@ wrangles: | --- | --- | | Recipe key | `select.highest_confidence` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | @@ -1087,6 +1095,7 @@ wrangles: | --- | --- | | Recipe key | `select.left` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | @@ -1174,6 +1183,7 @@ wrangles: | --- | --- | | Recipe key | `select.length` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | @@ -1269,6 +1279,7 @@ wrangles: | --- | --- | | Recipe key | `select.list_element` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | @@ -1359,6 +1370,7 @@ wrangles: | --- | --- | | Recipe key | `select.right` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | @@ -1481,6 +1493,7 @@ wrangles: | --- | --- | | Recipe key | `select.sample` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | @@ -1637,6 +1650,7 @@ wrangles: | --- | --- | | Recipe key | `select.substring` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | @@ -1726,6 +1740,7 @@ wrangles: | --- | --- | | Recipe key | `select.tail` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | @@ -1818,6 +1833,7 @@ wrangles: | --- | --- | | Recipe key | `select.threshold` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | @@ -1916,6 +1932,7 @@ wrangles: | --- | --- | | Recipe key | `sort` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/split.md b/wrangles-docs/registry-docs/namespaces/split.md index 2755ce1..4819499 100644 --- a/wrangles-docs/registry-docs/namespaces/split.md +++ b/wrangles-docs/registry-docs/namespaces/split.md @@ -93,6 +93,7 @@ wrangles: | --- | --- | | Recipe key | `explode` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `split` | | Aliases | None | @@ -342,6 +343,7 @@ wrangles: | --- | --- | | Recipe key | `split.dictionary` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `split` | | Documentation group | `split` | | Aliases | None | @@ -463,6 +465,7 @@ wrangles: | --- | --- | | Recipe key | `split.list` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `split` | | Documentation group | `split` | | Aliases | None | @@ -693,6 +696,7 @@ wrangles: | --- | --- | | Recipe key | `split.text` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `split` | | Documentation group | `split` | | Aliases | None | @@ -814,6 +818,7 @@ wrangles: | --- | --- | | Recipe key | `split.tokenize` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `split` | | Documentation group | `split` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/standardize.md b/wrangles-docs/registry-docs/namespaces/standardize.md index 308ccab..251d9b8 100644 --- a/wrangles-docs/registry-docs/namespaces/standardize.md +++ b/wrangles-docs/registry-docs/namespaces/standardize.md @@ -73,6 +73,7 @@ This guidance was derived from the callable signature and its embedded Python sc | --- | --- | | Recipe key | `standardize.clean` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `standardize` | | Documentation group | `standardize` | | Aliases | None | @@ -140,6 +141,7 @@ This guidance was derived from the callable signature and its embedded Python sc | --- | --- | | Recipe key | `standardize.custom` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `standardize` | | Documentation group | `standardize` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/transform.md b/wrangles-docs/registry-docs/namespaces/transform.md index ccf873b..6bf2000 100644 --- a/wrangles-docs/registry-docs/namespaces/transform.md +++ b/wrangles-docs/registry-docs/namespaces/transform.md @@ -118,6 +118,7 @@ wrangles: | --- | --- | | Recipe key | `copy` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `transform` | | Aliases | None | @@ -226,6 +227,7 @@ wrangles: | --- | --- | | Recipe key | `reindex` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `transform` | | Aliases | None | @@ -395,6 +397,8 @@ wrangles: | --- | --- | | Recipe key | `rename` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Structural rename steps are not supported in the baseline. | | Namespace | Root-level | | Documentation group | `transform` | | Aliases | None | @@ -489,6 +493,7 @@ wrangles: | --- | --- | | Recipe key | `transpose` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `transform` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/namespaces/utility.md b/wrangles-docs/registry-docs/namespaces/utility.md index 6a65a09..6f869b4 100644 --- a/wrangles-docs/registry-docs/namespaces/utility.md +++ b/wrangles-docs/registry-docs/namespaces/utility.md @@ -98,6 +98,8 @@ wrangles: | --- | --- | | Recipe key | `accordion` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Nested-list orchestration is not supported in the baseline. | | Namespace | Root-level | | Documentation group | `utility` | | Aliases | None | @@ -208,6 +210,7 @@ wrangles: | --- | --- | | Recipe key | `batch` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `utility` | | Aliases | None | @@ -307,6 +310,8 @@ wrangles: | --- | --- | | Recipe key | `concurrent` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Concurrent orchestration is not supported in the baseline. | | Namespace | Root-level | | Documentation group | `utility` | | Aliases | None | @@ -461,6 +466,8 @@ _Logs a sample of rows or status information to the configured destination._ | --- | --- | | Recipe key | `log` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Operational logging steps are not authored in the baseline. | | Namespace | Root-level | | Documentation group | `utility` | | Aliases | None | @@ -626,6 +633,8 @@ wrangles: | --- | --- | | Recipe key | `matrix` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Matrix orchestration is not supported in the baseline. | | Namespace | Root-level | | Documentation group | `utility` | | Aliases | None | @@ -694,6 +703,8 @@ This guidance was derived from the callable signature and its embedded Python sc | --- | --- | | Recipe key | `recipe` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Nested recipe composition is outside the baseline. | | Namespace | Root-level | | Documentation group | `utility` | | Aliases | None | @@ -782,6 +793,8 @@ _The primary result is returned on success; the `except` result is returned afte | --- | --- | | Recipe key | `try` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Error-control orchestration is not supported in the baseline. | | Namespace | Root-level | | Documentation group | `utility` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/python.md b/wrangles-docs/registry-docs/python.md index 0688f97..4e9a2e3 100644 --- a/wrangles-docs/registry-docs/python.md +++ b/wrangles-docs/registry-docs/python.md @@ -118,6 +118,7 @@ _No sample available._ | --- | --- | | Recipe key | `python` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `compute` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/recipe.md b/wrangles-docs/registry-docs/recipe.md index 0824f71..f324d58 100644 --- a/wrangles-docs/registry-docs/recipe.md +++ b/wrangles-docs/registry-docs/recipe.md @@ -61,6 +61,8 @@ This guidance was derived from the callable signature and its embedded Python sc | --- | --- | | Recipe key | `recipe` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Nested recipe composition is outside the baseline. | | Namespace | Root-level | | Documentation group | `utility` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/reindex.md b/wrangles-docs/registry-docs/reindex.md index f19161e..0b86975 100644 --- a/wrangles-docs/registry-docs/reindex.md +++ b/wrangles-docs/registry-docs/reindex.md @@ -101,6 +101,7 @@ wrangles: | --- | --- | | Recipe key | `reindex` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `transform` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/remove-words.md b/wrangles-docs/registry-docs/remove-words.md index 565ff96..b6bc3f2 100644 --- a/wrangles-docs/registry-docs/remove-words.md +++ b/wrangles-docs/registry-docs/remove-words.md @@ -91,6 +91,7 @@ wrangles: | --- | --- | | Recipe key | `remove_words` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `format` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/rename.md b/wrangles-docs/registry-docs/rename.md index 613f9df..6cdfb8d 100644 --- a/wrangles-docs/registry-docs/rename.md +++ b/wrangles-docs/registry-docs/rename.md @@ -162,6 +162,8 @@ wrangles: | --- | --- | | Recipe key | `rename` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Structural rename steps are not supported in the baseline. | | Namespace | Root-level | | Documentation group | `transform` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/replace.md b/wrangles-docs/registry-docs/replace.md index da21b96..048baf2 100644 --- a/wrangles-docs/registry-docs/replace.md +++ b/wrangles-docs/registry-docs/replace.md @@ -90,6 +90,7 @@ wrangles: | --- | --- | | Recipe key | `replace` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `format` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/round.md b/wrangles-docs/registry-docs/round.md index faffd8e..d3852c7 100644 --- a/wrangles-docs/registry-docs/round.md +++ b/wrangles-docs/registry-docs/round.md @@ -85,6 +85,7 @@ wrangles: | --- | --- | | Recipe key | `round` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `format` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/search/find-links.md b/wrangles-docs/registry-docs/search/find-links.md index 5dc0cbb..4725e28 100644 --- a/wrangles-docs/registry-docs/search/find-links.md +++ b/wrangles-docs/registry-docs/search/find-links.md @@ -104,6 +104,7 @@ _Template based on the documented parameters; no published source example is cur | --- | --- | | Recipe key | `search.find_links` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `search` | | Documentation group | `search` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/search/retrieve-link-content.md b/wrangles-docs/registry-docs/search/retrieve-link-content.md index dafae77..e9de594 100644 --- a/wrangles-docs/registry-docs/search/retrieve-link-content.md +++ b/wrangles-docs/registry-docs/search/retrieve-link-content.md @@ -102,6 +102,7 @@ _Template based on the documented parameters; no published source example is cur | --- | --- | | Recipe key | `search.retrieve_link_content` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `search` | | Documentation group | `search` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/select/columns.md b/wrangles-docs/registry-docs/select/columns.md index b8c0b20..0a99711 100644 --- a/wrangles-docs/registry-docs/select/columns.md +++ b/wrangles-docs/registry-docs/select/columns.md @@ -80,6 +80,7 @@ wrangles: | --- | --- | | Recipe key | `select.columns` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/select/dictionary-element.md b/wrangles-docs/registry-docs/select/dictionary-element.md index c872aca..db97bfb 100644 --- a/wrangles-docs/registry-docs/select/dictionary-element.md +++ b/wrangles-docs/registry-docs/select/dictionary-element.md @@ -263,6 +263,7 @@ wrangles: | --- | --- | | Recipe key | `select.dictionary_element` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/select/element.md b/wrangles-docs/registry-docs/select/element.md index dbe0083..96db1bd 100644 --- a/wrangles-docs/registry-docs/select/element.md +++ b/wrangles-docs/registry-docs/select/element.md @@ -84,6 +84,7 @@ wrangles: | --- | --- | | Recipe key | `select.element` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/select/group-by.md b/wrangles-docs/registry-docs/select/group-by.md index 05f43e2..0fb078e 100644 --- a/wrangles-docs/registry-docs/select/group-by.md +++ b/wrangles-docs/registry-docs/select/group-by.md @@ -139,6 +139,7 @@ wrangles: | --- | --- | | Recipe key | `select.group_by` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/select/head.md b/wrangles-docs/registry-docs/select/head.md index f5d90fd..ce57703 100644 --- a/wrangles-docs/registry-docs/select/head.md +++ b/wrangles-docs/registry-docs/select/head.md @@ -82,6 +82,7 @@ wrangles: | --- | --- | | Recipe key | `select.head` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/select/highest-confidence.md b/wrangles-docs/registry-docs/select/highest-confidence.md index f7e41cd..15867e2 100644 --- a/wrangles-docs/registry-docs/select/highest-confidence.md +++ b/wrangles-docs/registry-docs/select/highest-confidence.md @@ -119,6 +119,7 @@ wrangles: | --- | --- | | Recipe key | `select.highest_confidence` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/select/left.md b/wrangles-docs/registry-docs/select/left.md index 0a6f1d4..21e2da4 100644 --- a/wrangles-docs/registry-docs/select/left.md +++ b/wrangles-docs/registry-docs/select/left.md @@ -83,6 +83,7 @@ wrangles: | --- | --- | | Recipe key | `select.left` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/select/length.md b/wrangles-docs/registry-docs/select/length.md index 5a8c546..76d19e4 100644 --- a/wrangles-docs/registry-docs/select/length.md +++ b/wrangles-docs/registry-docs/select/length.md @@ -80,6 +80,7 @@ wrangles: | --- | --- | | Recipe key | `select.length` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/select/list-element.md b/wrangles-docs/registry-docs/select/list-element.md index 6ee779b..42301ba 100644 --- a/wrangles-docs/registry-docs/select/list-element.md +++ b/wrangles-docs/registry-docs/select/list-element.md @@ -88,6 +88,7 @@ wrangles: | --- | --- | | Recipe key | `select.list_element` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/select/right.md b/wrangles-docs/registry-docs/select/right.md index 15c6e79..4ac3e7b 100644 --- a/wrangles-docs/registry-docs/select/right.md +++ b/wrangles-docs/registry-docs/select/right.md @@ -83,6 +83,7 @@ wrangles: | --- | --- | | Recipe key | `select.right` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/select/sample.md b/wrangles-docs/registry-docs/select/sample.md index bbbd3ea..25de804 100644 --- a/wrangles-docs/registry-docs/select/sample.md +++ b/wrangles-docs/registry-docs/select/sample.md @@ -115,6 +115,7 @@ wrangles: | --- | --- | | Recipe key | `select.sample` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/select/substring.md b/wrangles-docs/registry-docs/select/substring.md index 9b56470..4a0e2e0 100644 --- a/wrangles-docs/registry-docs/select/substring.md +++ b/wrangles-docs/registry-docs/select/substring.md @@ -149,6 +149,7 @@ wrangles: | --- | --- | | Recipe key | `select.substring` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/select/tail.md b/wrangles-docs/registry-docs/select/tail.md index 306515c..8f44c89 100644 --- a/wrangles-docs/registry-docs/select/tail.md +++ b/wrangles-docs/registry-docs/select/tail.md @@ -82,6 +82,7 @@ wrangles: | --- | --- | | Recipe key | `select.tail` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/select/threshold.md b/wrangles-docs/registry-docs/select/threshold.md index 71fff8b..e485d4e 100644 --- a/wrangles-docs/registry-docs/select/threshold.md +++ b/wrangles-docs/registry-docs/select/threshold.md @@ -85,6 +85,7 @@ wrangles: | --- | --- | | Recipe key | `select.threshold` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `select` | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/similarity.md b/wrangles-docs/registry-docs/similarity.md index 9024a3a..228b59f 100644 --- a/wrangles-docs/registry-docs/similarity.md +++ b/wrangles-docs/registry-docs/similarity.md @@ -101,6 +101,7 @@ wrangles: | --- | --- | | Recipe key | `similarity` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `compare` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/sort.md b/wrangles-docs/registry-docs/sort.md index 55c9191..c78db29 100644 --- a/wrangles-docs/registry-docs/sort.md +++ b/wrangles-docs/registry-docs/sort.md @@ -91,6 +91,7 @@ wrangles: | --- | --- | | Recipe key | `sort` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `select` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/split/dictionary.md b/wrangles-docs/registry-docs/split/dictionary.md index e887a1c..357e293 100644 --- a/wrangles-docs/registry-docs/split/dictionary.md +++ b/wrangles-docs/registry-docs/split/dictionary.md @@ -242,6 +242,7 @@ wrangles: | --- | --- | | Recipe key | `split.dictionary` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `split` | | Documentation group | `split` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/split/list.md b/wrangles-docs/registry-docs/split/list.md index f48f9eb..e23d151 100644 --- a/wrangles-docs/registry-docs/split/list.md +++ b/wrangles-docs/registry-docs/split/list.md @@ -114,6 +114,7 @@ wrangles: | --- | --- | | Recipe key | `split.list` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `split` | | Documentation group | `split` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/split/text.md b/wrangles-docs/registry-docs/split/text.md index 785bc82..36c2bf8 100644 --- a/wrangles-docs/registry-docs/split/text.md +++ b/wrangles-docs/registry-docs/split/text.md @@ -223,6 +223,7 @@ wrangles: | --- | --- | | Recipe key | `split.text` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `split` | | Documentation group | `split` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/split/tokenize.md b/wrangles-docs/registry-docs/split/tokenize.md index 3c03404..5198cba 100644 --- a/wrangles-docs/registry-docs/split/tokenize.md +++ b/wrangles-docs/registry-docs/split/tokenize.md @@ -114,6 +114,7 @@ wrangles: | --- | --- | | Recipe key | `split.tokenize` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `split` | | Documentation group | `split` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/sql.md b/wrangles-docs/registry-docs/sql.md index c434d2b..e0141e8 100644 --- a/wrangles-docs/registry-docs/sql.md +++ b/wrangles-docs/registry-docs/sql.md @@ -92,6 +92,7 @@ wrangles: | --- | --- | | Recipe key | `sql` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `compute` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/standardize.md b/wrangles-docs/registry-docs/standardize.md index c9bf899..dbf0836 100644 --- a/wrangles-docs/registry-docs/standardize.md +++ b/wrangles-docs/registry-docs/standardize.md @@ -91,6 +91,8 @@ wrangles: | --- | --- | | Recipe key | `standardize` | | Lifecycle status | deprecated | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Deprecated compatibility key; use standardize.custom. | | Replaced by | [`standardize.custom`](/wrangles/namespaces/standardize#custom) | | Namespace | Root-level | | Documentation group | `format` | diff --git a/wrangles-docs/registry-docs/standardize/clean.md b/wrangles-docs/registry-docs/standardize/clean.md index e0efd02..da08259 100644 --- a/wrangles-docs/registry-docs/standardize/clean.md +++ b/wrangles-docs/registry-docs/standardize/clean.md @@ -69,6 +69,7 @@ This guidance was derived from the callable signature and its embedded Python sc | --- | --- | | Recipe key | `standardize.clean` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `standardize` | | Documentation group | `standardize` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/standardize/custom.md b/wrangles-docs/registry-docs/standardize/custom.md index d26737a..9e8bd67 100644 --- a/wrangles-docs/registry-docs/standardize/custom.md +++ b/wrangles-docs/registry-docs/standardize/custom.md @@ -61,6 +61,7 @@ This guidance was derived from the callable signature and its embedded Python sc | --- | --- | | Recipe key | `standardize.custom` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | `standardize` | | Documentation group | `standardize` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/translate.md b/wrangles-docs/registry-docs/translate.md index 49d0f8e..801c1c9 100644 --- a/wrangles-docs/registry-docs/translate.md +++ b/wrangles-docs/registry-docs/translate.md @@ -86,6 +86,7 @@ wrangles: | --- | --- | | Recipe key | `translate` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `format` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/transpose.md b/wrangles-docs/registry-docs/transpose.md index cbba44b..b48bbc2 100644 --- a/wrangles-docs/registry-docs/transpose.md +++ b/wrangles-docs/registry-docs/transpose.md @@ -87,6 +87,7 @@ wrangles: | --- | --- | | Recipe key | `transpose` | | Lifecycle status | active | +| Recipe Writer eligible | Yes | | Namespace | Root-level | | Documentation group | `transform` | | Aliases | None | diff --git a/wrangles-docs/registry-docs/try.md b/wrangles-docs/registry-docs/try.md index 4792f8b..bad90df 100644 --- a/wrangles-docs/registry-docs/try.md +++ b/wrangles-docs/registry-docs/try.md @@ -82,6 +82,8 @@ _The primary result is returned on success; the `except` result is returned afte | --- | --- | | Recipe key | `try` | | Lifecycle status | active | +| Recipe Writer eligible | No | +| Recipe Writer exclusion | Error-control orchestration is not supported in the baseline. | | Namespace | Root-level | | Documentation group | `utility` | | Aliases | None | diff --git a/wrangles-docs/scripts/bootstrap-registry.cjs b/wrangles-docs/scripts/bootstrap-registry.cjs index 122f93c..aae36ce 100644 --- a/wrangles-docs/scripts/bootstrap-registry.cjs +++ b/wrangles-docs/scripts/bootstrap-registry.cjs @@ -446,7 +446,7 @@ function buildMetadata(runtime, manifest, quasi) { normalizeTag(wrangleName), ].filter(Boolean))]; return { - schema_version: '0.1', + schema_version: '0.2', type: 'wrangle', id: quasi?.id || null, wrangle_name: wrangleName, diff --git a/wrangles-docs/scripts/compile-registry.cjs b/wrangles-docs/scripts/compile-registry.cjs index f0e1ced..348c6fa 100644 --- a/wrangles-docs/scripts/compile-registry.cjs +++ b/wrangles-docs/scripts/compile-registry.cjs @@ -5,9 +5,13 @@ const path = require('node:path'); const crypto = require('node:crypto'); const yaml = require('js-yaml'); -const REGISTRY_VERSION = '0.1.0'; -const ENTRY_SCHEMA_VERSION = '0.1'; +const REGISTRY_VERSION = '0.2.0'; +const ENTRY_SCHEMA_VERSION = '0.2'; const PUBLIC_ORIGIN = 'https://docs.wrangles.com'; +const RECIPE_WRITER_BASELINE_COUNT = 88; +const RECIPE_WRITER_KEYS_CHECKSUM = + 'e25c2eede15434c7987082fc15f9fea0f2904939f109304de1495bf3749c5c07'; +const RECIPE_WRITER_KEYS_CHECKSUM_FRAMING = 'utf8-newline-separated-sorted-v1'; const siteRoot = path.resolve(__dirname, '..'); const repositoryRoot = path.resolve(siteRoot, '..'); @@ -89,6 +93,10 @@ function sha256(value) { return crypto.createHash('sha256').update(value).digest('hex'); } +function sortedLineChecksum(values) { + return sha256(`${[...values].sort().join('\n')}\n`); +} + function canonicalizeSchema(value) { if (Array.isArray(value)) return value.map(canonicalizeSchema); if (!isObject(value)) return value; @@ -161,6 +169,9 @@ function validateRuntimeManifest(manifest) { if (manifest.source.repository !== 'https://github.com/wrangleworks/WranglesPY') { fail(runtimeManifestPath, 'source.repository must identify WranglesPY'); } + if (!/^[0-9]+\.[0-9]+\.[0-9]+(?:[-+][0-9A-Za-z.-]+)?$/.test(manifest.source.version || '')) { + fail(runtimeManifestPath, 'source.version must be an exact package version'); + } if (!/^[0-9a-f]{40}$/i.test(manifest.source.revision || '')) { fail(runtimeManifestPath, 'source.revision must be a pinned 40-character Git commit'); } @@ -469,6 +480,34 @@ function validateTopLevel(metadata, source, entrySchema) { if (!['public', 'internal'].includes(metadata.visibility)) { fail(source, 'visibility is invalid'); } + if (!isObject(metadata.recipe_writer)) { + fail(source, 'recipe_writer must be an object'); + } else { + const allowedRecipeWriterKeys = new Set(['eligible', 'reason']); + for (const key of Object.keys(metadata.recipe_writer)) { + if (!allowedRecipeWriterKeys.has(key)) { + fail(source, `recipe_writer has unknown field ${key}`); + } + } + if (typeof metadata.recipe_writer.eligible !== 'boolean') { + fail(source, 'recipe_writer.eligible must be a boolean'); + } else if (metadata.recipe_writer.eligible) { + if (hasOwn(metadata.recipe_writer, 'reason')) { + fail(source, 'eligible Recipe Writer entries must not declare recipe_writer.reason'); + } + if (metadata.status !== 'active') { + fail(source, 'Recipe Writer eligible entries must have active lifecycle status'); + } + if (metadata.visibility !== 'public') { + fail(source, 'Recipe Writer eligible entries must be public'); + } + } else if ( + typeof metadata.recipe_writer.reason !== 'string' || + !metadata.recipe_writer.reason.trim() + ) { + fail(source, 'ineligible Recipe Writer entries must declare a non-empty reason'); + } + } if (!Array.isArray(metadata.tags) || metadata.tags.length === 0) { fail(source, 'tags must be a non-empty array'); } else if (new Set(metadata.tags).size !== metadata.tags.length) { @@ -484,6 +523,12 @@ function validateTopLevel(metadata, source, entrySchema) { if (!['awaiting-manifest', 'verified'].includes(metadata.runtime.contract_status)) { fail(source, 'runtime.contract_status is invalid'); } + if ( + metadata.recipe_writer?.eligible === true && + metadata.runtime.contract_status !== 'verified' + ) { + fail(source, 'Recipe Writer eligible entries must have a verified runtime contract'); + } } const accessKeys = [ @@ -1061,7 +1106,8 @@ ${accessRows} | --- | --- | | Recipe key | \`${metadata.wrangle_key}\` | | Lifecycle status | ${metadata.status} | -${metadata.replaced_by ? `| Replaced by | ${replacementLink} |\n` : ''}| Namespace | ${namespace === 'Root-level' ? namespace : `\`${namespace}\``} | +| Recipe Writer eligible | ${metadata.recipe_writer.eligible ? 'Yes' : 'No'} | +${metadata.recipe_writer.reason ? `| Recipe Writer exclusion | ${escapeCell(metadata.recipe_writer.reason)} |\n` : ''}${metadata.replaced_by ? `| Replaced by | ${replacementLink} |\n` : ''}| Namespace | ${namespace === 'Root-level' ? namespace : `\`${namespace}\``} | | Documentation group | \`${documentationGroup}\` | | Aliases | ${aliases} | | Runtime symbol | \`${metadata.runtime.symbol}\` | @@ -1237,7 +1283,17 @@ function buildParameterSchema(parameter) { return result; } -function buildRecipeSchema(entries, controls) { +function buildRecipeSchema( + entries, + controls, + { + schemaFilename = 'schema.json', + title = 'Wrangles Recipe Schema - Registry', + description = 'Pre-production schema generated from the Docs Registry.', + comment = 'Pre-production artifact. See the Registry contract for production-readiness criteria.', + allowExtensionWrangles = true, + } = {}, +) { const wrangleProperties = {}; for (const entry of entries) { const parameters = combinedParameters(entry, controls); @@ -1269,10 +1325,10 @@ function buildRecipeSchema(entries, controls) { return { $schema: 'http://json-schema.org/draft-07/schema#', - $id: `${PUBLIC_ORIGIN}/schemas/recipes/registry/schema.json`, - title: 'Wrangles Recipe Schema - Registry', - description: 'Pre-production schema generated from the Docs Registry.', - $comment: 'Pre-production artifact. See the Registry contract for production-readiness criteria.', + $id: `${PUBLIC_ORIGIN}/schemas/recipes/registry/${schemaFilename}`, + title, + description, + $comment: comment, type: 'object', additionalProperties: false, required: ['wrangles'], @@ -1291,10 +1347,12 @@ function buildRecipeSchema(entries, controls) { minProperties: 1, maxProperties: 1, additionalProperties: false, - patternProperties: { - '^custom\\..*': {type: 'object'}, - '^pandas\\..*': {type: 'object'}, - }, + ...(allowExtensionWrangles ? { + patternProperties: { + '^custom\\..*': {type: 'object'}, + '^pandas\\..*': {type: 'object'}, + }, + } : {}), properties: wrangleProperties, }, }, @@ -1310,6 +1368,40 @@ function buildRecipeSchema(entries, controls) { }; } +function recipeSchemaAcceptsWrangleKey(schema, key) { + const items = schema?.$defs?.wrangles?.items; + if (!isObject(items)) return false; + if (hasOwn(items.properties || {}, key)) return true; + return Object.keys(items.patternProperties || {}).some((pattern) => new RegExp(pattern).test(key)); +} + +function buildCompiledContractSchema(entrySchema) { + const contractSchemaUrl = `${PUBLIC_ORIGIN}/registry/schema/wrangle-contract.schema.json`; + return { + $schema: entrySchema.$schema, + $id: contractSchemaUrl, + title: 'Compiled Wrangles Registry contract', + description: 'Machine-facing contract generated from one authoritative Registry entry.', + type: 'object', + additionalProperties: false, + required: [ + '$schema', + 'format', + 'registry_version', + ...entrySchema.required, + 'guidance', + ], + properties: { + $schema: {const: contractSchemaUrl}, + format: {const: 'wrangles-registry-entry'}, + registry_version: {const: REGISTRY_VERSION}, + ...JSON.parse(JSON.stringify(entrySchema.properties)), + guidance: {type: 'string'}, + }, + $defs: JSON.parse(JSON.stringify(entrySchema.$defs || {})), + }; +} + function buildEntryContract(entry, controls) { const metadata = entry.metadata; const examples = metadata.examples.map((example) => { @@ -1326,6 +1418,7 @@ function buildEntryContract(entry, controls) { }); return { + $schema: `${PUBLIC_ORIGIN}/registry/schema/wrangle-contract.schema.json`, format: 'wrangles-registry-entry', registry_version: REGISTRY_VERSION, schema_version: metadata.schema_version, @@ -1341,6 +1434,7 @@ function buildEntryContract(entry, controls) { status: metadata.status, ...(metadata.replaced_by ? {replaced_by: metadata.replaced_by} : {}), visibility: metadata.visibility, + recipe_writer: metadata.recipe_writer, tags: metadata.tags, runtime: metadata.runtime, access: metadata.access, @@ -1849,6 +1943,7 @@ function renderReconciliationReport(report) { Generated file. Do not edit directly. +- Runtime version: \`${report.runtime_source.version}\` - Runtime source: [\`${report.runtime_source.revision}\`](${report.runtime_source.repository}/commit/${report.runtime_source.revision}) - Registry version: \`${report.registry_version}\` - Runtime entries: ${report.summary.runtime_entries} @@ -1910,6 +2005,44 @@ function addGeneratedFile(filename, content) { generatedFiles.set(path.resolve(filename), content.endsWith('\n') ? content : `${content}\n`); } +function addBundleArtifact(bundleMembers, publicPath, filename, content) { + addGeneratedFile(filename, content); + bundleMembers.push({publicPath, filename: path.resolve(filename)}); +} + +function buildBundleIntegrity(bundleMembers) { + const members = [...bundleMembers].sort((left, right) => + left.publicPath.localeCompare(right.publicPath)); + const files = {}; + const digest = crypto.createHash('sha256'); + + for (const member of members) { + const content = generatedFiles.get(member.filename); + if (typeof content !== 'string') { + throw new Error(`Bundle member was not generated: ${member.publicPath}`); + } + files[member.publicPath] = sha256(content); + digest.update(member.publicPath, 'utf8'); + digest.update('\0', 'utf8'); + digest.update(content, 'utf8'); + digest.update('\0', 'utf8'); + } + + return { + artifactChecksums: { + algorithm: 'sha256', + files, + }, + bundleChecksum: { + algorithm: 'sha256', + framing: 'utf8-path-null-content-null-v1', + value: digest.digest('hex'), + member_count: members.length, + manifest_included: false, + }, + }; +} + async function readInputs() { const entrySchemaSource = await fs.readFile(entrySchemaPath, 'utf8'); const runtimeManifestSchemaSource = await fs.readFile(runtimeManifestSchemaPath, 'utf8'); @@ -1975,6 +2108,24 @@ async function readInputs() { } } + const recipeWriterKeys = entries + .filter((entry) => entry.metadata.recipe_writer?.eligible === true) + .map((entry) => entry.metadata.wrangle_key) + .sort(); + if (recipeWriterKeys.length !== RECIPE_WRITER_BASELINE_COUNT) { + fail( + registryRoot, + `Recipe Writer eligibility must contain exactly ${RECIPE_WRITER_BASELINE_COUNT} entries; found ${recipeWriterKeys.length}`, + ); + } + const recipeWriterChecksum = sortedLineChecksum(recipeWriterKeys); + if (recipeWriterChecksum !== RECIPE_WRITER_KEYS_CHECKSUM) { + fail( + registryRoot, + `Recipe Writer eligible-key checksum is ${recipeWriterChecksum}; expected ${RECIPE_WRITER_KEYS_CHECKSUM}`, + ); + } + return { entries, controls: commonDocument.controls, @@ -1991,9 +2142,14 @@ function buildOutputs(entries, controls, reconciliation, registrySchemas, runtim const publicEntries = entries .filter((entry) => entry.metadata.visibility === 'public') .sort((left, right) => left.metadata.wrangle_key.localeCompare(right.metadata.wrangle_key)); + const recipeWriterEntries = publicEntries.filter( + (entry) => entry.metadata.recipe_writer.eligible, + ); + const recipeWriterKeys = recipeWriterEntries.map((entry) => entry.metadata.wrangle_key); const groups = groupedEntries(publicEntries); const entriesByKey = new Map(publicEntries.map((entry) => [entry.metadata.wrangle_key, entry])); + const bundleMembers = []; addGeneratedFile(path.join(docsOutputRoot, 'index.md'), renderDocsIndex(groups)); addGeneratedFile(registrySidebarPath, renderRegistrySidebar(groups)); @@ -2010,8 +2166,11 @@ function buildOutputs(entries, controls, reconciliation, registrySchemas, runtim ); const rawRelative = path.relative(registryRoot, entry.sourceFile); addGeneratedFile(path.join(rawOutputRoot, rawRelative), entry.source); - addGeneratedFile( - path.join(rawOutputRoot, entryContractRelativePath(entry)), + const contractRelative = entryContractRelativePath(entry); + addBundleArtifact( + bundleMembers, + `/registry/${posixPath(contractRelative)}`, + path.join(rawOutputRoot, contractRelative), JSON.stringify(buildEntryContract(entry, controls), null, 2), ); for (const example of entry.metadata.examples) { @@ -2027,11 +2186,87 @@ function buildOutputs(entries, controls, reconciliation, registrySchemas, runtim } addGeneratedFile(path.join(rawOutputRoot, 'index.md'), renderRawIndex(publicEntries)); + + addBundleArtifact( + bundleMembers, + '/schemas/recipes/registry/schema.json', + path.join(schemaOutputRoot, 'schema.json'), + JSON.stringify(buildRecipeSchema(publicEntries, controls), null, 2), + ); + const recipeWriterSchema = buildRecipeSchema(recipeWriterEntries, controls, { + schemaFilename: 'recipe-writer.schema.json', + title: 'Wrangles Recipe Schema - Recipe Writer', + description: 'Pre-production stock-wrangle schema generated from explicit Recipe Writer eligibility in the Docs Registry.', + comment: 'Contains only the pinned Recipe Writer baseline and rejects custom.* and pandas.* extension names. See the Registry manifest for eligibility and checksum evidence.', + allowExtensionWrangles: false, + }); + for (const key of ['custom.undocumented', 'pandas.anything']) { + if (recipeSchemaAcceptsWrangleKey(recipeWriterSchema, key)) { + fail( + path.join(schemaOutputRoot, 'recipe-writer.schema.json'), + `closed Recipe Writer schema unexpectedly accepts ${key}`, + ); + } + } + addBundleArtifact( + bundleMembers, + '/schemas/recipes/registry/recipe-writer.schema.json', + path.join(schemaOutputRoot, 'recipe-writer.schema.json'), + JSON.stringify(recipeWriterSchema, null, 2), + ); + addBundleArtifact( + bundleMembers, + '/registry/schema/wrangle-entry.schema.json', + path.join(rawOutputRoot, 'schema', 'wrangle-entry.schema.json'), + JSON.stringify(registrySchemas.entry, null, 2), + ); + addBundleArtifact( + bundleMembers, + '/registry/schema/wrangle-contract.schema.json', + path.join(rawOutputRoot, 'schema', 'wrangle-contract.schema.json'), + JSON.stringify(buildCompiledContractSchema(registrySchemas.entry), null, 2), + ); + addBundleArtifact( + bundleMembers, + '/registry/schema/wrangles-runtime-manifest.schema.json', + path.join(rawOutputRoot, 'schema', 'wrangles-runtime-manifest.schema.json'), + JSON.stringify(registrySchemas.runtimeManifest, null, 2), + ); + addBundleArtifact( + bundleMembers, + '/registry/runtime/wranglespy.json', + path.join(rawOutputRoot, 'runtime', 'wranglespy.json'), + JSON.stringify(runtimeManifest, null, 2), + ); + const reconciliationSummary = { + format: 'wrangles-runtime-reconciliation-summary', + registry_version: REGISTRY_VERSION, + runtime_source: reconciliation.runtime_source, + summary: reconciliation.summary, + }; + addBundleArtifact( + bundleMembers, + '/registry/runtime/reconciliation.json', + path.join(rawOutputRoot, 'runtime', 'reconciliation.json'), + JSON.stringify(reconciliationSummary, null, 2), + ); + + const integrity = buildBundleIntegrity(bundleMembers); const manifest = { format: 'wrangles-registry', registry_version: REGISTRY_VERSION, contract_version: ENTRY_SCHEMA_VERSION, status: 'pre-production', + compatibility: { + wranglespy_version: runtimeManifest.source.version, + wranglespy_revision: runtimeManifest.source.revision, + compatible_wranglespy: `==${runtimeManifest.source.version}`, + }, + recipe_writer: { + eligible_entry_count: recipeWriterEntries.length, + eligible_keys_sha256: sortedLineChecksum(recipeWriterKeys), + eligible_keys_framing: RECIPE_WRITER_KEYS_CHECKSUM_FRAMING, + }, entry_count: publicEntries.length, entries: publicEntries.map((entry) => ({ type: entry.metadata.type, @@ -2045,6 +2280,7 @@ function buildOutputs(entries, controls, reconciliation, registrySchemas, runtim description: entry.metadata.description, status: entry.metadata.status, ...(entry.metadata.replaced_by ? {replaced_by: entry.metadata.replaced_by} : {}), + recipe_writer: entry.metadata.recipe_writer, tags: entry.metadata.tags, route: entryRoute(entry), contract_json: `/registry/${posixPath(entryContractRelativePath(entry))}`, @@ -2056,31 +2292,20 @@ function buildOutputs(entries, controls, reconciliation, registrySchemas, runtim artifacts: { index: '/registry/index.md', recipe_schema: '/schemas/recipes/registry/schema.json', + recipe_writer_schema: '/schemas/recipes/registry/recipe-writer.schema.json', entry_schema: '/registry/schema/wrangle-entry.schema.json', + compiled_contract_schema: '/registry/schema/wrangle-contract.schema.json', runtime_manifest: '/registry/runtime/wranglespy.json', runtime_manifest_schema: '/registry/schema/wrangles-runtime-manifest.schema.json', + runtime_reconciliation: '/registry/runtime/reconciliation.json', }, + artifact_checksums: integrity.artifactChecksums, + bundle_checksum: integrity.bundleChecksum, }; addGeneratedFile( path.join(rawOutputRoot, 'manifest.json'), JSON.stringify(manifest, null, 2), ); - addGeneratedFile( - path.join(schemaOutputRoot, 'schema.json'), - JSON.stringify(buildRecipeSchema(publicEntries, controls), null, 2), - ); - addGeneratedFile( - path.join(rawOutputRoot, 'schema', 'wrangle-entry.schema.json'), - JSON.stringify(registrySchemas.entry, null, 2), - ); - addGeneratedFile( - path.join(rawOutputRoot, 'schema', 'wrangles-runtime-manifest.schema.json'), - JSON.stringify(registrySchemas.runtimeManifest, null, 2), - ); - addGeneratedFile( - path.join(rawOutputRoot, 'runtime', 'wranglespy.json'), - JSON.stringify(runtimeManifest, null, 2), - ); addGeneratedFile( path.join(reportsOutputRoot, 'runtime-reconciliation.json'), JSON.stringify(reconciliation, null, 2), diff --git a/wrangles-docs/static/registry/contracts/accordion.json b/wrangles-docs/static/registry/contracts/accordion.json index 108d3c3..081b2d2 100644 --- a/wrangles-docs/static/registry/contracts/accordion.json +++ b/wrangles-docs/static/registry/contracts/accordion.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": null, "wrangle_name": "accordion", @@ -13,6 +14,10 @@ "description": "Apply a series of wrangles to column(s) containing lists. The wrangles will be applied to each element in the list and the results will be returned back as a list.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": false, + "reason": "Nested-list orchestration is not supported in the baseline." + }, "tags": [ "utility", "accordion" diff --git a/wrangles-docs/static/registry/contracts/batch.json b/wrangles-docs/static/registry/contracts/batch.json index 2f8cbeb..4b859c7 100644 --- a/wrangles-docs/static/registry/contracts/batch.json +++ b/wrangles-docs/static/registry/contracts/batch.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": null, "wrangle_name": "batch", @@ -13,6 +14,9 @@ "description": "Split the data into batches for executing a list of wrangles. Use this in situations such as where the intermediate data is too large to fit in memory.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "utility", "batch" diff --git a/wrangles-docs/static/registry/contracts/classify.json b/wrangles-docs/static/registry/contracts/classify.json index d776eaf..b941a09 100644 --- a/wrangles-docs/static/registry/contracts/classify.json +++ b/wrangles-docs/static/registry/contracts/classify.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "06669ef8-cdd1-42f7-8078-98e0b7a42c30", "wrangle_name": "classify", @@ -13,6 +14,9 @@ "description": "Run classify wrangles on the specified columns. Requires WrangleWorks Account and Subscription.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "ai", "classify" diff --git a/wrangles-docs/static/registry/contracts/clean-whitespaces.json b/wrangles-docs/static/registry/contracts/clean-whitespaces.json index 02190cf..9e71ef1 100644 --- a/wrangles-docs/static/registry/contracts/clean-whitespaces.json +++ b/wrangles-docs/static/registry/contracts/clean-whitespaces.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "e36e15c4-f0ad-43f8-8555-ef683a8ab892", "wrangle_name": "clean_whitespaces", @@ -13,6 +14,9 @@ "description": "Condense multiple spaces to a single space and convert special space characters to a standard space.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "clean-whitespaces" diff --git a/wrangles-docs/static/registry/contracts/compare/lists.json b/wrangles-docs/static/registry/contracts/compare/lists.json index c2bfcc6..b3f9202 100644 --- a/wrangles-docs/static/registry/contracts/compare/lists.json +++ b/wrangles-docs/static/registry/contracts/compare/lists.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "a393225e-7ccf-4708-83f8-d5abd6ba9b1e", "wrangle_name": "lists", @@ -13,6 +14,9 @@ "description": "Compare multiple lists and return the intersection, difference, or union.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "compare", "lists" diff --git a/wrangles-docs/static/registry/contracts/compare/text.json b/wrangles-docs/static/registry/contracts/compare/text.json index bdecab8..ff05db9 100644 --- a/wrangles-docs/static/registry/contracts/compare/text.json +++ b/wrangles-docs/static/registry/contracts/compare/text.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "31905b74-ce58-45cd-8add-821cc04ab946", "wrangle_name": "text", @@ -13,6 +14,9 @@ "description": "Compare two strings and return the intersection or difference, use overlap to find the matching characters between the two strings, or use similarity to get a numeric similarity score.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "compare", "text" diff --git a/wrangles-docs/static/registry/contracts/compute/case-when.json b/wrangles-docs/static/registry/contracts/compute/case-when.json index 809022a..728d3b0 100644 --- a/wrangles-docs/static/registry/contracts/compute/case-when.json +++ b/wrangles-docs/static/registry/contracts/compute/case-when.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "9a9662e4-53d1-4932-8adf-bc3e7aa364ad", "wrangle_name": "case_when", @@ -13,6 +14,9 @@ "description": "Assign values to a column based on conditional logic.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "compute", "case-when" diff --git a/wrangles-docs/static/registry/contracts/compute/score-search-results.json b/wrangles-docs/static/registry/contracts/compute/score-search-results.json index 935602f..2308a5d 100644 --- a/wrangles-docs/static/registry/contracts/compute/score-search-results.json +++ b/wrangles-docs/static/registry/contracts/compute/score-search-results.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "313a8ec0-cf13-4956-8d3b-5362b8641d0f", "wrangle_name": "score_search_results", @@ -13,6 +14,9 @@ "description": "Scores and filters search results based on progressive partial/exact matching. Can return dictionaries or a parallel list of formatted strings.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "compute", "score-search-results" diff --git a/wrangles-docs/static/registry/contracts/concurrent.json b/wrangles-docs/static/registry/contracts/concurrent.json index 41892f6..4cb2c18 100644 --- a/wrangles-docs/static/registry/contracts/concurrent.json +++ b/wrangles-docs/static/registry/contracts/concurrent.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": null, "wrangle_name": "concurrent", @@ -13,6 +14,10 @@ "description": "Run multiple wrangles concurrently rather than sequentially. Wrangles must specify output columns to be used concurrently. When using concurrent, Wrangles may not complete in a predictable order and it is not recommended to update overlapping columns with different wrangles.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": false, + "reason": "Concurrent orchestration is not supported in the baseline." + }, "tags": [ "utility", "concurrent" diff --git a/wrangles-docs/static/registry/contracts/convert/case.json b/wrangles-docs/static/registry/contracts/convert/case.json index 28f1a37..77e2cc5 100644 --- a/wrangles-docs/static/registry/contracts/convert/case.json +++ b/wrangles-docs/static/registry/contracts/convert/case.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "12ff4120-3613-4801-8653-99c793477fbc", "wrangle_name": "case", @@ -13,6 +14,9 @@ "description": "Change the letter case of text values.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "convert", "text", diff --git a/wrangles-docs/static/registry/contracts/convert/data-type.json b/wrangles-docs/static/registry/contracts/convert/data-type.json index 4a98982..44cf1c6 100644 --- a/wrangles-docs/static/registry/contracts/convert/data-type.json +++ b/wrangles-docs/static/registry/contracts/convert/data-type.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "52384f01-7164-404f-8615-063e7677a588", "wrangle_name": "data_type", @@ -13,6 +14,9 @@ "description": "Convert values to strings, numbers, booleans, or datetimes.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "convert", "data-type", diff --git a/wrangles-docs/static/registry/contracts/convert/fraction-to-decimal.json b/wrangles-docs/static/registry/contracts/convert/fraction-to-decimal.json index 2f36d3a..c3b37f1 100644 --- a/wrangles-docs/static/registry/contracts/convert/fraction-to-decimal.json +++ b/wrangles-docs/static/registry/contracts/convert/fraction-to-decimal.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "7c55752e-70ab-4809-8298-c59436127457", "wrangle_name": "fraction_to_decimal", @@ -13,6 +14,9 @@ "description": "Convert fractions to decimals.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "convert", "fraction-to-decimal" diff --git a/wrangles-docs/static/registry/contracts/convert/from-json.json b/wrangles-docs/static/registry/contracts/convert/from-json.json index 6ad730a..6e7c4d9 100644 --- a/wrangles-docs/static/registry/contracts/convert/from-json.json +++ b/wrangles-docs/static/registry/contracts/convert/from-json.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "e370dfcf-b0fe-4c48-8a52-6f34c47e7978", "wrangle_name": "from_json", @@ -13,6 +14,9 @@ "description": "Parse JSON text into lists, objects, scalars, booleans, or null values.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "convert", "json", diff --git a/wrangles-docs/static/registry/contracts/convert/from-yaml.json b/wrangles-docs/static/registry/contracts/convert/from-yaml.json index f072d66..f93cd82 100644 --- a/wrangles-docs/static/registry/contracts/convert/from-yaml.json +++ b/wrangles-docs/static/registry/contracts/convert/from-yaml.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "b1c20004-5f80-41c2-84d2-2d4601a033b5", "wrangle_name": "from_yaml", @@ -13,6 +14,9 @@ "description": "Convert a YAML representation into an object.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "convert", "from-yaml" diff --git a/wrangles-docs/static/registry/contracts/convert/to-json.json b/wrangles-docs/static/registry/contracts/convert/to-json.json index 121aa4a..bce6fef 100644 --- a/wrangles-docs/static/registry/contracts/convert/to-json.json +++ b/wrangles-docs/static/registry/contracts/convert/to-json.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "94e54eb7-2b8c-4047-89d0-fb5d16baf396", "wrangle_name": "to_json", @@ -13,6 +14,9 @@ "description": "Convert an object to a JSON representation.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "convert", "to-json" diff --git a/wrangles-docs/static/registry/contracts/convert/to-yaml.json b/wrangles-docs/static/registry/contracts/convert/to-yaml.json index e081ed1..4d0eea8 100644 --- a/wrangles-docs/static/registry/contracts/convert/to-yaml.json +++ b/wrangles-docs/static/registry/contracts/convert/to-yaml.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "4cd6252f-ce47-4a9d-8272-3d87e875b72a", "wrangle_name": "to_yaml", @@ -13,6 +14,9 @@ "description": "Convert an object to a YAML representation.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "convert", "to-yaml" diff --git a/wrangles-docs/static/registry/contracts/copy.json b/wrangles-docs/static/registry/contracts/copy.json index 90020a6..f3c8b6e 100644 --- a/wrangles-docs/static/registry/contracts/copy.json +++ b/wrangles-docs/static/registry/contracts/copy.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "b002fbdc-92c0-4347-889d-0f4bfeec99fa", "wrangle_name": "copy", @@ -13,6 +14,9 @@ "description": "Make a copy of a column or a list of columns.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "transform", "copy" diff --git a/wrangles-docs/static/registry/contracts/create/bins.json b/wrangles-docs/static/registry/contracts/create/bins.json index 91b449c..1c8755d 100644 --- a/wrangles-docs/static/registry/contracts/create/bins.json +++ b/wrangles-docs/static/registry/contracts/create/bins.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "232e3ba0-4735-4934-88aa-0163181abb3f", "wrangle_name": "bins", @@ -13,6 +14,9 @@ "description": "Create a column that groups data into bins.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "bins" diff --git a/wrangles-docs/static/registry/contracts/create/column.json b/wrangles-docs/static/registry/contracts/create/column.json index f27ea79..22350ad 100644 --- a/wrangles-docs/static/registry/contracts/create/column.json +++ b/wrangles-docs/static/registry/contracts/create/column.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "5a18e2c8-ec7c-45f5-88fd-bb5c358a8b40", "wrangle_name": "column", @@ -13,6 +14,9 @@ "description": "Create column(s) with a user defined value. Defaults to None (empty).", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "column" diff --git a/wrangles-docs/static/registry/contracts/create/embeddings.json b/wrangles-docs/static/registry/contracts/create/embeddings.json index 448e485..dc576ca 100644 --- a/wrangles-docs/static/registry/contracts/create/embeddings.json +++ b/wrangles-docs/static/registry/contracts/create/embeddings.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "e3518afd-a819-40ec-8b49-eb25690220c1", "wrangle_name": "embeddings", @@ -13,6 +14,9 @@ "description": "Create an embedding based on text input.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "embeddings" diff --git a/wrangles-docs/static/registry/contracts/create/guid.json b/wrangles-docs/static/registry/contracts/create/guid.json index 1957a20..ab9102d 100644 --- a/wrangles-docs/static/registry/contracts/create/guid.json +++ b/wrangles-docs/static/registry/contracts/create/guid.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "cf3aaab2-3d5b-4c9b-826e-7af7510521c9", "wrangle_name": "guid", @@ -13,6 +14,9 @@ "description": "Create column(s) with a GUID.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "guid" diff --git a/wrangles-docs/static/registry/contracts/create/hash.json b/wrangles-docs/static/registry/contracts/create/hash.json index 8271450..730bcc1 100644 --- a/wrangles-docs/static/registry/contracts/create/hash.json +++ b/wrangles-docs/static/registry/contracts/create/hash.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "11e8fc13-00d2-4779-8d87-6288b07de7e7", "wrangle_name": "hash", @@ -13,6 +14,9 @@ "description": "Create a hash of a column.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "hash" diff --git a/wrangles-docs/static/registry/contracts/create/index.json b/wrangles-docs/static/registry/contracts/create/index.json index cd12545..1a4fee3 100644 --- a/wrangles-docs/static/registry/contracts/create/index.json +++ b/wrangles-docs/static/registry/contracts/create/index.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "0a4909ca-6e14-4da7-8a70-a7fd106d6944", "wrangle_name": "index", @@ -13,6 +14,9 @@ "description": "Create column(s) with an incremental index. e.g. 1,2,3...", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "index" diff --git a/wrangles-docs/static/registry/contracts/create/jinja.json b/wrangles-docs/static/registry/contracts/create/jinja.json index b0fb39a..a6fe69a 100644 --- a/wrangles-docs/static/registry/contracts/create/jinja.json +++ b/wrangles-docs/static/registry/contracts/create/jinja.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "10fc6709-16d4-4eab-8f56-6cb5d170ea66", "wrangle_name": "jinja", @@ -13,6 +14,9 @@ "description": "Output text using a jinja template.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "jinja" diff --git a/wrangles-docs/static/registry/contracts/create/uuid.json b/wrangles-docs/static/registry/contracts/create/uuid.json index 66712f9..943489a 100644 --- a/wrangles-docs/static/registry/contracts/create/uuid.json +++ b/wrangles-docs/static/registry/contracts/create/uuid.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "c376f3ff-2283-4c4c-8d7f-70db6f53ed19", "wrangle_name": "uuid", @@ -13,6 +14,9 @@ "description": "Create column(s) with a UUID.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "uuid" diff --git a/wrangles-docs/static/registry/contracts/date-calculator.json b/wrangles-docs/static/registry/contracts/date-calculator.json index 8d33d4c..0877809 100644 --- a/wrangles-docs/static/registry/contracts/date-calculator.json +++ b/wrangles-docs/static/registry/contracts/date-calculator.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "19cfeb4f-02af-4ab2-895c-0ff2bb5cce19", "wrangle_name": "date_calculator", @@ -13,6 +14,9 @@ "description": "Add or Subtract time from a date.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "date", "date-calculator" diff --git a/wrangles-docs/static/registry/contracts/drop.json b/wrangles-docs/static/registry/contracts/drop.json index e394392..b1f7835 100644 --- a/wrangles-docs/static/registry/contracts/drop.json +++ b/wrangles-docs/static/registry/contracts/drop.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "363bffbf-397e-4975-8382-e9efa5e9eed6", "wrangle_name": "drop", @@ -13,6 +14,9 @@ "description": "Drop (Delete) selected column(s).", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "drop" diff --git a/wrangles-docs/static/registry/contracts/explode.json b/wrangles-docs/static/registry/contracts/explode.json index 97aa08c..be794d2 100644 --- a/wrangles-docs/static/registry/contracts/explode.json +++ b/wrangles-docs/static/registry/contracts/explode.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "4e4b13ac-8d50-4b2c-85c8-2c31de1e817d", "wrangle_name": "explode", @@ -13,6 +14,9 @@ "description": "Explode a column of lists into rows.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "split", "explode" diff --git a/wrangles-docs/static/registry/contracts/extract/address.json b/wrangles-docs/static/registry/contracts/extract/address.json index d9a7206..7d60cc7 100644 --- a/wrangles-docs/static/registry/contracts/extract/address.json +++ b/wrangles-docs/static/registry/contracts/extract/address.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "44153f95-4581-4cee-898e-b3b4714045fd", "wrangle_name": "address", @@ -13,6 +14,9 @@ "description": "Extract parts of addresses. Requires WrangleWorks Account.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "address" diff --git a/wrangles-docs/static/registry/contracts/extract/ai.json b/wrangles-docs/static/registry/contracts/extract/ai.json index 889d5ce..69d7895 100644 --- a/wrangles-docs/static/registry/contracts/extract/ai.json +++ b/wrangles-docs/static/registry/contracts/extract/ai.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "d9f89b00-fda3-4f4c-826c-6417b9390607", "wrangle_name": "ai", @@ -13,6 +14,9 @@ "description": "Extract structured data from each input row using an AI model. Define the desired fields with output, or reuse a saved definition with model_id.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "ai", "extract" diff --git a/wrangles-docs/static/registry/contracts/extract/attributes.json b/wrangles-docs/static/registry/contracts/extract/attributes.json index 42d1974..c7e153a 100644 --- a/wrangles-docs/static/registry/contracts/extract/attributes.json +++ b/wrangles-docs/static/registry/contracts/extract/attributes.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "03ccedef-c938-41f1-8980-280f1a91542e", "wrangle_name": "attributes", @@ -13,6 +14,9 @@ "description": "Extract numeric attributes from the input such as weights or lengths. Requires WrangleWorks Account.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "attributes" diff --git a/wrangles-docs/static/registry/contracts/extract/brackets.json b/wrangles-docs/static/registry/contracts/extract/brackets.json index b6d1ba5..23e6a8b 100644 --- a/wrangles-docs/static/registry/contracts/extract/brackets.json +++ b/wrangles-docs/static/registry/contracts/extract/brackets.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "9b4c15fa-2aaa-40c8-8834-6e835760bee5", "wrangle_name": "brackets", @@ -13,6 +14,9 @@ "description": "Extract text properties in brackets from the input.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "brackets" diff --git a/wrangles-docs/static/registry/contracts/extract/codes.json b/wrangles-docs/static/registry/contracts/extract/codes.json index 13b80b5..908c977 100644 --- a/wrangles-docs/static/registry/contracts/extract/codes.json +++ b/wrangles-docs/static/registry/contracts/extract/codes.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "da591387-0fca-4842-8bcb-d19f561f0292", "wrangle_name": "codes", @@ -13,6 +14,9 @@ "description": "Extract alphanumeric codes from the input. Requires WrangleWorks Account.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "codes" diff --git a/wrangles-docs/static/registry/contracts/extract/custom.json b/wrangles-docs/static/registry/contracts/extract/custom.json index e40a012..fb3b441 100644 --- a/wrangles-docs/static/registry/contracts/extract/custom.json +++ b/wrangles-docs/static/registry/contracts/extract/custom.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "e8e96b76-86bf-41dc-8d16-825dcff9688b", "wrangle_name": "custom", @@ -13,6 +14,9 @@ "description": "Extract data from the input using a DIY or bespoke extraction wrangle. Requires WrangleWorks Account and Subscription.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "custom" diff --git a/wrangles-docs/static/registry/contracts/extract/date-properties.json b/wrangles-docs/static/registry/contracts/extract/date-properties.json index ae90505..1e29bf3 100644 --- a/wrangles-docs/static/registry/contracts/extract/date-properties.json +++ b/wrangles-docs/static/registry/contracts/extract/date-properties.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "a346de62-93cd-44ba-8d30-a6305629c6d7", "wrangle_name": "date_properties", @@ -13,6 +14,9 @@ "description": "Extract date properties from a date (day, month, year, etc...).", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "date-properties" diff --git a/wrangles-docs/static/registry/contracts/extract/date-range.json b/wrangles-docs/static/registry/contracts/extract/date-range.json index 5fa1fec..935d468 100644 --- a/wrangles-docs/static/registry/contracts/extract/date-range.json +++ b/wrangles-docs/static/registry/contracts/extract/date-range.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "9cebfa6f-a524-4aec-84a7-02d77b792843", "wrangle_name": "date_range", @@ -13,6 +14,9 @@ "description": "Extract date range frequency from two dates.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "date-range" diff --git a/wrangles-docs/static/registry/contracts/extract/html.json b/wrangles-docs/static/registry/contracts/extract/html.json index 2265eec..f85cb39 100644 --- a/wrangles-docs/static/registry/contracts/extract/html.json +++ b/wrangles-docs/static/registry/contracts/extract/html.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "728fc87a-a20d-4efa-833a-612e0b5eadc3", "wrangle_name": "html", @@ -13,6 +14,9 @@ "description": "Extract elements from strings containing html. Requires WrangleWorks Account.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "html" diff --git a/wrangles-docs/static/registry/contracts/extract/properties.json b/wrangles-docs/static/registry/contracts/extract/properties.json index 99fd424..55813d4 100644 --- a/wrangles-docs/static/registry/contracts/extract/properties.json +++ b/wrangles-docs/static/registry/contracts/extract/properties.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "23bbdb86-fd13-4b78-8fff-a7a76769ab63", "wrangle_name": "properties", @@ -13,6 +14,9 @@ "description": "Extract text properties from the input. Requires WrangleWorks Account.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "properties" diff --git a/wrangles-docs/static/registry/contracts/extract/regex.json b/wrangles-docs/static/registry/contracts/extract/regex.json index aad877a..b9aedd1 100644 --- a/wrangles-docs/static/registry/contracts/extract/regex.json +++ b/wrangles-docs/static/registry/contracts/extract/regex.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "9aa0253a-4b70-4737-832c-964e15967289", "wrangle_name": "regex", @@ -13,6 +14,9 @@ "description": "Extract matches or specific capture groups using regex.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "regex" diff --git a/wrangles-docs/static/registry/contracts/filter.json b/wrangles-docs/static/registry/contracts/filter.json index 98f277f..b2c62cb 100644 --- a/wrangles-docs/static/registry/contracts/filter.json +++ b/wrangles-docs/static/registry/contracts/filter.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "e3242acf-d204-433f-8373-205b77481131", "wrangle_name": "filter", @@ -13,6 +14,9 @@ "description": "Filter the dataframe based on the contents. If multiple filters are specified, all must be correct. For complex filters, use the where parameter.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "filter" diff --git a/wrangles-docs/static/registry/contracts/format/dates.json b/wrangles-docs/static/registry/contracts/format/dates.json index da4f87f..b52a3e4 100644 --- a/wrangles-docs/static/registry/contracts/format/dates.json +++ b/wrangles-docs/static/registry/contracts/format/dates.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "a3c15135-4f7a-4659-83fd-f657afa603c9", "wrangle_name": "dates", @@ -13,6 +14,9 @@ "description": "Format a date.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "dates" diff --git a/wrangles-docs/static/registry/contracts/format/pad.json b/wrangles-docs/static/registry/contracts/format/pad.json index a3158a2..0e39991 100644 --- a/wrangles-docs/static/registry/contracts/format/pad.json +++ b/wrangles-docs/static/registry/contracts/format/pad.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "76c19378-38f4-45aa-85d1-3cdf8f8aae29", "wrangle_name": "pad", @@ -13,6 +14,9 @@ "description": "Pad a string to a fixed length.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "pad" diff --git a/wrangles-docs/static/registry/contracts/format/prefix.json b/wrangles-docs/static/registry/contracts/format/prefix.json index 5528a93..93654c4 100644 --- a/wrangles-docs/static/registry/contracts/format/prefix.json +++ b/wrangles-docs/static/registry/contracts/format/prefix.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "c12f99b9-2363-4da7-8405-7c73b87906e5", "wrangle_name": "prefix", @@ -13,6 +14,9 @@ "description": "Add a prefix to a column.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "prefix" diff --git a/wrangles-docs/static/registry/contracts/format/price-breaks.json b/wrangles-docs/static/registry/contracts/format/price-breaks.json index 8142081..b5d331d 100644 --- a/wrangles-docs/static/registry/contracts/format/price-breaks.json +++ b/wrangles-docs/static/registry/contracts/format/price-breaks.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": null, "wrangle_name": "price_breaks", @@ -13,6 +14,10 @@ "description": "Expand non-empty price-break cells into paired category and value columns.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": false, + "reason": "This newer wrangle is outside the pinned baseline." + }, "tags": [ "format", "price-breaks" diff --git a/wrangles-docs/static/registry/contracts/format/remove-duplicates.json b/wrangles-docs/static/registry/contracts/format/remove-duplicates.json index 19f7cfe..0711561 100644 --- a/wrangles-docs/static/registry/contracts/format/remove-duplicates.json +++ b/wrangles-docs/static/registry/contracts/format/remove-duplicates.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "283b9e78-b2b2-43d0-844f-9842c33120aa", "wrangle_name": "remove_duplicates", @@ -13,6 +14,9 @@ "description": "Remove duplicates from a list. Preserves input order.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "remove-duplicates" diff --git a/wrangles-docs/static/registry/contracts/format/significant-figures.json b/wrangles-docs/static/registry/contracts/format/significant-figures.json index d5a86bd..e8db779 100644 --- a/wrangles-docs/static/registry/contracts/format/significant-figures.json +++ b/wrangles-docs/static/registry/contracts/format/significant-figures.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "a359f72a-5250-4dd8-84f6-8a8173bee0f6", "wrangle_name": "significant_figures", @@ -13,6 +14,9 @@ "description": "Format a value to a specific number of significant figures.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "significant-figures" diff --git a/wrangles-docs/static/registry/contracts/format/suffix.json b/wrangles-docs/static/registry/contracts/format/suffix.json index d75c82b..824deff 100644 --- a/wrangles-docs/static/registry/contracts/format/suffix.json +++ b/wrangles-docs/static/registry/contracts/format/suffix.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "8d127060-ba2d-4934-897f-07662e01e40b", "wrangle_name": "suffix", @@ -13,6 +14,9 @@ "description": "Add a suffix to a column.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "suffix" diff --git a/wrangles-docs/static/registry/contracts/format/trim.json b/wrangles-docs/static/registry/contracts/format/trim.json index 77c1638..540a3c6 100644 --- a/wrangles-docs/static/registry/contracts/format/trim.json +++ b/wrangles-docs/static/registry/contracts/format/trim.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "af16b3c1-c230-4868-8ebe-f574904a0c76", "wrangle_name": "trim", @@ -13,6 +14,9 @@ "description": "Remove excess whitespace at the start and end of text.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "trim" diff --git a/wrangles-docs/static/registry/contracts/generate/ai.json b/wrangles-docs/static/registry/contracts/generate/ai.json index 9665a8a..ee51caf 100644 --- a/wrangles-docs/static/registry/contracts/generate/ai.json +++ b/wrangles-docs/static/registry/contracts/generate/ai.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "12c31c6c-cade-484d-84ba-7f302bf6af52", "wrangle_name": "ai", @@ -13,6 +14,9 @@ "description": "Generate structured AI output for each recipe row.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "ai", "generate" diff --git a/wrangles-docs/static/registry/contracts/huggingface.json b/wrangles-docs/static/registry/contracts/huggingface.json index b37b70c..6f12e80 100644 --- a/wrangles-docs/static/registry/contracts/huggingface.json +++ b/wrangles-docs/static/registry/contracts/huggingface.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "ae12cf20-4934-428f-84a9-a6898cb7ffe0", "wrangle_name": "huggingface", @@ -13,6 +14,9 @@ "description": "Use a model from huggingface.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "ai", "huggingface" diff --git a/wrangles-docs/static/registry/contracts/log.json b/wrangles-docs/static/registry/contracts/log.json index fc6f6fd..1dfee03 100644 --- a/wrangles-docs/static/registry/contracts/log.json +++ b/wrangles-docs/static/registry/contracts/log.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "6177808e-aa2d-4d0b-8385-858b16948a5d", "wrangle_name": "log", @@ -13,6 +14,10 @@ "description": "Log the current status of the dataframe.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": false, + "reason": "Operational logging steps are not authored in the baseline." + }, "tags": [ "utility", "log" diff --git a/wrangles-docs/static/registry/contracts/lookup.json b/wrangles-docs/static/registry/contracts/lookup.json index afa7a7e..615c63e 100644 --- a/wrangles-docs/static/registry/contracts/lookup.json +++ b/wrangles-docs/static/registry/contracts/lookup.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "b3339193-d1cc-4c89-8ed6-901efa6d81be", "wrangle_name": "lookup", @@ -13,6 +14,9 @@ "description": "Lookup values from a saved lookup wrangle.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "lookup" ], diff --git a/wrangles-docs/static/registry/contracts/math.json b/wrangles-docs/static/registry/contracts/math.json index 6060694..d7fb938 100644 --- a/wrangles-docs/static/registry/contracts/math.json +++ b/wrangles-docs/static/registry/contracts/math.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "494b11ad-00c1-4748-8b93-6bec982f4fec", "wrangle_name": "math", @@ -13,6 +14,9 @@ "description": "Apply a mathematical calculation.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "compute", "math" diff --git a/wrangles-docs/static/registry/contracts/maths.json b/wrangles-docs/static/registry/contracts/maths.json index 5a94b46..abba552 100644 --- a/wrangles-docs/static/registry/contracts/maths.json +++ b/wrangles-docs/static/registry/contracts/maths.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": null, "wrangle_name": "maths", @@ -14,6 +15,10 @@ "status": "deprecated", "replaced_by": "math", "visibility": "public", + "recipe_writer": { + "eligible": false, + "reason": "Deprecated compatibility key; use math." + }, "tags": [ "maths" ], diff --git a/wrangles-docs/static/registry/contracts/matrix.json b/wrangles-docs/static/registry/contracts/matrix.json index cb3d710..0fc8318 100644 --- a/wrangles-docs/static/registry/contracts/matrix.json +++ b/wrangles-docs/static/registry/contracts/matrix.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": null, "wrangle_name": "matrix", @@ -13,6 +14,10 @@ "description": "Apply a matrix of wrangles to the dataframe. This will run the wrangles for each combination of the variables.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": false, + "reason": "Matrix orchestration is not supported in the baseline." + }, "tags": [ "utility", "matrix" diff --git a/wrangles-docs/static/registry/contracts/merge/coalesce.json b/wrangles-docs/static/registry/contracts/merge/coalesce.json index 188b560..1725244 100644 --- a/wrangles-docs/static/registry/contracts/merge/coalesce.json +++ b/wrangles-docs/static/registry/contracts/merge/coalesce.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "25c1a60d-fa48-4b9a-8c03-0921d5b31049", "wrangle_name": "coalesce", @@ -13,6 +14,9 @@ "description": "Take the first non-empty value from a series of columns or lists.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "merge", "coalesce" diff --git a/wrangles-docs/static/registry/contracts/merge/concatenate.json b/wrangles-docs/static/registry/contracts/merge/concatenate.json index d32755b..922a82b 100644 --- a/wrangles-docs/static/registry/contracts/merge/concatenate.json +++ b/wrangles-docs/static/registry/contracts/merge/concatenate.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "6ff76728-e1f6-4d3d-8946-6aa3b7524b3f", "wrangle_name": "concatenate", @@ -13,6 +14,9 @@ "description": "Concatenate a list of columns or a list within a single column.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "merge", "concatenate" diff --git a/wrangles-docs/static/registry/contracts/merge/dictionaries.json b/wrangles-docs/static/registry/contracts/merge/dictionaries.json index 3e7a542..2a90303 100644 --- a/wrangles-docs/static/registry/contracts/merge/dictionaries.json +++ b/wrangles-docs/static/registry/contracts/merge/dictionaries.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "93e27737-e966-4ba9-8777-4e96724ebfc4", "wrangle_name": "dictionaries", @@ -13,6 +14,9 @@ "description": "Take dictionaries in multiple columns and merge them to a single dictionary.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "merge", "dictionaries" diff --git a/wrangles-docs/static/registry/contracts/merge/key-value-pairs.json b/wrangles-docs/static/registry/contracts/merge/key-value-pairs.json index f3b3c20..ae7ffcb 100644 --- a/wrangles-docs/static/registry/contracts/merge/key-value-pairs.json +++ b/wrangles-docs/static/registry/contracts/merge/key-value-pairs.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "8a2cd37c-8ef7-4b05-8264-36512f5dd837", "wrangle_name": "key_value_pairs", @@ -13,6 +14,9 @@ "description": "Create a dictionary from keys and values in paired columns e.g. COLUMN_NAME_1, COLUMN_VALUE_1, COLUMN_NAME_2, COLUMN_VALUE_2 ...", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "merge", "key-value-pairs" diff --git a/wrangles-docs/static/registry/contracts/merge/lists.json b/wrangles-docs/static/registry/contracts/merge/lists.json index 6ee7b84..7104aea 100644 --- a/wrangles-docs/static/registry/contracts/merge/lists.json +++ b/wrangles-docs/static/registry/contracts/merge/lists.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "d9978f00-b3d4-4583-884e-a53b98a43e9a", "wrangle_name": "lists", @@ -13,6 +14,9 @@ "description": "Take lists in multiple columns and merge them to a single list.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "merge", "lists" diff --git a/wrangles-docs/static/registry/contracts/merge/to-dict.json b/wrangles-docs/static/registry/contracts/merge/to-dict.json index 6e22bb4..ab26408 100644 --- a/wrangles-docs/static/registry/contracts/merge/to-dict.json +++ b/wrangles-docs/static/registry/contracts/merge/to-dict.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "9b869210-0d89-403b-8409-7cecdb5f9c7c", "wrangle_name": "to_dict", @@ -13,6 +14,9 @@ "description": "Take multiple columns and merge them to a dictionary (aka object) using the column headers as keys.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "merge", "to-dict" diff --git a/wrangles-docs/static/registry/contracts/merge/to-list.json b/wrangles-docs/static/registry/contracts/merge/to-list.json index be2f668..e3c5b88 100644 --- a/wrangles-docs/static/registry/contracts/merge/to-list.json +++ b/wrangles-docs/static/registry/contracts/merge/to-list.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "d5300fe7-c8a4-4a41-8f12-f2c1698678cc", "wrangle_name": "to_list", @@ -13,6 +14,9 @@ "description": "Take multiple columns and merge them to a list.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "merge", "to-list" diff --git a/wrangles-docs/static/registry/contracts/python.json b/wrangles-docs/static/registry/contracts/python.json index 9997177..f268f69 100644 --- a/wrangles-docs/static/registry/contracts/python.json +++ b/wrangles-docs/static/registry/contracts/python.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "c0398a11-7731-4e47-8df0-b07eea0b1d6c", "wrangle_name": "python", @@ -13,6 +14,9 @@ "description": "Apply a simple single-line python command. For more complex python use a custom function. Note, this evaluates the python command - be especially cautious including variables from untrusted sources within the command string. The python command will be evaluated once for each row and the result returned. Reference column values by using their name. Non-alphanumeric characters within column names are replaced by underscores (_) Additionally, all columns are available as a dict named kwargs. Additional parameters set for the wrangle will also be available to the command.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "compute", "python" diff --git a/wrangles-docs/static/registry/contracts/recipe.json b/wrangles-docs/static/registry/contracts/recipe.json index 412c9cb..ea0e4e2 100644 --- a/wrangles-docs/static/registry/contracts/recipe.json +++ b/wrangles-docs/static/registry/contracts/recipe.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": null, "wrangle_name": "recipe", @@ -13,6 +14,10 @@ "description": "Run another recipe as a wrangle against the current dataframe.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": false, + "reason": "Nested recipe composition is outside the baseline." + }, "tags": [ "recipe" ], diff --git a/wrangles-docs/static/registry/contracts/reindex.json b/wrangles-docs/static/registry/contracts/reindex.json index 6063277..5fa9cc1 100644 --- a/wrangles-docs/static/registry/contracts/reindex.json +++ b/wrangles-docs/static/registry/contracts/reindex.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "def87df8-72da-4e34-83c1-1fde25126257", "wrangle_name": "reindex", @@ -13,6 +14,9 @@ "description": "Changes the row labels and column labels of a DataFrame.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "transform", "reindex" diff --git a/wrangles-docs/static/registry/contracts/remove-words.json b/wrangles-docs/static/registry/contracts/remove-words.json index fc38e0a..f6797a0 100644 --- a/wrangles-docs/static/registry/contracts/remove-words.json +++ b/wrangles-docs/static/registry/contracts/remove-words.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "543b96c3-f354-48be-8046-bf0cb9fbaf56", "wrangle_name": "remove_words", @@ -13,6 +14,9 @@ "description": "Remove all the elements that occur in one list from another.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "remove-words" diff --git a/wrangles-docs/static/registry/contracts/rename.json b/wrangles-docs/static/registry/contracts/rename.json index f2710c5..074253e 100644 --- a/wrangles-docs/static/registry/contracts/rename.json +++ b/wrangles-docs/static/registry/contracts/rename.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "ab06898f-faf7-42e7-8275-5e3034a4d727", "wrangle_name": "rename", @@ -13,6 +14,10 @@ "description": "Rename a column or list of columns.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": false, + "reason": "Structural rename steps are not supported in the baseline." + }, "tags": [ "transform", "rename" diff --git a/wrangles-docs/static/registry/contracts/replace.json b/wrangles-docs/static/registry/contracts/replace.json index fed4e6c..88fb0d3 100644 --- a/wrangles-docs/static/registry/contracts/replace.json +++ b/wrangles-docs/static/registry/contracts/replace.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "f0ab715e-9e0e-4614-83e4-5cd8ea08a09f", "wrangle_name": "replace", @@ -13,6 +14,9 @@ "description": "Quick find and replace for simple values. Can use regex if 'input' in params and isinstance(params['input'], list):in the find field.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "replace" diff --git a/wrangles-docs/static/registry/contracts/round.json b/wrangles-docs/static/registry/contracts/round.json index 6799f83..476c4c4 100644 --- a/wrangles-docs/static/registry/contracts/round.json +++ b/wrangles-docs/static/registry/contracts/round.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "12f3111b-8511-4e42-8d3f-b5302dc3b4e4", "wrangle_name": "round", @@ -13,6 +14,9 @@ "description": "Round column(s) to the specified decimals.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "round" diff --git a/wrangles-docs/static/registry/contracts/search/find-links.json b/wrangles-docs/static/registry/contracts/search/find-links.json index dec7fcb..4365e02 100644 --- a/wrangles-docs/static/registry/contracts/search/find-links.json +++ b/wrangles-docs/static/registry/contracts/search/find-links.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "ec1f661b-2cbc-4a47-88e3-646179104376", "wrangle_name": "find_links", @@ -13,6 +14,9 @@ "description": "Perform web searches to find links. Returns structured search results with titles, links, snippets, and optional pricing.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "search", "find-links" diff --git a/wrangles-docs/static/registry/contracts/search/retrieve-link-content.json b/wrangles-docs/static/registry/contracts/search/retrieve-link-content.json index 5ca53ad..7542fab 100644 --- a/wrangles-docs/static/registry/contracts/search/retrieve-link-content.json +++ b/wrangles-docs/static/registry/contracts/search/retrieve-link-content.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "3d5faa87-9e96-48c0-8226-5ae566e8d76c", "wrangle_name": "retrieve_link_content", @@ -13,6 +14,9 @@ "description": "Retrieves targeted content from web pages using LLM URL extraction. Can optionally output a second column containing a clean, human-readable text summary of the retrieved data.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "search", "retrieve-link-content" diff --git a/wrangles-docs/static/registry/contracts/select/columns.json b/wrangles-docs/static/registry/contracts/select/columns.json index dd592c2..e0d2c80 100644 --- a/wrangles-docs/static/registry/contracts/select/columns.json +++ b/wrangles-docs/static/registry/contracts/select/columns.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "bca12c60-3957-4dc5-83f7-5ee460df2a11", "wrangle_name": "columns", @@ -13,6 +14,9 @@ "description": "Select columns from the dataframe.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "columns" diff --git a/wrangles-docs/static/registry/contracts/select/dictionary-element.json b/wrangles-docs/static/registry/contracts/select/dictionary-element.json index 27098c2..e483efa 100644 --- a/wrangles-docs/static/registry/contracts/select/dictionary-element.json +++ b/wrangles-docs/static/registry/contracts/select/dictionary-element.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "5adaeada-6da8-464f-84cb-9fb5ecc17e48", "wrangle_name": "dictionary_element", @@ -13,6 +14,9 @@ "description": "Select one or more element of a dictionary.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "dictionary-element" diff --git a/wrangles-docs/static/registry/contracts/select/element.json b/wrangles-docs/static/registry/contracts/select/element.json index d887e4b..9da8827 100644 --- a/wrangles-docs/static/registry/contracts/select/element.json +++ b/wrangles-docs/static/registry/contracts/select/element.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "223d2f4e-3247-4189-8b6c-e73fe44c4266", "wrangle_name": "element", @@ -13,6 +14,9 @@ "description": "Select elements of lists or dicts using python syntax like col[0]['key'].", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "element" diff --git a/wrangles-docs/static/registry/contracts/select/group-by.json b/wrangles-docs/static/registry/contracts/select/group-by.json index b85a731..36e51cd 100644 --- a/wrangles-docs/static/registry/contracts/select/group-by.json +++ b/wrangles-docs/static/registry/contracts/select/group-by.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "c0af10b1-423a-416c-8cb5-7e7fe1164964", "wrangle_name": "group_by", @@ -13,6 +14,9 @@ "description": "Group and aggregate the data.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "group-by" diff --git a/wrangles-docs/static/registry/contracts/select/head.json b/wrangles-docs/static/registry/contracts/select/head.json index 3952e94..41da2f6 100644 --- a/wrangles-docs/static/registry/contracts/select/head.json +++ b/wrangles-docs/static/registry/contracts/select/head.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "237af1ec-db7d-415a-88b7-70586a2191fb", "wrangle_name": "head", @@ -13,6 +14,9 @@ "description": "Return the first n rows.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "head" diff --git a/wrangles-docs/static/registry/contracts/select/highest-confidence.json b/wrangles-docs/static/registry/contracts/select/highest-confidence.json index 2c851fd..622635c 100644 --- a/wrangles-docs/static/registry/contracts/select/highest-confidence.json +++ b/wrangles-docs/static/registry/contracts/select/highest-confidence.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "00aad85d-8cc8-42e5-86f3-e4ff916e8ac2", "wrangle_name": "highest_confidence", @@ -13,6 +14,9 @@ "description": "Select the option with the highest confidence from multiple columns. Inputs are expected to be of the form [<>, <>].", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "highest-confidence" diff --git a/wrangles-docs/static/registry/contracts/select/left.json b/wrangles-docs/static/registry/contracts/select/left.json index d5f7f29..0a6df0b 100644 --- a/wrangles-docs/static/registry/contracts/select/left.json +++ b/wrangles-docs/static/registry/contracts/select/left.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "5cdd9857-0c77-43bf-80d7-d0a8cb6f980b", "wrangle_name": "left", @@ -13,6 +14,9 @@ "description": "Return characters from the left of text. Strings shorter than the length defined will be unaffected.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "left" diff --git a/wrangles-docs/static/registry/contracts/select/length.json b/wrangles-docs/static/registry/contracts/select/length.json index 434186c..a9a8ea2 100644 --- a/wrangles-docs/static/registry/contracts/select/length.json +++ b/wrangles-docs/static/registry/contracts/select/length.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "4d7a5f66-0a4a-40e0-8298-d5c55754423d", "wrangle_name": "length", @@ -13,6 +14,9 @@ "description": "Calculate the lengths of data in a column. The length depends on the data type e.g. text will be the length of the text, lists will be the number of elements in the list.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "length" diff --git a/wrangles-docs/static/registry/contracts/select/list-element.json b/wrangles-docs/static/registry/contracts/select/list-element.json index 9cea94a..8df21b1 100644 --- a/wrangles-docs/static/registry/contracts/select/list-element.json +++ b/wrangles-docs/static/registry/contracts/select/list-element.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "ec40495d-d29a-4f62-86dd-eafa43cf388a", "wrangle_name": "list_element", @@ -13,6 +14,9 @@ "description": "Select a numbered element of a list (zero indexed).", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "list-element" diff --git a/wrangles-docs/static/registry/contracts/select/right.json b/wrangles-docs/static/registry/contracts/select/right.json index 61402ac..f8cb6c2 100644 --- a/wrangles-docs/static/registry/contracts/select/right.json +++ b/wrangles-docs/static/registry/contracts/select/right.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "89ee82ec-3bc5-4bfa-899b-7a1260ef9bdb", "wrangle_name": "right", @@ -13,6 +14,9 @@ "description": "Return characters from the right of text. Strings shorter than the length defined will be unaffected.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "right" diff --git a/wrangles-docs/static/registry/contracts/select/sample.json b/wrangles-docs/static/registry/contracts/select/sample.json index 9dfb59c..e866934 100644 --- a/wrangles-docs/static/registry/contracts/select/sample.json +++ b/wrangles-docs/static/registry/contracts/select/sample.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "95a84ab6-a66e-450f-8a4a-7a87e3a77932", "wrangle_name": "sample", @@ -13,6 +14,9 @@ "description": "Return a random sample of the rows.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "sample" diff --git a/wrangles-docs/static/registry/contracts/select/substring.json b/wrangles-docs/static/registry/contracts/select/substring.json index fa382e4..73d32b7 100644 --- a/wrangles-docs/static/registry/contracts/select/substring.json +++ b/wrangles-docs/static/registry/contracts/select/substring.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "8befddf8-602e-4fa9-8f16-4c547210ebec", "wrangle_name": "substring", @@ -13,6 +14,9 @@ "description": "Return characters from the middle of text.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "substring" diff --git a/wrangles-docs/static/registry/contracts/select/tail.json b/wrangles-docs/static/registry/contracts/select/tail.json index cd52f92..9897cc2 100644 --- a/wrangles-docs/static/registry/contracts/select/tail.json +++ b/wrangles-docs/static/registry/contracts/select/tail.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "60853759-c160-49a4-87eb-036516a9d823", "wrangle_name": "tail", @@ -13,6 +14,9 @@ "description": "Return the last n rows.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "tail" diff --git a/wrangles-docs/static/registry/contracts/select/threshold.json b/wrangles-docs/static/registry/contracts/select/threshold.json index 3ada443..7cd2a28 100644 --- a/wrangles-docs/static/registry/contracts/select/threshold.json +++ b/wrangles-docs/static/registry/contracts/select/threshold.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "af2a5dcc-0ec0-48d7-8fb4-f58d9c5391d2", "wrangle_name": "threshold", @@ -13,6 +14,9 @@ "description": "Select the first option if it exceeds a given threshold, else the second option.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "threshold" diff --git a/wrangles-docs/static/registry/contracts/similarity.json b/wrangles-docs/static/registry/contracts/similarity.json index a7a09f6..29eb36f 100644 --- a/wrangles-docs/static/registry/contracts/similarity.json +++ b/wrangles-docs/static/registry/contracts/similarity.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "7c733344-4cce-4938-8013-53742fb46a90", "wrangle_name": "similarity", @@ -13,6 +14,9 @@ "description": "Calculate the cosine similarity of two vectors.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "compare", "similarity" diff --git a/wrangles-docs/static/registry/contracts/sort.json b/wrangles-docs/static/registry/contracts/sort.json index e6ad03d..169960c 100644 --- a/wrangles-docs/static/registry/contracts/sort.json +++ b/wrangles-docs/static/registry/contracts/sort.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "1dcf06ad-898a-4d83-862c-4774be37a687", "wrangle_name": "sort", @@ -13,6 +14,9 @@ "description": "Sort the data.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "sort" diff --git a/wrangles-docs/static/registry/contracts/split/dictionary.json b/wrangles-docs/static/registry/contracts/split/dictionary.json index 804aae0..0534f49 100644 --- a/wrangles-docs/static/registry/contracts/split/dictionary.json +++ b/wrangles-docs/static/registry/contracts/split/dictionary.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "06ca98e4-d026-43f7-84eb-af246d401ba9", "wrangle_name": "dictionary", @@ -13,6 +14,9 @@ "description": "Split one or more dictionaries into columns. The dictionary keys will be returned as the new column headers. If the dictionaries contain overlapping values, the last value will be returned.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "split", "dictionary" diff --git a/wrangles-docs/static/registry/contracts/split/list.json b/wrangles-docs/static/registry/contracts/split/list.json index 94f1274..dadc448 100644 --- a/wrangles-docs/static/registry/contracts/split/list.json +++ b/wrangles-docs/static/registry/contracts/split/list.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "3260b9f7-aae2-499f-8004-d211c2cf643e", "wrangle_name": "list", @@ -13,6 +14,9 @@ "description": "Split a list in a single column to multiple columns.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "split", "list" diff --git a/wrangles-docs/static/registry/contracts/split/text.json b/wrangles-docs/static/registry/contracts/split/text.json index c98fef7..a4d1dce 100644 --- a/wrangles-docs/static/registry/contracts/split/text.json +++ b/wrangles-docs/static/registry/contracts/split/text.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "e76e43f7-d129-4bf8-87b4-a304a378b130", "wrangle_name": "text", @@ -13,6 +14,9 @@ "description": "Split a string to multiple columns or a list.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "split", "text" diff --git a/wrangles-docs/static/registry/contracts/split/tokenize.json b/wrangles-docs/static/registry/contracts/split/tokenize.json index add5cee..2189c3b 100644 --- a/wrangles-docs/static/registry/contracts/split/tokenize.json +++ b/wrangles-docs/static/registry/contracts/split/tokenize.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "6cc88418-ae0c-43f6-84ee-31e0d5f838c3", "wrangle_name": "tokenize", @@ -13,6 +14,9 @@ "description": "Split text into tokens. A variety of methods are available. The default method is to split on spaces.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "split", "tokenize" diff --git a/wrangles-docs/static/registry/contracts/sql.json b/wrangles-docs/static/registry/contracts/sql.json index d68dc3b..00e1e55 100644 --- a/wrangles-docs/static/registry/contracts/sql.json +++ b/wrangles-docs/static/registry/contracts/sql.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "467a06b1-a697-4d31-8061-7d83a719fd79", "wrangle_name": "sql", @@ -13,6 +14,9 @@ "description": "Apply a SQL command to the current dataframe. Only SELECT statements are supported - the result will be the output.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "compute", "sql" diff --git a/wrangles-docs/static/registry/contracts/standardize.json b/wrangles-docs/static/registry/contracts/standardize.json index c8ae208..7bd7af6 100644 --- a/wrangles-docs/static/registry/contracts/standardize.json +++ b/wrangles-docs/static/registry/contracts/standardize.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "53cd3fdd-24e2-4411-8655-6014b92a3f3a", "wrangle_name": "standardize", @@ -14,6 +15,10 @@ "status": "deprecated", "replaced_by": "standardize.custom", "visibility": "public", + "recipe_writer": { + "eligible": false, + "reason": "Deprecated compatibility key; use standardize.custom." + }, "tags": [ "format", "standardize" diff --git a/wrangles-docs/static/registry/contracts/standardize/clean.json b/wrangles-docs/static/registry/contracts/standardize/clean.json index f64af0a..f125f56 100644 --- a/wrangles-docs/static/registry/contracts/standardize/clean.json +++ b/wrangles-docs/static/registry/contracts/standardize/clean.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": null, "wrangle_name": "clean", @@ -13,6 +14,9 @@ "description": "Repair common encoding, Unicode, HTML character reference, control character, and whitespace problems locally.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "standardize", "clean" diff --git a/wrangles-docs/static/registry/contracts/standardize/custom.json b/wrangles-docs/static/registry/contracts/standardize/custom.json index 58af7d3..0ac6884 100644 --- a/wrangles-docs/static/registry/contracts/standardize/custom.json +++ b/wrangles-docs/static/registry/contracts/standardize/custom.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": null, "wrangle_name": "custom", @@ -13,6 +14,9 @@ "description": "Standardize data using a DIY or bespoke standardization wrangle. Requires WrangleWorks Account and Subscription.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "standardize", "custom" diff --git a/wrangles-docs/static/registry/contracts/translate.json b/wrangles-docs/static/registry/contracts/translate.json index d6c0d22..0a45340 100644 --- a/wrangles-docs/static/registry/contracts/translate.json +++ b/wrangles-docs/static/registry/contracts/translate.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "73c3ceb6-ffd8-4d74-8389-c83b99d33bb0", "wrangle_name": "translate", @@ -13,6 +14,9 @@ "description": "Translate the input to a different language. Requires WrangleWorks Account and DeepL API Key (A free account for up to 500,000 characters per month is available).", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "translate" diff --git a/wrangles-docs/static/registry/contracts/transpose.json b/wrangles-docs/static/registry/contracts/transpose.json index a9140f7..5468bbe 100644 --- a/wrangles-docs/static/registry/contracts/transpose.json +++ b/wrangles-docs/static/registry/contracts/transpose.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": "8716347f-f286-49b2-8a0b-cb73292e7475", "wrangle_name": "transpose", @@ -13,6 +14,9 @@ "description": "Transpose the DataFrame (swap columns to rows).", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": true + }, "tags": [ "transform", "transpose" diff --git a/wrangles-docs/static/registry/contracts/try.json b/wrangles-docs/static/registry/contracts/try.json index fe368fc..f2256f5 100644 --- a/wrangles-docs/static/registry/contracts/try.json +++ b/wrangles-docs/static/registry/contracts/try.json @@ -1,7 +1,8 @@ { + "$schema": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", "format": "wrangles-registry-entry", - "registry_version": "0.1.0", - "schema_version": "0.1", + "registry_version": "0.2.0", + "schema_version": "0.2", "type": "wrangle", "id": null, "wrangle_name": "try", @@ -13,6 +14,10 @@ "description": "Try a list of wrangles and catch any errors that occur.", "status": "active", "visibility": "public", + "recipe_writer": { + "eligible": false, + "reason": "Error-control orchestration is not supported in the baseline." + }, "tags": [ "utility", "try" diff --git a/wrangles-docs/static/registry/index.md b/wrangles-docs/static/registry/index.md index f7e7ad1..3a0f6cc 100644 --- a/wrangles-docs/static/registry/index.md +++ b/wrangles-docs/static/registry/index.md @@ -4,7 +4,7 @@ type: collection title: Wrangles Registry description: Public pre-production bundle for Wrangles recipe primitives. status: pre-production -registry_version: 0.1.0 +registry_version: 0.2.0 --- # Wrangles Registry diff --git a/wrangles-docs/static/registry/manifest.json b/wrangles-docs/static/registry/manifest.json index a72bc28..0265dfd 100644 --- a/wrangles-docs/static/registry/manifest.json +++ b/wrangles-docs/static/registry/manifest.json @@ -1,8 +1,18 @@ { "format": "wrangles-registry", - "registry_version": "0.1.0", - "contract_version": "0.1", + "registry_version": "0.2.0", + "contract_version": "0.2", "status": "pre-production", + "compatibility": { + "wranglespy_version": "1.20.2", + "wranglespy_revision": "7916bf158e8b7e561270a1bea7b808f88956edc4", + "compatible_wranglespy": "==1.20.2" + }, + "recipe_writer": { + "eligible_entry_count": 88, + "eligible_keys_sha256": "e25c2eede15434c7987082fc15f9fea0f2904939f109304de1495bf3749c5c07", + "eligible_keys_framing": "utf8-newline-separated-sorted-v1" + }, "entry_count": 98, "entries": [ { @@ -16,6 +26,10 @@ "title": "Accordion", "description": "Apply a series of wrangles to column(s) containing lists. The wrangles will be applied to each element in the list and the results will be returned back as a list.", "status": "active", + "recipe_writer": { + "eligible": false, + "reason": "Nested-list orchestration is not supported in the baseline." + }, "tags": [ "utility", "accordion" @@ -38,6 +52,9 @@ "title": "Batch", "description": "Split the data into batches for executing a list of wrangles. Use this in situations such as where the intermediate data is too large to fit in memory.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "utility", "batch" @@ -60,6 +77,9 @@ "title": "Classify", "description": "Run classify wrangles on the specified columns. Requires WrangleWorks Account and Subscription.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "ai", "classify" @@ -82,6 +102,9 @@ "title": "Clean Whitespaces", "description": "Condense multiple spaces to a single space and convert special space characters to a standard space.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "clean-whitespaces" @@ -104,6 +127,9 @@ "title": "Lists", "description": "Compare multiple lists and return the intersection, difference, or union.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "compare", "lists" @@ -126,6 +152,9 @@ "title": "Text", "description": "Compare two strings and return the intersection or difference, use overlap to find the matching characters between the two strings, or use similarity to get a numeric similarity score.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "compare", "text" @@ -148,6 +177,9 @@ "title": "Case When", "description": "Assign values to a column based on conditional logic.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "compute", "case-when" @@ -170,6 +202,9 @@ "title": "Score Search Results", "description": "Scores and filters search results based on progressive partial/exact matching. Can return dictionaries or a parallel list of formatted strings.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "compute", "score-search-results" @@ -192,6 +227,10 @@ "title": "Concurrent", "description": "Run multiple wrangles concurrently rather than sequentially. Wrangles must specify output columns to be used concurrently. When using concurrent, Wrangles may not complete in a predictable order and it is not recommended to update overlapping columns with different wrangles.", "status": "active", + "recipe_writer": { + "eligible": false, + "reason": "Concurrent orchestration is not supported in the baseline." + }, "tags": [ "utility", "concurrent" @@ -214,6 +253,9 @@ "title": "Convert Case", "description": "Change the letter case of text values.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "convert", "text", @@ -237,6 +279,9 @@ "title": "Convert Data Type", "description": "Convert values to strings, numbers, booleans, or datetimes.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "convert", "data-type", @@ -260,6 +305,9 @@ "title": "Fraction to Decimal", "description": "Convert fractions to decimals.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "convert", "fraction-to-decimal" @@ -282,6 +330,9 @@ "title": "Convert From JSON", "description": "Parse JSON text into lists, objects, scalars, booleans, or null values.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "convert", "json", @@ -305,6 +356,9 @@ "title": "From YAML", "description": "Convert a YAML representation into an object.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "convert", "from-yaml" @@ -327,6 +381,9 @@ "title": "To JSON", "description": "Convert an object to a JSON representation.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "convert", "to-json" @@ -349,6 +406,9 @@ "title": "To YAML", "description": "Convert an object to a YAML representation.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "convert", "to-yaml" @@ -371,6 +431,9 @@ "title": "Copy", "description": "Make a copy of a column or a list of columns.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "transform", "copy" @@ -393,6 +456,9 @@ "title": "Bins", "description": "Create a column that groups data into bins.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "bins" @@ -415,6 +481,9 @@ "title": "Column", "description": "Create column(s) with a user defined value. Defaults to None (empty).", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "column" @@ -437,6 +506,9 @@ "title": "Embeddings", "description": "Create an embedding based on text input.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "embeddings" @@ -459,6 +531,9 @@ "title": "GUID", "description": "Create column(s) with a GUID.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "guid" @@ -481,6 +556,9 @@ "title": "Hash", "description": "Create a hash of a column.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "hash" @@ -503,6 +581,9 @@ "title": "Index", "description": "Create column(s) with an incremental index. e.g. 1,2,3...", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "index" @@ -525,6 +606,9 @@ "title": "Jinja", "description": "Output text using a jinja template.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "jinja" @@ -547,6 +631,9 @@ "title": "UUID", "description": "Create column(s) with a UUID.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "create", "uuid" @@ -569,6 +656,9 @@ "title": "Date Calculator", "description": "Add or Subtract time from a date.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "date", "date-calculator" @@ -591,6 +681,9 @@ "title": "Drop", "description": "Drop (Delete) selected column(s).", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "drop" @@ -613,6 +706,9 @@ "title": "Explode", "description": "Explode a column of lists into rows.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "split", "explode" @@ -635,6 +731,9 @@ "title": "Address", "description": "Extract parts of addresses. Requires WrangleWorks Account.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "address" @@ -657,6 +756,9 @@ "title": "AI", "description": "Extract structured data from each input row using an AI model. Define the desired fields with output, or reuse a saved definition with model_id.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "ai", "extract" @@ -679,6 +781,9 @@ "title": "Attributes", "description": "Extract numeric attributes from the input such as weights or lengths. Requires WrangleWorks Account.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "attributes" @@ -701,6 +806,9 @@ "title": "Brackets", "description": "Extract text properties in brackets from the input.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "brackets" @@ -723,6 +831,9 @@ "title": "Codes", "description": "Extract alphanumeric codes from the input. Requires WrangleWorks Account.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "codes" @@ -745,6 +856,9 @@ "title": "Custom", "description": "Extract data from the input using a DIY or bespoke extraction wrangle. Requires WrangleWorks Account and Subscription.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "custom" @@ -767,6 +881,9 @@ "title": "Date Properties", "description": "Extract date properties from a date (day, month, year, etc...).", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "date-properties" @@ -789,6 +906,9 @@ "title": "Date Range", "description": "Extract date range frequency from two dates.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "date-range" @@ -811,6 +931,9 @@ "title": "HTML", "description": "Extract elements from strings containing html. Requires WrangleWorks Account.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "html" @@ -833,6 +956,9 @@ "title": "Properties", "description": "Extract text properties from the input. Requires WrangleWorks Account.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "properties" @@ -855,6 +981,9 @@ "title": "Regex", "description": "Extract matches or specific capture groups using regex.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "extract", "regex" @@ -877,6 +1006,9 @@ "title": "Filter", "description": "Filter the dataframe based on the contents. If multiple filters are specified, all must be correct. For complex filters, use the where parameter.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "filter" @@ -899,6 +1031,9 @@ "title": "Dates", "description": "Format a date.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "dates" @@ -921,6 +1056,9 @@ "title": "Pad", "description": "Pad a string to a fixed length.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "pad" @@ -943,6 +1081,9 @@ "title": "Prefix", "description": "Add a prefix to a column.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "prefix" @@ -965,6 +1106,10 @@ "title": "Format Price Breaks", "description": "Expand non-empty price-break cells into paired category and value columns.", "status": "active", + "recipe_writer": { + "eligible": false, + "reason": "This newer wrangle is outside the pinned baseline." + }, "tags": [ "format", "price-breaks" @@ -987,6 +1132,9 @@ "title": "Remove Duplicates", "description": "Remove duplicates from a list. Preserves input order.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "remove-duplicates" @@ -1009,6 +1157,9 @@ "title": "Significant Figures", "description": "Format a value to a specific number of significant figures.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "significant-figures" @@ -1031,6 +1182,9 @@ "title": "Suffix", "description": "Add a suffix to a column.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "suffix" @@ -1053,6 +1207,9 @@ "title": "Trim", "description": "Remove excess whitespace at the start and end of text.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "trim" @@ -1075,6 +1232,9 @@ "title": "Ai", "description": "Generate structured AI output for each recipe row.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "ai", "generate" @@ -1097,6 +1257,9 @@ "title": "Huggingface", "description": "Use a model from huggingface.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "ai", "huggingface" @@ -1119,6 +1282,10 @@ "title": "Log", "description": "Log the current status of the dataframe.", "status": "active", + "recipe_writer": { + "eligible": false, + "reason": "Operational logging steps are not authored in the baseline." + }, "tags": [ "utility", "log" @@ -1141,6 +1308,9 @@ "title": "Lookup", "description": "Lookup values from a saved lookup wrangle.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "lookup" ], @@ -1162,6 +1332,9 @@ "title": "Math", "description": "Apply a mathematical calculation.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "compute", "math" @@ -1185,6 +1358,10 @@ "description": "Deprecated alias for `math`; evaluate an expression and write its result to an output column.", "status": "deprecated", "replaced_by": "math", + "recipe_writer": { + "eligible": false, + "reason": "Deprecated compatibility key; use math." + }, "tags": [ "maths" ], @@ -1206,6 +1383,10 @@ "title": "Matrix", "description": "Apply a matrix of wrangles to the dataframe. This will run the wrangles for each combination of the variables.", "status": "active", + "recipe_writer": { + "eligible": false, + "reason": "Matrix orchestration is not supported in the baseline." + }, "tags": [ "utility", "matrix" @@ -1228,6 +1409,9 @@ "title": "Coalesce", "description": "Take the first non-empty value from a series of columns or lists.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "merge", "coalesce" @@ -1250,6 +1434,9 @@ "title": "Concatenate", "description": "Concatenate a list of columns or a list within a single column.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "merge", "concatenate" @@ -1272,6 +1459,9 @@ "title": "Dictionaries", "description": "Take dictionaries in multiple columns and merge them to a single dictionary.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "merge", "dictionaries" @@ -1294,6 +1484,9 @@ "title": "Key Value Pairs", "description": "Create a dictionary from keys and values in paired columns e.g. COLUMN_NAME_1, COLUMN_VALUE_1, COLUMN_NAME_2, COLUMN_VALUE_2 ...", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "merge", "key-value-pairs" @@ -1316,6 +1509,9 @@ "title": "Lists", "description": "Take lists in multiple columns and merge them to a single list.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "merge", "lists" @@ -1338,6 +1534,9 @@ "title": "To Dict", "description": "Take multiple columns and merge them to a dictionary (aka object) using the column headers as keys.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "merge", "to-dict" @@ -1360,6 +1559,9 @@ "title": "To List", "description": "Take multiple columns and merge them to a list.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "merge", "to-list" @@ -1382,6 +1584,9 @@ "title": "Python", "description": "Apply a simple single-line python command. For more complex python use a custom function. Note, this evaluates the python command - be especially cautious including variables from untrusted sources within the command string. The python command will be evaluated once for each row and the result returned. Reference column values by using their name. Non-alphanumeric characters within column names are replaced by underscores (_) Additionally, all columns are available as a dict named kwargs. Additional parameters set for the wrangle will also be available to the command.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "compute", "python" @@ -1404,6 +1609,10 @@ "title": "Recipe", "description": "Run another recipe as a wrangle against the current dataframe.", "status": "active", + "recipe_writer": { + "eligible": false, + "reason": "Nested recipe composition is outside the baseline." + }, "tags": [ "recipe" ], @@ -1425,6 +1634,9 @@ "title": "Reindex", "description": "Changes the row labels and column labels of a DataFrame.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "transform", "reindex" @@ -1447,6 +1659,9 @@ "title": "Remove Words", "description": "Remove all the elements that occur in one list from another.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "remove-words" @@ -1469,6 +1684,10 @@ "title": "Rename", "description": "Rename a column or list of columns.", "status": "active", + "recipe_writer": { + "eligible": false, + "reason": "Structural rename steps are not supported in the baseline." + }, "tags": [ "transform", "rename" @@ -1491,6 +1710,9 @@ "title": "Replace", "description": "Quick find and replace for simple values. Can use regex if 'input' in params and isinstance(params['input'], list):in the find field.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "replace" @@ -1513,6 +1735,9 @@ "title": "Round", "description": "Round column(s) to the specified decimals.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "round" @@ -1535,6 +1760,9 @@ "title": "Find Links", "description": "Perform web searches to find links. Returns structured search results with titles, links, snippets, and optional pricing.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "search", "find-links" @@ -1557,6 +1785,9 @@ "title": "Retrieve Link Content", "description": "Retrieves targeted content from web pages using LLM URL extraction. Can optionally output a second column containing a clean, human-readable text summary of the retrieved data.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "search", "retrieve-link-content" @@ -1579,6 +1810,9 @@ "title": "Columns", "description": "Select columns from the dataframe.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "columns" @@ -1601,6 +1835,9 @@ "title": "Dictionary Element", "description": "Select one or more element of a dictionary.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "dictionary-element" @@ -1623,6 +1860,9 @@ "title": "Element", "description": "Select elements of lists or dicts using python syntax like col[0]['key'].", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "element" @@ -1645,6 +1885,9 @@ "title": "Group By", "description": "Group and aggregate the data.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "group-by" @@ -1667,6 +1910,9 @@ "title": "Head", "description": "Return the first n rows.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "head" @@ -1689,6 +1935,9 @@ "title": "Highest Confidence", "description": "Select the option with the highest confidence from multiple columns. Inputs are expected to be of the form [<>, <>].", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "highest-confidence" @@ -1711,6 +1960,9 @@ "title": "Left", "description": "Return characters from the left of text. Strings shorter than the length defined will be unaffected.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "left" @@ -1733,6 +1985,9 @@ "title": "Length", "description": "Calculate the lengths of data in a column. The length depends on the data type e.g. text will be the length of the text, lists will be the number of elements in the list.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "length" @@ -1755,6 +2010,9 @@ "title": "List Element", "description": "Select a numbered element of a list (zero indexed).", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "list-element" @@ -1777,6 +2035,9 @@ "title": "Right", "description": "Return characters from the right of text. Strings shorter than the length defined will be unaffected.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "right" @@ -1799,6 +2060,9 @@ "title": "Sample", "description": "Return a random sample of the rows.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "sample" @@ -1821,6 +2085,9 @@ "title": "Substring", "description": "Return characters from the middle of text.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "substring" @@ -1843,6 +2110,9 @@ "title": "Tail", "description": "Return the last n rows.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "tail" @@ -1865,6 +2135,9 @@ "title": "Threshold", "description": "Select the first option if it exceeds a given threshold, else the second option.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "threshold" @@ -1887,6 +2160,9 @@ "title": "Similarity", "description": "Calculate the cosine similarity of two vectors.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "compare", "similarity" @@ -1909,6 +2185,9 @@ "title": "Sort", "description": "Sort the data.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "select", "sort" @@ -1931,6 +2210,9 @@ "title": "Dictionary", "description": "Split one or more dictionaries into columns. The dictionary keys will be returned as the new column headers. If the dictionaries contain overlapping values, the last value will be returned.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "split", "dictionary" @@ -1953,6 +2235,9 @@ "title": "List", "description": "Split a list in a single column to multiple columns.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "split", "list" @@ -1975,6 +2260,9 @@ "title": "Text", "description": "Split a string to multiple columns or a list.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "split", "text" @@ -1997,6 +2285,9 @@ "title": "Tokenize", "description": "Split text into tokens. A variety of methods are available. The default method is to split on spaces.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "split", "tokenize" @@ -2019,6 +2310,9 @@ "title": "SQL", "description": "Apply a SQL command to the current dataframe. Only SELECT statements are supported - the result will be the output.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "compute", "sql" @@ -2042,6 +2336,10 @@ "description": "Deprecated compatibility key for `standardize.custom`, which standardizes data using a trained DIY or bespoke model.", "status": "deprecated", "replaced_by": "standardize.custom", + "recipe_writer": { + "eligible": false, + "reason": "Deprecated compatibility key; use standardize.custom." + }, "tags": [ "format", "standardize" @@ -2064,6 +2362,9 @@ "title": "Standardize Clean", "description": "Repair common encoding, Unicode, HTML character reference, control character, and whitespace problems locally.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "standardize", "clean" @@ -2086,6 +2387,9 @@ "title": "Standardize Custom", "description": "Standardize data using a DIY or bespoke standardization wrangle. Requires WrangleWorks Account and Subscription.", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "standardize", "custom" @@ -2108,6 +2412,9 @@ "title": "Translate", "description": "Translate the input to a different language. Requires WrangleWorks Account and DeepL API Key (A free account for up to 500,000 characters per month is available).", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "format", "translate" @@ -2130,6 +2437,9 @@ "title": "Transpose", "description": "Transpose the DataFrame (swap columns to rows).", "status": "active", + "recipe_writer": { + "eligible": true + }, "tags": [ "transform", "transpose" @@ -2152,6 +2462,10 @@ "title": "Try", "description": "Try a list of wrangles and catch any errors that occur.", "status": "active", + "recipe_writer": { + "eligible": false, + "reason": "Error-control orchestration is not supported in the baseline." + }, "tags": [ "utility", "try" @@ -2167,8 +2481,128 @@ "artifacts": { "index": "/registry/index.md", "recipe_schema": "/schemas/recipes/registry/schema.json", + "recipe_writer_schema": "/schemas/recipes/registry/recipe-writer.schema.json", "entry_schema": "/registry/schema/wrangle-entry.schema.json", + "compiled_contract_schema": "/registry/schema/wrangle-contract.schema.json", "runtime_manifest": "/registry/runtime/wranglespy.json", - "runtime_manifest_schema": "/registry/schema/wrangles-runtime-manifest.schema.json" + "runtime_manifest_schema": "/registry/schema/wrangles-runtime-manifest.schema.json", + "runtime_reconciliation": "/registry/runtime/reconciliation.json" + }, + "artifact_checksums": { + "algorithm": "sha256", + "files": { + "/registry/contracts/accordion.json": "d821b9170b19db9c89f74cb36f89a1d12a8a2b674f4ddd09593580ee83618752", + "/registry/contracts/batch.json": "18ade4f1c8190877006c0ab330e05f79570aa83e74ce9071c1ed8b85a5389ad3", + "/registry/contracts/classify.json": "7602bfaf8d1e87d492ae52ff8efe405c17e586ada22c379321e6309595b125f8", + "/registry/contracts/clean-whitespaces.json": "aae711f6b405397d404cb3234ce002fa6c99aea2e939ecd42ced80b256939cb0", + "/registry/contracts/compare/lists.json": "f6ff4d24d991b850284821af857ccd734cf67e4ffea81ad79282096e4249a569", + "/registry/contracts/compare/text.json": "c92bfb1b8e714b802c3a0f8f310f3a737cd2860213503ca0f6a9507045584eb2", + "/registry/contracts/compute/case-when.json": "00b6276f058d75a70c96a834c35af54231c51c9bad14b4aa0180a6b1f2b2733e", + "/registry/contracts/compute/score-search-results.json": "008e859873dc73af787bb8a448754d2d02469fd1799a212df78cd65f9f13a7f6", + "/registry/contracts/concurrent.json": "574cab03f212362402e121fea032172499c898fe9e3b1a4490eaf03f74520f44", + "/registry/contracts/convert/case.json": "d5b09a0f09411f8edc494943efaaf476462fdf3b44fe88863e3b64fe0b41124a", + "/registry/contracts/convert/data-type.json": "63af94c162402f1eea2f870183464bb6d3df0b1f93785b308bf32eb4eb4d93ca", + "/registry/contracts/convert/fraction-to-decimal.json": "8cc09a5a816b272eb27640ce4d6d41b130ac7c21383eac9905810c52c769b695", + "/registry/contracts/convert/from-json.json": "988b004cf69e657245a6100f60108b66a047c162e1b10d71ee9e038816888c58", + "/registry/contracts/convert/from-yaml.json": "ca8f7ce9c261a8b9372fc208ceb278e111cfae6cfc5d13c832d6b0a91c412bcc", + "/registry/contracts/convert/to-json.json": "03507552968dde1f59d4cc7032d41f87dda79cf7ee11c8f3e0ef31742cd42295", + "/registry/contracts/convert/to-yaml.json": "11f0279c17f1c308215c35fb74d4421d3cbcd130b94ceb65b8aba2b4441b5bb3", + "/registry/contracts/copy.json": "9b416697dd96f30af849ff7aa7e8c7b3bb6b18b1a8b2d9ab22fb12993b73a4d8", + "/registry/contracts/create/bins.json": "124939d9b76c51b31b3614b7d0695cd26055fa053fe78b986b5e8cca15faea03", + "/registry/contracts/create/column.json": "73a624c913e8517dc25134bc3ee441ba9bee76a5d70bb1ee49e19f096fdadae9", + "/registry/contracts/create/embeddings.json": "5c339710f6af29662b6117542948ff93ad1f6470a89b06bd6382c9df4b637f9e", + "/registry/contracts/create/guid.json": "98d324c79335b884f0f299d163d2655dd064fb6a499a6c679962373fd4503782", + "/registry/contracts/create/hash.json": "1b2b22d2c54084696119441c12d307e3eb380c1e4703f21c9935fce87b2523be", + "/registry/contracts/create/index.json": "53ac836f0186ac3190bb59b90f4d29632ace343ace9198fde938891f04d5f174", + "/registry/contracts/create/jinja.json": "3352d1ae5b8e3a5a373eeaab0f17e3659873a2572eaf7962fd36d34d14cd437d", + "/registry/contracts/create/uuid.json": "4f6924916863b97cc04bcb77bfd7256949aa5e66f1e50e1abad9e32e7a6f3972", + "/registry/contracts/date-calculator.json": "5ef783cc4b11c5ee870389583298a10c6ce492f0b40ac359cc44b4d95c34f78d", + "/registry/contracts/drop.json": "9297e90b1370058797a23869ed19a35679adfcd6093bc00e3d72ecc1fa31d777", + "/registry/contracts/explode.json": "260ed2f38f2c4127d3b6729c183616ecac68964d693d27e0fd6a75b687f7b96a", + "/registry/contracts/extract/address.json": "f0c0da7ab04fcaed34be00280a94353ec00f3aa1310875b4c7dc45bfdebd4586", + "/registry/contracts/extract/ai.json": "03fd23c3acf0bbb19c655623844b4f7a7e717ac5b71a50594e20e2a6609d295f", + "/registry/contracts/extract/attributes.json": "ca0adfeb8f24536b3c1100f9c842bef26b9c4161ecab7c8de3ac89320579c58a", + "/registry/contracts/extract/brackets.json": "fbff20c250f3115a51db11ecd8e6702b26f333dcc669cc09344b8f78bd0ebe05", + "/registry/contracts/extract/codes.json": "d272b955042af101ae86fc2225108c37fdb284725bdc6d82d50fceb116f5bbda", + "/registry/contracts/extract/custom.json": "90172e9fc3217d7055942901dfa9651e17db119ecb88a043bb558ddb4f61d7cd", + "/registry/contracts/extract/date-properties.json": "e4c9a6a3526465523db1976a08ada426a834e6b5a7b6bca2f03ea5341429c717", + "/registry/contracts/extract/date-range.json": "041cf361fdf3610da2f8014ca25195df7e64d0a8bbb7f6fa2838e70a86993e47", + "/registry/contracts/extract/html.json": "3f6e0d3860f0a110a7c92f640b5fde95b7f46160af93a2b74f63a334ce387eeb", + "/registry/contracts/extract/properties.json": "41c754c64caf205372b7e67716cfbb4fab98db6101fdfbb7108654b7e82e4826", + "/registry/contracts/extract/regex.json": "c0a83c436201606c3d7da3a62ddc3ca170281cc86a62bab5b13683fe8ec92145", + "/registry/contracts/filter.json": "4da05aeeecbf5def51fc9bdb9fe693c78bc3e77082bad2252adcaf2bf2d97d7d", + "/registry/contracts/format/dates.json": "74848e19862c9fb3510ed0531f87d40c7a679e932c052c133a3f60bf890eb2a1", + "/registry/contracts/format/pad.json": "a8e38647628604f9b8d2a46504dc97c9c9498119d417238e4b7c5a579df75d0d", + "/registry/contracts/format/prefix.json": "3eb88cf0fbbd6ae599dd924e837233299667e96fe81f1c239ef352fe314a79b3", + "/registry/contracts/format/price-breaks.json": "33c1816580f880b5a72b5a338303827e0c1cccb0b3a54ecb5f2703d3c5d29e64", + "/registry/contracts/format/remove-duplicates.json": "ae604dc56c94cfafd732952286db201a6af7bbdd7f8b9c0d2cee85fe844b4473", + "/registry/contracts/format/significant-figures.json": "c5297b3f91fb392e6ae248fe55b069ee2a6f7ad51322e5730bfd9edec64c3a82", + "/registry/contracts/format/suffix.json": "0602d57b974a73fe2ff39e257a1a7460bd340b8311722cc7ff69c2a5cd92eaf6", + "/registry/contracts/format/trim.json": "e4703843093f1961db1546df09554cedce6fbc46b9e51910ed27956001ae5825", + "/registry/contracts/generate/ai.json": "e5be3a5757bee5e718dd0582f615671096e9356843a6bc269a6f5a23490a70c9", + "/registry/contracts/huggingface.json": "ea857526e3f056384159dcc3f7ea71f6a11e07908f652d6b52dd207f67fa3941", + "/registry/contracts/log.json": "01d2cd22e37d0421e890bfb170e88eb93cedc5cbd35154ecccc51e4fb086b466", + "/registry/contracts/lookup.json": "a95d025a681777cf090cc6c366ffa1d166461e12b961f10a7b6c8461ccbb2fd9", + "/registry/contracts/math.json": "6b800ecc277a2fcca8ffba485c6462468bbcaf9afe05214ac8545196e0036024", + "/registry/contracts/maths.json": "f56cb6e0841c5b1853ea51fe35eb6db47ac71d3c92fe30c12688bf1b9be490b6", + "/registry/contracts/matrix.json": "a18ccbed800c79988d78b7b5eec4284a9b7d5ddc4e75e5ce218602a557cd96dc", + "/registry/contracts/merge/coalesce.json": "96780c28ae57d275545cd39d51c4669132f64b514d028639e133a15538c472fd", + "/registry/contracts/merge/concatenate.json": "68bef0701ce799cf4dcd14e807546c8f53d11f86c173f605dc97db44c6c40675", + "/registry/contracts/merge/dictionaries.json": "338928d9aad8174f2373ff773d8009c82417b5f5a2d23b1fede20c568388eb6d", + "/registry/contracts/merge/key-value-pairs.json": "f257b650ac7119b576a75da1e080476872fdc1a61eb87a9fb047ac51ce96d2a2", + "/registry/contracts/merge/lists.json": "11805719f085a934f8d549048c9938c9c158f61e45cb89ced566d20688befa8e", + "/registry/contracts/merge/to-dict.json": "0352734e792f584dfbb6f76b97f6e7226b595606d100be922da7dbf09dcceb79", + "/registry/contracts/merge/to-list.json": "b0a47badefd0fe3f679045eaf53b81aa77365c5c4647c33106e3f0f251f6ac97", + "/registry/contracts/python.json": "1dc2b660654cb3127805a3bbd36e109e122e1ac78454e5c335aea6ead8838bc9", + "/registry/contracts/recipe.json": "9ef0c5c14823d82ad91ac1697eec5294a184122538c578b7f45de19cffe829b1", + "/registry/contracts/reindex.json": "fea95bf0fe49a9bd67cd4df1ab95c2c353bffa76e31d6893b0f25b274963bb70", + "/registry/contracts/remove-words.json": "9d094641963abd861be6c7ac6c0b4a084debcc5dbcb86277f6bedaf7bccb4c17", + "/registry/contracts/rename.json": "fb7fecf533e4589638ae0a2e6519eda003ff3cc4e1ae389b217d2ae284f9b7eb", + "/registry/contracts/replace.json": "4a978923beb47b191303cd7406e1276e6f5e93529ff117484b3604662f9682ab", + "/registry/contracts/round.json": "38a6928fb1f8d5faf104b5e626d0a6abb1573d223e0be39db3083e609258a76d", + "/registry/contracts/search/find-links.json": "57df3aa8919d3b56bd5972b55255748d53be47bbf751fd3edef40e2a33e945dc", + "/registry/contracts/search/retrieve-link-content.json": "bbd4bdd1899021845f9d8b2077355bb1822542ba9629a197e72a5ee433d33319", + "/registry/contracts/select/columns.json": "584e960206952da1a2725324f3303fd0cee0ce1e77c16ec0a026a0dc2f2a1bcb", + "/registry/contracts/select/dictionary-element.json": "dc56fa60465772ee378fe68a59c9713422efd6ad480a5a1b6882caf17d3c6be7", + "/registry/contracts/select/element.json": "7d7e64f3cc0103fd1fe3e62506bd124c2a4df2801c8626fee13018032ff2e321", + "/registry/contracts/select/group-by.json": "c9a6022b4e4db0ac97133833a33ce36d1b6b47266d98a2c9905f592e984a64ba", + "/registry/contracts/select/head.json": "5978909bf66ac338ff8f45e581f30ac076154661166f99b9dd6d296402984069", + "/registry/contracts/select/highest-confidence.json": "03c4486352033880b9c3df50b338bfeb2c34292c1416c75635210591e0fc592c", + "/registry/contracts/select/left.json": "ec0f12b3b1da48cff57654084a31fcfc2e9dc3595eac8614d78b160dfda84308", + "/registry/contracts/select/length.json": "3957edb256858a712266ee05092cb4a15766774939f3f736e2fee586dcdafccf", + "/registry/contracts/select/list-element.json": "e3b0c350f8139133b0e59c007423c3f91d15a67e182927e24d40605a999601f6", + "/registry/contracts/select/right.json": "689012cd5fd22775d6a8b584a7f71ea83f4d00e356701d244e41adddb08f4bb0", + "/registry/contracts/select/sample.json": "7d8c4e49b72d72d5a3e5f3977c928c3d6d7f2434bb7914e5cab42cf627d39343", + "/registry/contracts/select/substring.json": "b0398bbfb69c6928bef5334c7a76558d8ee211274500d8aa5868aff28777b36f", + "/registry/contracts/select/tail.json": "b0700ec023ac3a7cecde6b00992923ac240a00386d6e35ee4c5430eae8466d71", + "/registry/contracts/select/threshold.json": "07e179d3d56f3006bb1615e31f158e5bab0c529d61c047232b41406bc1c7e398", + "/registry/contracts/similarity.json": "bbbc3287a54923142606e51cee715d0924911424f77838f4c46fc624746e89b2", + "/registry/contracts/sort.json": "69abf4ad668a978170f506e7a8aa116e579f15b9feaa6ffd359fd4087ba98289", + "/registry/contracts/split/dictionary.json": "5d7d57de5a5a8a7dffd53cc9ff4610815fc4de8258c28d8beeafebc5cce25249", + "/registry/contracts/split/list.json": "fdbf104bfdeead7dbb6917c5cc537de45c965b826b0081a80343b3a785f67e9f", + "/registry/contracts/split/text.json": "637c0b2336c90d323f7b2d5805c03bcd98a7e0d83c7495b0abf27bca1d43a79d", + "/registry/contracts/split/tokenize.json": "d3152c7388c6c2ac034b2c705a2b6703dfa3502c1d55c3023e7ae8155af377d5", + "/registry/contracts/sql.json": "fc9d016336d683efa14e1c821cb6b2fa5d6248f71e5b765c898f92e482c67d7f", + "/registry/contracts/standardize.json": "e78e4c752df54659d8f661f78325877a6a26b6614dd272a905343e2a640d64cd", + "/registry/contracts/standardize/clean.json": "f49b053771f87a54573bddae9547fcb087564e7b44154ce397757796fdd66f6f", + "/registry/contracts/standardize/custom.json": "ddacb9b7427ec0384498409b3b1aa43825418095e3b94a894c106527f5056489", + "/registry/contracts/translate.json": "bc6f1f258ffd50b0d0c97b8dbeef5aa3c29821d413f2c241666935e00afa4a64", + "/registry/contracts/transpose.json": "5c5d2143a65431e43707ed295ee92cb01d44926706da71981b237ba33d5505ac", + "/registry/contracts/try.json": "827cd48651e9d4b9a2792eb30ed9b0e7e9105fa6efd666963f977c13e4d154ea", + "/registry/runtime/reconciliation.json": "e50e8e19a246b0ef7395d95843f3e5aac0131166c902a00bca7ac4fdd83f1405", + "/registry/runtime/wranglespy.json": "f06526b3823fb70f1bb28f4be242bf23621d1b5a544d1f42c04b7549fe1bbef0", + "/registry/schema/wrangle-contract.schema.json": "78712d241d35dad90525da0a0a9e84e939a9acb6f5eaaff5e26d7617819cafff", + "/registry/schema/wrangle-entry.schema.json": "edfcb522624d469a5e6565fec07ba151f24d3a3ebfe1888826b189977cadfb3e", + "/registry/schema/wrangles-runtime-manifest.schema.json": "fc05d2e44272311d3875421c5ae9b978185fcc05770d330cc4cd5bd261ec7538", + "/schemas/recipes/registry/recipe-writer.schema.json": "d8fd259ba2fac003a6a965b7113c13b301deb3c00a90825a6e8e648c0b386f92", + "/schemas/recipes/registry/schema.json": "135d01a7ae465cda309e9c07c3259a1c65a1e04ae057d7e54d6f60e3732c5322" + } + }, + "bundle_checksum": { + "algorithm": "sha256", + "framing": "utf8-path-null-content-null-v1", + "value": "ccf8cf048d7440b6a30b24d6a31bcde6718b763519a819086146144f0fde81b7", + "member_count": 105, + "manifest_included": false } } diff --git a/wrangles-docs/static/registry/runtime/reconciliation.json b/wrangles-docs/static/registry/runtime/reconciliation.json new file mode 100644 index 0000000..9572611 --- /dev/null +++ b/wrangles-docs/static/registry/runtime/reconciliation.json @@ -0,0 +1,26 @@ +{ + "format": "wrangles-runtime-reconciliation-summary", + "registry_version": "0.2.0", + "runtime_source": { + "repository": "https://github.com/wrangleworks/WranglesPY", + "version": "1.20.2", + "revision": "7916bf158e8b7e561270a1bea7b808f88956edc4" + }, + "summary": { + "runtime_entries": 98, + "embedded_schema_entries": 96, + "quasi_registry_entries": 93, + "normalized_registry_entries": 98, + "normalized_verified_entries": 98, + "normalized_conflicting_entries": 0, + "normalized_entries_with_embedded_schema_differences": 90, + "runtime_entries_without_embedded_schema": 2, + "normalized_and_quasi_entries": 93, + "quasi_entries_awaiting_normalization": 0, + "runtime_entries_without_normalized_registry": 0, + "runtime_entries_without_quasi_registry": 5, + "quasi_entries_without_runtime": 0, + "quasi_entries_without_id": 5, + "supporting_markdown_files": 17 + } +} diff --git a/wrangles-docs/static/registry/runtime/wranglespy.json b/wrangles-docs/static/registry/runtime/wranglespy.json index 1bcf4f0..807a214 100644 --- a/wrangles-docs/static/registry/runtime/wranglespy.json +++ b/wrangles-docs/static/registry/runtime/wranglespy.json @@ -4,6 +4,7 @@ "format_version": "0.1", "source": { "repository": "https://github.com/wrangleworks/WranglesPY", + "version": "1.20.2", "revision": "7916bf158e8b7e561270a1bea7b808f88956edc4" }, "entry_count": 98, diff --git a/wrangles-docs/static/registry/schema/wrangle-contract.schema.json b/wrangles-docs/static/registry/schema/wrangle-contract.schema.json new file mode 100644 index 0000000..083459a --- /dev/null +++ b/wrangles-docs/static/registry/schema/wrangle-contract.schema.json @@ -0,0 +1,355 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json", + "title": "Compiled Wrangles Registry contract", + "description": "Machine-facing contract generated from one authoritative Registry entry.", + "type": "object", + "additionalProperties": false, + "required": [ + "$schema", + "format", + "registry_version", + "schema_version", + "type", + "id", + "wrangle_name", + "namespace", + "title", + "description", + "wrangle_key", + "aliases", + "slug", + "status", + "visibility", + "recipe_writer", + "tags", + "runtime", + "access", + "capabilities", + "parameters", + "examples", + "sources", + "guidance" + ], + "properties": { + "$schema": { + "const": "https://docs.wrangles.com/registry/schema/wrangle-contract.schema.json" + }, + "format": { + "const": "wrangles-registry-entry" + }, + "registry_version": { + "const": "0.2.0" + }, + "schema_version": { + "const": "0.2" + }, + "type": { + "const": "wrangle" + }, + "id": { + "type": [ + "string", + "null" + ], + "format": "uuid", + "description": "Canonical UUID allocated by the Wrangles catalog database. Null is allowed only while an existing wrangle awaits database identity reconciliation." + }, + "wrangle_name": { + "type": "string", + "pattern": "^[a-z][a-z0-9_]*$" + }, + "namespace": { + "type": [ + "string", + "null" + ], + "pattern": "^[a-z][a-z0-9_]*$", + "description": "Executable prefix of a dotted recipe key, or null for a current root-level runtime key." + }, + "title": { + "type": "string", + "minLength": 1 + }, + "description": { + "type": "string", + "minLength": 1 + }, + "wrangle_key": { + "type": "string", + "pattern": "^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)*$" + }, + "aliases": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "pattern": "^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)*$" + } + }, + "slug": { + "type": "string", + "pattern": "^[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?(?:/[a-z0-9]+(?:[a-z0-9_-]*[a-z0-9])?)*$" + }, + "status": { + "enum": [ + "draft", + "active", + "deprecated", + "removed" + ] + }, + "replaced_by": { + "type": "string", + "pattern": "^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)*$", + "description": "Canonical wrangle_key that replaces a deprecated or removed entry." + }, + "visibility": { + "enum": [ + "public", + "internal" + ] + }, + "recipe_writer": { + "type": "object", + "additionalProperties": false, + "required": [ + "eligible" + ], + "properties": { + "eligible": { + "type": "boolean", + "description": "Whether this wrangle is eligible for Recipe Writer discovery and authoring. Missing eligibility fails closed." + }, + "reason": { + "type": "string", + "minLength": 1, + "description": "Required concise explanation when the wrangle is not eligible." + } + }, + "allOf": [ + { + "if": { + "properties": { + "eligible": { + "const": false + } + }, + "required": [ + "eligible" + ] + }, + "then": { + "required": [ + "reason" + ] + }, + "else": { + "not": { + "required": [ + "reason" + ] + } + } + } + ] + }, + "tags": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "string", + "minLength": 1 + } + }, + "runtime": { + "type": "object", + "additionalProperties": false, + "required": [ + "package", + "symbol", + "contract_status" + ], + "properties": { + "package": { + "type": "string", + "minLength": 1 + }, + "symbol": { + "type": "string", + "minLength": 1 + }, + "contract_status": { + "enum": [ + "awaiting-manifest", + "verified" + ] + } + } + }, + "access": { + "type": "object", + "additionalProperties": false, + "required": [ + "ai_powered", + "requires_account", + "requires_subscription", + "requires_external_api_key" + ], + "properties": { + "ai_powered": { + "type": "boolean" + }, + "requires_account": { + "type": "boolean" + }, + "requires_subscription": { + "type": "boolean" + }, + "requires_external_api_key": { + "type": "boolean" + } + } + }, + "capabilities": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/$defs/parameter" + } + }, + "examples": { + "type": "array", + "items": { + "$ref": "#/$defs/example" + } + }, + "sources": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/source" + } + }, + "guidance": { + "type": "string" + } + }, + "$defs": { + "parameter": { + "type": "object", + "additionalProperties": false, + "required": [ + "name", + "description", + "required", + "param_group", + "schema" + ], + "properties": { + "name": { + "type": "string", + "minLength": 1 + }, + "name_pattern": { + "type": "string", + "minLength": 1, + "description": "JSON Schema regular expression for a documented family of dynamic keyword names." + }, + "description": { + "type": "string", + "minLength": 1 + }, + "required": { + "type": "boolean" + }, + "param_group": { + "type": "string", + "enum": [ + "I/O", + "Options", + "Formatting", + "Conditions", + "Execution", + "Errors", + "Details" + ] + }, + "runtime_default": {}, + "schema": { + "type": "object", + "minProperties": 1 + } + } + }, + "example": { + "type": "object", + "additionalProperties": false, + "required": [ + "id", + "title", + "recipe", + "input_fixture", + "output_fixture", + "verification" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$" + }, + "title": { + "type": "string", + "minLength": 1 + }, + "recipe": { + "type": "string", + "minLength": 1 + }, + "input_fixture": { + "type": "string", + "minLength": 1 + }, + "output_fixture": { + "type": "string", + "minLength": 1 + }, + "verification": { + "enum": [ + "static", + "offline", + "live", + "manual" + ] + } + } + }, + "source": { + "type": "object", + "additionalProperties": false, + "required": [ + "id", + "resource" + ], + "properties": { + "id": { + "type": "string", + "minLength": 1 + }, + "resource": { + "type": "string", + "minLength": 1 + }, + "title": { + "type": "string" + } + } + } + } +} diff --git a/wrangles-docs/static/registry/schema/wrangle-entry.schema.json b/wrangles-docs/static/registry/schema/wrangle-entry.schema.json index 8aafdd4..01821af 100644 --- a/wrangles-docs/static/registry/schema/wrangle-entry.schema.json +++ b/wrangles-docs/static/registry/schema/wrangle-entry.schema.json @@ -17,6 +17,7 @@ "slug", "status", "visibility", + "recipe_writer", "tags", "runtime", "access", @@ -27,7 +28,7 @@ ], "properties": { "schema_version": { - "const": "0.1" + "const": "0.2" }, "type": { "const": "wrangle" @@ -95,6 +96,50 @@ "internal" ] }, + "recipe_writer": { + "type": "object", + "additionalProperties": false, + "required": [ + "eligible" + ], + "properties": { + "eligible": { + "type": "boolean", + "description": "Whether this wrangle is eligible for Recipe Writer discovery and authoring. Missing eligibility fails closed." + }, + "reason": { + "type": "string", + "minLength": 1, + "description": "Required concise explanation when the wrangle is not eligible." + } + }, + "allOf": [ + { + "if": { + "properties": { + "eligible": { + "const": false + } + }, + "required": [ + "eligible" + ] + }, + "then": { + "required": [ + "reason" + ] + }, + "else": { + "not": { + "required": [ + "reason" + ] + } + } + } + ] + }, "tags": { "type": "array", "minItems": 1, diff --git a/wrangles-docs/static/registry/schema/wrangles-runtime-manifest.schema.json b/wrangles-docs/static/registry/schema/wrangles-runtime-manifest.schema.json index 384dc45..0622c95 100644 --- a/wrangles-docs/static/registry/schema/wrangles-runtime-manifest.schema.json +++ b/wrangles-docs/static/registry/schema/wrangles-runtime-manifest.schema.json @@ -28,6 +28,7 @@ "additionalProperties": false, "required": [ "repository", + "version", "revision" ], "properties": { @@ -35,6 +36,11 @@ "type": "string", "format": "uri" }, + "version": { + "type": "string", + "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:[-+][0-9A-Za-z.-]+)?$", + "description": "Exact WranglesPY package version whose callable surface was exported." + }, "revision": { "type": "string", "minLength": 1 diff --git a/wrangles-docs/static/registry/wrangles/_root/accordion.md b/wrangles-docs/static/registry/wrangles/_root/accordion.md index 163025b..f8489ac 100644 --- a/wrangles-docs/static/registry/wrangles/_root/accordion.md +++ b/wrangles-docs/static/registry/wrangles/_root/accordion.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: accordion @@ -13,6 +13,9 @@ aliases: [] slug: accordion status: active visibility: public +recipe_writer: + eligible: false + reason: Nested-list orchestration is not supported in the baseline. tags: - utility - accordion diff --git a/wrangles-docs/static/registry/wrangles/_root/batch.md b/wrangles-docs/static/registry/wrangles/_root/batch.md index 7794310..620443f 100644 --- a/wrangles-docs/static/registry/wrangles/_root/batch.md +++ b/wrangles-docs/static/registry/wrangles/_root/batch.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: batch @@ -13,6 +13,8 @@ aliases: [] slug: batch status: active visibility: public +recipe_writer: + eligible: true tags: - utility - batch diff --git a/wrangles-docs/static/registry/wrangles/_root/classify.md b/wrangles-docs/static/registry/wrangles/_root/classify.md index 498ab61..9256a26 100644 --- a/wrangles-docs/static/registry/wrangles/_root/classify.md +++ b/wrangles-docs/static/registry/wrangles/_root/classify.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 06669ef8-cdd1-42f7-8078-98e0b7a42c30 wrangle_name: classify @@ -11,6 +11,8 @@ aliases: [] slug: classify status: active visibility: public +recipe_writer: + eligible: true tags: - ai - classify diff --git a/wrangles-docs/static/registry/wrangles/_root/clean-whitespaces.md b/wrangles-docs/static/registry/wrangles/_root/clean-whitespaces.md index 0a76469..a0a3cca 100644 --- a/wrangles-docs/static/registry/wrangles/_root/clean-whitespaces.md +++ b/wrangles-docs/static/registry/wrangles/_root/clean-whitespaces.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: e36e15c4-f0ad-43f8-8555-ef683a8ab892 wrangle_name: clean_whitespaces @@ -13,6 +13,8 @@ aliases: [] slug: clean-whitespaces status: active visibility: public +recipe_writer: + eligible: true tags: - format - clean-whitespaces diff --git a/wrangles-docs/static/registry/wrangles/_root/concurrent.md b/wrangles-docs/static/registry/wrangles/_root/concurrent.md index ce5187f..0098563 100644 --- a/wrangles-docs/static/registry/wrangles/_root/concurrent.md +++ b/wrangles-docs/static/registry/wrangles/_root/concurrent.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: concurrent @@ -14,6 +14,9 @@ aliases: [] slug: concurrent status: active visibility: public +recipe_writer: + eligible: false + reason: Concurrent orchestration is not supported in the baseline. tags: - utility - concurrent diff --git a/wrangles-docs/static/registry/wrangles/_root/copy.md b/wrangles-docs/static/registry/wrangles/_root/copy.md index 34c320a..da33661 100644 --- a/wrangles-docs/static/registry/wrangles/_root/copy.md +++ b/wrangles-docs/static/registry/wrangles/_root/copy.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: b002fbdc-92c0-4347-889d-0f4bfeec99fa wrangle_name: copy @@ -11,6 +11,8 @@ aliases: [] slug: copy status: active visibility: public +recipe_writer: + eligible: true tags: - transform - copy diff --git a/wrangles-docs/static/registry/wrangles/_root/date-calculator.md b/wrangles-docs/static/registry/wrangles/_root/date-calculator.md index ba25a44..035eaca 100644 --- a/wrangles-docs/static/registry/wrangles/_root/date-calculator.md +++ b/wrangles-docs/static/registry/wrangles/_root/date-calculator.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 19cfeb4f-02af-4ab2-895c-0ff2bb5cce19 wrangle_name: date_calculator @@ -11,6 +11,8 @@ aliases: [] slug: date-calculator status: active visibility: public +recipe_writer: + eligible: true tags: - date - date-calculator diff --git a/wrangles-docs/static/registry/wrangles/_root/drop.md b/wrangles-docs/static/registry/wrangles/_root/drop.md index f24ac35..7435a7e 100644 --- a/wrangles-docs/static/registry/wrangles/_root/drop.md +++ b/wrangles-docs/static/registry/wrangles/_root/drop.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 363bffbf-397e-4975-8382-e9efa5e9eed6 wrangle_name: drop @@ -11,6 +11,8 @@ aliases: [] slug: drop status: active visibility: public +recipe_writer: + eligible: true tags: - select - drop diff --git a/wrangles-docs/static/registry/wrangles/_root/explode.md b/wrangles-docs/static/registry/wrangles/_root/explode.md index 2b18fc3..cdc85d5 100644 --- a/wrangles-docs/static/registry/wrangles/_root/explode.md +++ b/wrangles-docs/static/registry/wrangles/_root/explode.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 4e4b13ac-8d50-4b2c-85c8-2c31de1e817d wrangle_name: explode @@ -11,6 +11,8 @@ aliases: [] slug: explode status: active visibility: public +recipe_writer: + eligible: true tags: - split - explode diff --git a/wrangles-docs/static/registry/wrangles/_root/filter.md b/wrangles-docs/static/registry/wrangles/_root/filter.md index d95698d..45eec3c 100644 --- a/wrangles-docs/static/registry/wrangles/_root/filter.md +++ b/wrangles-docs/static/registry/wrangles/_root/filter.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: e3242acf-d204-433f-8373-205b77481131 wrangle_name: filter @@ -13,6 +13,8 @@ aliases: [] slug: filter status: active visibility: public +recipe_writer: + eligible: true tags: - select - filter diff --git a/wrangles-docs/static/registry/wrangles/_root/huggingface.md b/wrangles-docs/static/registry/wrangles/_root/huggingface.md index 1d058ce..44d8a10 100644 --- a/wrangles-docs/static/registry/wrangles/_root/huggingface.md +++ b/wrangles-docs/static/registry/wrangles/_root/huggingface.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: ae12cf20-4934-428f-84a9-a6898cb7ffe0 wrangle_name: huggingface @@ -11,6 +11,8 @@ aliases: [] slug: huggingface status: active visibility: public +recipe_writer: + eligible: true tags: - ai - huggingface diff --git a/wrangles-docs/static/registry/wrangles/_root/log.md b/wrangles-docs/static/registry/wrangles/_root/log.md index 55f78ab..1aa46c0 100644 --- a/wrangles-docs/static/registry/wrangles/_root/log.md +++ b/wrangles-docs/static/registry/wrangles/_root/log.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 6177808e-aa2d-4d0b-8385-858b16948a5d wrangle_name: log @@ -11,6 +11,9 @@ aliases: [] slug: log status: active visibility: public +recipe_writer: + eligible: false + reason: Operational logging steps are not authored in the baseline. tags: - utility - log diff --git a/wrangles-docs/static/registry/wrangles/_root/lookup.md b/wrangles-docs/static/registry/wrangles/_root/lookup.md index 13652cb..1598f7b 100644 --- a/wrangles-docs/static/registry/wrangles/_root/lookup.md +++ b/wrangles-docs/static/registry/wrangles/_root/lookup.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: b3339193-d1cc-4c89-8ed6-901efa6d81be wrangle_name: lookup @@ -11,6 +11,8 @@ aliases: [] slug: lookup status: active visibility: public +recipe_writer: + eligible: true tags: - lookup runtime: diff --git a/wrangles-docs/static/registry/wrangles/_root/math.md b/wrangles-docs/static/registry/wrangles/_root/math.md index 9e6df49..6facc6d 100644 --- a/wrangles-docs/static/registry/wrangles/_root/math.md +++ b/wrangles-docs/static/registry/wrangles/_root/math.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 494b11ad-00c1-4748-8b93-6bec982f4fec wrangle_name: math @@ -11,6 +11,8 @@ aliases: [] slug: math status: active visibility: public +recipe_writer: + eligible: true tags: - compute - math diff --git a/wrangles-docs/static/registry/wrangles/_root/maths.md b/wrangles-docs/static/registry/wrangles/_root/maths.md index 188e429..9cdea96 100644 --- a/wrangles-docs/static/registry/wrangles/_root/maths.md +++ b/wrangles-docs/static/registry/wrangles/_root/maths.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: maths @@ -12,6 +12,9 @@ slug: maths status: deprecated replaced_by: math visibility: public +recipe_writer: + eligible: false + reason: Deprecated compatibility key; use math. tags: - maths runtime: diff --git a/wrangles-docs/static/registry/wrangles/_root/matrix.md b/wrangles-docs/static/registry/wrangles/_root/matrix.md index 5394e36..8418cc7 100644 --- a/wrangles-docs/static/registry/wrangles/_root/matrix.md +++ b/wrangles-docs/static/registry/wrangles/_root/matrix.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: matrix @@ -13,6 +13,9 @@ aliases: [] slug: matrix status: active visibility: public +recipe_writer: + eligible: false + reason: Matrix orchestration is not supported in the baseline. tags: - utility - matrix diff --git a/wrangles-docs/static/registry/wrangles/_root/python.md b/wrangles-docs/static/registry/wrangles/_root/python.md index d6fc9a1..31bf587 100644 --- a/wrangles-docs/static/registry/wrangles/_root/python.md +++ b/wrangles-docs/static/registry/wrangles/_root/python.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: c0398a11-7731-4e47-8df0-b07eea0b1d6c wrangle_name: python @@ -17,6 +17,8 @@ aliases: [] slug: python status: active visibility: public +recipe_writer: + eligible: true tags: - compute - python diff --git a/wrangles-docs/static/registry/wrangles/_root/recipe.md b/wrangles-docs/static/registry/wrangles/_root/recipe.md index 8e794a1..ab6d6c4 100644 --- a/wrangles-docs/static/registry/wrangles/_root/recipe.md +++ b/wrangles-docs/static/registry/wrangles/_root/recipe.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: recipe @@ -11,6 +11,9 @@ aliases: [] slug: recipe status: active visibility: public +recipe_writer: + eligible: false + reason: Nested recipe composition is outside the baseline. tags: - recipe runtime: diff --git a/wrangles-docs/static/registry/wrangles/_root/reindex.md b/wrangles-docs/static/registry/wrangles/_root/reindex.md index 0a0fff9..6308d24 100644 --- a/wrangles-docs/static/registry/wrangles/_root/reindex.md +++ b/wrangles-docs/static/registry/wrangles/_root/reindex.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: def87df8-72da-4e34-83c1-1fde25126257 wrangle_name: reindex @@ -11,6 +11,8 @@ aliases: [] slug: reindex status: active visibility: public +recipe_writer: + eligible: true tags: - transform - reindex diff --git a/wrangles-docs/static/registry/wrangles/_root/remove-words.md b/wrangles-docs/static/registry/wrangles/_root/remove-words.md index d93dc0c..aa24d4d 100644 --- a/wrangles-docs/static/registry/wrangles/_root/remove-words.md +++ b/wrangles-docs/static/registry/wrangles/_root/remove-words.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 543b96c3-f354-48be-8046-bf0cb9fbaf56 wrangle_name: remove_words @@ -11,6 +11,8 @@ aliases: [] slug: remove-words status: active visibility: public +recipe_writer: + eligible: true tags: - format - remove-words diff --git a/wrangles-docs/static/registry/wrangles/_root/rename.md b/wrangles-docs/static/registry/wrangles/_root/rename.md index 3235df0..2dee332 100644 --- a/wrangles-docs/static/registry/wrangles/_root/rename.md +++ b/wrangles-docs/static/registry/wrangles/_root/rename.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: ab06898f-faf7-42e7-8275-5e3034a4d727 wrangle_name: rename @@ -11,6 +11,9 @@ aliases: [] slug: rename status: active visibility: public +recipe_writer: + eligible: false + reason: Structural rename steps are not supported in the baseline. tags: - transform - rename diff --git a/wrangles-docs/static/registry/wrangles/_root/replace.md b/wrangles-docs/static/registry/wrangles/_root/replace.md index 53a8f31..db102c2 100644 --- a/wrangles-docs/static/registry/wrangles/_root/replace.md +++ b/wrangles-docs/static/registry/wrangles/_root/replace.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: f0ab715e-9e0e-4614-83e4-5cd8ea08a09f wrangle_name: replace @@ -13,6 +13,8 @@ aliases: [] slug: replace status: active visibility: public +recipe_writer: + eligible: true tags: - format - replace diff --git a/wrangles-docs/static/registry/wrangles/_root/round.md b/wrangles-docs/static/registry/wrangles/_root/round.md index a2aca9d..1ef35d4 100644 --- a/wrangles-docs/static/registry/wrangles/_root/round.md +++ b/wrangles-docs/static/registry/wrangles/_root/round.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 12f3111b-8511-4e42-8d3f-b5302dc3b4e4 wrangle_name: round @@ -11,6 +11,8 @@ aliases: [] slug: round status: active visibility: public +recipe_writer: + eligible: true tags: - format - round diff --git a/wrangles-docs/static/registry/wrangles/_root/similarity.md b/wrangles-docs/static/registry/wrangles/_root/similarity.md index 7502f6f..c64676e 100644 --- a/wrangles-docs/static/registry/wrangles/_root/similarity.md +++ b/wrangles-docs/static/registry/wrangles/_root/similarity.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 7c733344-4cce-4938-8013-53742fb46a90 wrangle_name: similarity @@ -11,6 +11,8 @@ aliases: [] slug: similarity status: active visibility: public +recipe_writer: + eligible: true tags: - compare - similarity diff --git a/wrangles-docs/static/registry/wrangles/_root/sort.md b/wrangles-docs/static/registry/wrangles/_root/sort.md index 7f53055..a577608 100644 --- a/wrangles-docs/static/registry/wrangles/_root/sort.md +++ b/wrangles-docs/static/registry/wrangles/_root/sort.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 1dcf06ad-898a-4d83-862c-4774be37a687 wrangle_name: sort @@ -11,6 +11,8 @@ aliases: [] slug: sort status: active visibility: public +recipe_writer: + eligible: true tags: - select - sort diff --git a/wrangles-docs/static/registry/wrangles/_root/sql.md b/wrangles-docs/static/registry/wrangles/_root/sql.md index c75242f..e3282d9 100644 --- a/wrangles-docs/static/registry/wrangles/_root/sql.md +++ b/wrangles-docs/static/registry/wrangles/_root/sql.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 467a06b1-a697-4d31-8061-7d83a719fd79 wrangle_name: sql @@ -13,6 +13,8 @@ aliases: [] slug: sql status: active visibility: public +recipe_writer: + eligible: true tags: - compute - sql diff --git a/wrangles-docs/static/registry/wrangles/_root/standardize.md b/wrangles-docs/static/registry/wrangles/_root/standardize.md index a6b4555..e44ab7c 100644 --- a/wrangles-docs/static/registry/wrangles/_root/standardize.md +++ b/wrangles-docs/static/registry/wrangles/_root/standardize.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 53cd3fdd-24e2-4411-8655-6014b92a3f3a wrangle_name: standardize @@ -14,6 +14,9 @@ slug: standardize status: deprecated replaced_by: standardize.custom visibility: public +recipe_writer: + eligible: false + reason: Deprecated compatibility key; use standardize.custom. tags: - format - standardize diff --git a/wrangles-docs/static/registry/wrangles/_root/translate.md b/wrangles-docs/static/registry/wrangles/_root/translate.md index 2339235..db328e6 100644 --- a/wrangles-docs/static/registry/wrangles/_root/translate.md +++ b/wrangles-docs/static/registry/wrangles/_root/translate.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 73c3ceb6-ffd8-4d74-8389-c83b99d33bb0 wrangle_name: translate @@ -13,6 +13,8 @@ aliases: [] slug: translate status: active visibility: public +recipe_writer: + eligible: true tags: - format - translate diff --git a/wrangles-docs/static/registry/wrangles/_root/transpose.md b/wrangles-docs/static/registry/wrangles/_root/transpose.md index f116141..62e34dc 100644 --- a/wrangles-docs/static/registry/wrangles/_root/transpose.md +++ b/wrangles-docs/static/registry/wrangles/_root/transpose.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 8716347f-f286-49b2-8a0b-cb73292e7475 wrangle_name: transpose @@ -11,6 +11,8 @@ aliases: [] slug: transpose status: active visibility: public +recipe_writer: + eligible: true tags: - transform - transpose diff --git a/wrangles-docs/static/registry/wrangles/_root/try.md b/wrangles-docs/static/registry/wrangles/_root/try.md index ce46640..e10c044 100644 --- a/wrangles-docs/static/registry/wrangles/_root/try.md +++ b/wrangles-docs/static/registry/wrangles/_root/try.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: try @@ -11,6 +11,9 @@ aliases: [] slug: try status: active visibility: public +recipe_writer: + eligible: false + reason: Error-control orchestration is not supported in the baseline. tags: - utility - try diff --git a/wrangles-docs/static/registry/wrangles/compare/lists.md b/wrangles-docs/static/registry/wrangles/compare/lists.md index 78ec5c4..7973a3d 100644 --- a/wrangles-docs/static/registry/wrangles/compare/lists.md +++ b/wrangles-docs/static/registry/wrangles/compare/lists.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: a393225e-7ccf-4708-83f8-d5abd6ba9b1e wrangle_name: lists @@ -11,6 +11,8 @@ aliases: [] slug: compare/lists status: active visibility: public +recipe_writer: + eligible: true tags: - compare - lists diff --git a/wrangles-docs/static/registry/wrangles/compare/text.md b/wrangles-docs/static/registry/wrangles/compare/text.md index 1dc9781..9b6ae5b 100644 --- a/wrangles-docs/static/registry/wrangles/compare/text.md +++ b/wrangles-docs/static/registry/wrangles/compare/text.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 31905b74-ce58-45cd-8add-821cc04ab946 wrangle_name: text @@ -13,6 +13,8 @@ aliases: [] slug: compare/text status: active visibility: public +recipe_writer: + eligible: true tags: - compare - text diff --git a/wrangles-docs/static/registry/wrangles/compute/case-when.md b/wrangles-docs/static/registry/wrangles/compute/case-when.md index d0be1cf..389ede5 100644 --- a/wrangles-docs/static/registry/wrangles/compute/case-when.md +++ b/wrangles-docs/static/registry/wrangles/compute/case-when.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 9a9662e4-53d1-4932-8adf-bc3e7aa364ad wrangle_name: case_when @@ -11,6 +11,8 @@ aliases: [] slug: compute/case-when status: active visibility: public +recipe_writer: + eligible: true tags: - compute - case-when diff --git a/wrangles-docs/static/registry/wrangles/compute/score-search-results.md b/wrangles-docs/static/registry/wrangles/compute/score-search-results.md index e730a00..0cf05d9 100644 --- a/wrangles-docs/static/registry/wrangles/compute/score-search-results.md +++ b/wrangles-docs/static/registry/wrangles/compute/score-search-results.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 313a8ec0-cf13-4956-8d3b-5362b8641d0f wrangle_name: score_search_results @@ -13,6 +13,8 @@ aliases: [] slug: compute/score-search-results status: active visibility: public +recipe_writer: + eligible: true tags: - compute - score-search-results diff --git a/wrangles-docs/static/registry/wrangles/convert/case.md b/wrangles-docs/static/registry/wrangles/convert/case.md index 986490c..bf57d24 100644 --- a/wrangles-docs/static/registry/wrangles/convert/case.md +++ b/wrangles-docs/static/registry/wrangles/convert/case.md @@ -1,5 +1,5 @@ --- -schema_version: "0.1" +schema_version: "0.2" type: wrangle id: 12ff4120-3613-4801-8653-99c793477fbc wrangle_name: case @@ -11,6 +11,8 @@ aliases: [] slug: convert/case status: active visibility: public +recipe_writer: + eligible: true tags: - convert - text diff --git a/wrangles-docs/static/registry/wrangles/convert/data-type.md b/wrangles-docs/static/registry/wrangles/convert/data-type.md index 51543fe..013a012 100644 --- a/wrangles-docs/static/registry/wrangles/convert/data-type.md +++ b/wrangles-docs/static/registry/wrangles/convert/data-type.md @@ -1,5 +1,5 @@ --- -schema_version: "0.1" +schema_version: "0.2" type: wrangle id: 52384f01-7164-404f-8615-063e7677a588 wrangle_name: data_type @@ -11,6 +11,8 @@ aliases: [] slug: convert/data-type status: active visibility: public +recipe_writer: + eligible: true tags: - convert - data-type diff --git a/wrangles-docs/static/registry/wrangles/convert/fraction-to-decimal.md b/wrangles-docs/static/registry/wrangles/convert/fraction-to-decimal.md index 74c50db..913d12c 100644 --- a/wrangles-docs/static/registry/wrangles/convert/fraction-to-decimal.md +++ b/wrangles-docs/static/registry/wrangles/convert/fraction-to-decimal.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 7c55752e-70ab-4809-8298-c59436127457 wrangle_name: fraction_to_decimal @@ -11,6 +11,8 @@ aliases: [] slug: convert/fraction-to-decimal status: active visibility: public +recipe_writer: + eligible: true tags: - convert - fraction-to-decimal diff --git a/wrangles-docs/static/registry/wrangles/convert/from-json.md b/wrangles-docs/static/registry/wrangles/convert/from-json.md index 3e55d3b..75dc904 100644 --- a/wrangles-docs/static/registry/wrangles/convert/from-json.md +++ b/wrangles-docs/static/registry/wrangles/convert/from-json.md @@ -1,5 +1,5 @@ --- -schema_version: "0.1" +schema_version: "0.2" type: wrangle id: e370dfcf-b0fe-4c48-8a52-6f34c47e7978 wrangle_name: from_json @@ -11,6 +11,8 @@ aliases: [] slug: convert/from-json status: active visibility: public +recipe_writer: + eligible: true tags: - convert - json diff --git a/wrangles-docs/static/registry/wrangles/convert/from-yaml.md b/wrangles-docs/static/registry/wrangles/convert/from-yaml.md index a8370a7..d8ff351 100644 --- a/wrangles-docs/static/registry/wrangles/convert/from-yaml.md +++ b/wrangles-docs/static/registry/wrangles/convert/from-yaml.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: b1c20004-5f80-41c2-84d2-2d4601a033b5 wrangle_name: from_yaml @@ -11,6 +11,8 @@ aliases: [] slug: convert/from-yaml status: active visibility: public +recipe_writer: + eligible: true tags: - convert - from-yaml diff --git a/wrangles-docs/static/registry/wrangles/convert/to-json.md b/wrangles-docs/static/registry/wrangles/convert/to-json.md index c9d4e5e..763177b 100644 --- a/wrangles-docs/static/registry/wrangles/convert/to-json.md +++ b/wrangles-docs/static/registry/wrangles/convert/to-json.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 94e54eb7-2b8c-4047-89d0-fb5d16baf396 wrangle_name: to_json @@ -11,6 +11,8 @@ aliases: [] slug: convert/to-json status: active visibility: public +recipe_writer: + eligible: true tags: - convert - to-json diff --git a/wrangles-docs/static/registry/wrangles/convert/to-yaml.md b/wrangles-docs/static/registry/wrangles/convert/to-yaml.md index d837118..254e097 100644 --- a/wrangles-docs/static/registry/wrangles/convert/to-yaml.md +++ b/wrangles-docs/static/registry/wrangles/convert/to-yaml.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 4cd6252f-ce47-4a9d-8272-3d87e875b72a wrangle_name: to_yaml @@ -11,6 +11,8 @@ aliases: [] slug: convert/to-yaml status: active visibility: public +recipe_writer: + eligible: true tags: - convert - to-yaml diff --git a/wrangles-docs/static/registry/wrangles/create/bins.md b/wrangles-docs/static/registry/wrangles/create/bins.md index cd1bd69..9eea572 100644 --- a/wrangles-docs/static/registry/wrangles/create/bins.md +++ b/wrangles-docs/static/registry/wrangles/create/bins.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 232e3ba0-4735-4934-88aa-0163181abb3f wrangle_name: bins @@ -11,6 +11,8 @@ aliases: [] slug: create/bins status: active visibility: public +recipe_writer: + eligible: true tags: - create - bins diff --git a/wrangles-docs/static/registry/wrangles/create/column.md b/wrangles-docs/static/registry/wrangles/create/column.md index bb0677b..f256673 100644 --- a/wrangles-docs/static/registry/wrangles/create/column.md +++ b/wrangles-docs/static/registry/wrangles/create/column.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 5a18e2c8-ec7c-45f5-88fd-bb5c358a8b40 wrangle_name: column @@ -11,6 +11,8 @@ aliases: [] slug: create/column status: active visibility: public +recipe_writer: + eligible: true tags: - create - column diff --git a/wrangles-docs/static/registry/wrangles/create/embeddings.md b/wrangles-docs/static/registry/wrangles/create/embeddings.md index 719f6c9..4b78dd2 100644 --- a/wrangles-docs/static/registry/wrangles/create/embeddings.md +++ b/wrangles-docs/static/registry/wrangles/create/embeddings.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: e3518afd-a819-40ec-8b49-eb25690220c1 wrangle_name: embeddings @@ -11,6 +11,8 @@ aliases: [] slug: create/embeddings status: active visibility: public +recipe_writer: + eligible: true tags: - create - embeddings diff --git a/wrangles-docs/static/registry/wrangles/create/guid.md b/wrangles-docs/static/registry/wrangles/create/guid.md index 960ab60..657d33c 100644 --- a/wrangles-docs/static/registry/wrangles/create/guid.md +++ b/wrangles-docs/static/registry/wrangles/create/guid.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: cf3aaab2-3d5b-4c9b-826e-7af7510521c9 wrangle_name: guid @@ -11,6 +11,8 @@ aliases: [] slug: create/guid status: active visibility: public +recipe_writer: + eligible: true tags: - create - guid diff --git a/wrangles-docs/static/registry/wrangles/create/hash.md b/wrangles-docs/static/registry/wrangles/create/hash.md index f575a66..a38cb55 100644 --- a/wrangles-docs/static/registry/wrangles/create/hash.md +++ b/wrangles-docs/static/registry/wrangles/create/hash.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 11e8fc13-00d2-4779-8d87-6288b07de7e7 wrangle_name: hash @@ -11,6 +11,8 @@ aliases: [] slug: create/hash status: active visibility: public +recipe_writer: + eligible: true tags: - create - hash diff --git a/wrangles-docs/static/registry/wrangles/create/index.md b/wrangles-docs/static/registry/wrangles/create/index.md index 8fef5b5..748e830 100644 --- a/wrangles-docs/static/registry/wrangles/create/index.md +++ b/wrangles-docs/static/registry/wrangles/create/index.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 0a4909ca-6e14-4da7-8a70-a7fd106d6944 wrangle_name: index @@ -11,6 +11,8 @@ aliases: [] slug: create/index status: active visibility: public +recipe_writer: + eligible: true tags: - create - index diff --git a/wrangles-docs/static/registry/wrangles/create/jinja.md b/wrangles-docs/static/registry/wrangles/create/jinja.md index 8a3b507..bd0cdf3 100644 --- a/wrangles-docs/static/registry/wrangles/create/jinja.md +++ b/wrangles-docs/static/registry/wrangles/create/jinja.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 10fc6709-16d4-4eab-8f56-6cb5d170ea66 wrangle_name: jinja @@ -11,6 +11,8 @@ aliases: [] slug: create/jinja status: active visibility: public +recipe_writer: + eligible: true tags: - create - jinja diff --git a/wrangles-docs/static/registry/wrangles/create/uuid.md b/wrangles-docs/static/registry/wrangles/create/uuid.md index 56bc6fe..3a0501a 100644 --- a/wrangles-docs/static/registry/wrangles/create/uuid.md +++ b/wrangles-docs/static/registry/wrangles/create/uuid.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: c376f3ff-2283-4c4c-8d7f-70db6f53ed19 wrangle_name: uuid @@ -11,6 +11,8 @@ aliases: [] slug: create/uuid status: active visibility: public +recipe_writer: + eligible: true tags: - create - uuid diff --git a/wrangles-docs/static/registry/wrangles/extract/address.md b/wrangles-docs/static/registry/wrangles/extract/address.md index e8e3c38..79fae19 100644 --- a/wrangles-docs/static/registry/wrangles/extract/address.md +++ b/wrangles-docs/static/registry/wrangles/extract/address.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 44153f95-4581-4cee-898e-b3b4714045fd wrangle_name: address @@ -11,6 +11,8 @@ aliases: [] slug: extract/address status: active visibility: public +recipe_writer: + eligible: true tags: - extract - address diff --git a/wrangles-docs/static/registry/wrangles/extract/ai.md b/wrangles-docs/static/registry/wrangles/extract/ai.md index e116587..493677d 100644 --- a/wrangles-docs/static/registry/wrangles/extract/ai.md +++ b/wrangles-docs/static/registry/wrangles/extract/ai.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: d9f89b00-fda3-4f4c-826c-6417b9390607 wrangle_name: ai @@ -13,6 +13,8 @@ aliases: [] slug: extract/ai status: active visibility: public +recipe_writer: + eligible: true tags: - ai - extract diff --git a/wrangles-docs/static/registry/wrangles/extract/attributes.md b/wrangles-docs/static/registry/wrangles/extract/attributes.md index be13e4a..9f271c7 100644 --- a/wrangles-docs/static/registry/wrangles/extract/attributes.md +++ b/wrangles-docs/static/registry/wrangles/extract/attributes.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 03ccedef-c938-41f1-8980-280f1a91542e wrangle_name: attributes @@ -13,6 +13,8 @@ aliases: [] slug: extract/attributes status: active visibility: public +recipe_writer: + eligible: true tags: - extract - attributes diff --git a/wrangles-docs/static/registry/wrangles/extract/brackets.md b/wrangles-docs/static/registry/wrangles/extract/brackets.md index a3e8b6c..5fc3bde 100644 --- a/wrangles-docs/static/registry/wrangles/extract/brackets.md +++ b/wrangles-docs/static/registry/wrangles/extract/brackets.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 9b4c15fa-2aaa-40c8-8834-6e835760bee5 wrangle_name: brackets @@ -11,6 +11,8 @@ aliases: [] slug: extract/brackets status: active visibility: public +recipe_writer: + eligible: true tags: - extract - brackets diff --git a/wrangles-docs/static/registry/wrangles/extract/codes.md b/wrangles-docs/static/registry/wrangles/extract/codes.md index e293cd9..ddc449b 100644 --- a/wrangles-docs/static/registry/wrangles/extract/codes.md +++ b/wrangles-docs/static/registry/wrangles/extract/codes.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: da591387-0fca-4842-8bcb-d19f561f0292 wrangle_name: codes @@ -11,6 +11,8 @@ aliases: [] slug: extract/codes status: active visibility: public +recipe_writer: + eligible: true tags: - extract - codes diff --git a/wrangles-docs/static/registry/wrangles/extract/custom.md b/wrangles-docs/static/registry/wrangles/extract/custom.md index a9d612b..6288555 100644 --- a/wrangles-docs/static/registry/wrangles/extract/custom.md +++ b/wrangles-docs/static/registry/wrangles/extract/custom.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: e8e96b76-86bf-41dc-8d16-825dcff9688b wrangle_name: custom @@ -13,6 +13,8 @@ aliases: [] slug: extract/custom status: active visibility: public +recipe_writer: + eligible: true tags: - extract - custom diff --git a/wrangles-docs/static/registry/wrangles/extract/date-properties.md b/wrangles-docs/static/registry/wrangles/extract/date-properties.md index e094780..6e6a021 100644 --- a/wrangles-docs/static/registry/wrangles/extract/date-properties.md +++ b/wrangles-docs/static/registry/wrangles/extract/date-properties.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: a346de62-93cd-44ba-8d30-a6305629c6d7 wrangle_name: date_properties @@ -11,6 +11,8 @@ aliases: [] slug: extract/date-properties status: active visibility: public +recipe_writer: + eligible: true tags: - extract - date-properties diff --git a/wrangles-docs/static/registry/wrangles/extract/date-range.md b/wrangles-docs/static/registry/wrangles/extract/date-range.md index e131fae..7a4d4f3 100644 --- a/wrangles-docs/static/registry/wrangles/extract/date-range.md +++ b/wrangles-docs/static/registry/wrangles/extract/date-range.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 9cebfa6f-a524-4aec-84a7-02d77b792843 wrangle_name: date_range @@ -11,6 +11,8 @@ aliases: [] slug: extract/date-range status: active visibility: public +recipe_writer: + eligible: true tags: - extract - date-range diff --git a/wrangles-docs/static/registry/wrangles/extract/html.md b/wrangles-docs/static/registry/wrangles/extract/html.md index 4f07693..de4a335 100644 --- a/wrangles-docs/static/registry/wrangles/extract/html.md +++ b/wrangles-docs/static/registry/wrangles/extract/html.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 728fc87a-a20d-4efa-833a-612e0b5eadc3 wrangle_name: html @@ -11,6 +11,8 @@ aliases: [] slug: extract/html status: active visibility: public +recipe_writer: + eligible: true tags: - extract - html diff --git a/wrangles-docs/static/registry/wrangles/extract/properties.md b/wrangles-docs/static/registry/wrangles/extract/properties.md index 22ad0c9..450f190 100644 --- a/wrangles-docs/static/registry/wrangles/extract/properties.md +++ b/wrangles-docs/static/registry/wrangles/extract/properties.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 23bbdb86-fd13-4b78-8fff-a7a76769ab63 wrangle_name: properties @@ -11,6 +11,8 @@ aliases: [] slug: extract/properties status: active visibility: public +recipe_writer: + eligible: true tags: - extract - properties diff --git a/wrangles-docs/static/registry/wrangles/extract/regex.md b/wrangles-docs/static/registry/wrangles/extract/regex.md index d546de0..84a9a56 100644 --- a/wrangles-docs/static/registry/wrangles/extract/regex.md +++ b/wrangles-docs/static/registry/wrangles/extract/regex.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 9aa0253a-4b70-4737-832c-964e15967289 wrangle_name: regex @@ -11,6 +11,8 @@ aliases: [] slug: extract/regex status: active visibility: public +recipe_writer: + eligible: true tags: - extract - regex diff --git a/wrangles-docs/static/registry/wrangles/format/dates.md b/wrangles-docs/static/registry/wrangles/format/dates.md index a5ed72d..a7d4381 100644 --- a/wrangles-docs/static/registry/wrangles/format/dates.md +++ b/wrangles-docs/static/registry/wrangles/format/dates.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: a3c15135-4f7a-4659-83fd-f657afa603c9 wrangle_name: dates @@ -11,6 +11,8 @@ aliases: [] slug: format/dates status: active visibility: public +recipe_writer: + eligible: true tags: - format - dates diff --git a/wrangles-docs/static/registry/wrangles/format/pad.md b/wrangles-docs/static/registry/wrangles/format/pad.md index 337795e..0d4b876 100644 --- a/wrangles-docs/static/registry/wrangles/format/pad.md +++ b/wrangles-docs/static/registry/wrangles/format/pad.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 76c19378-38f4-45aa-85d1-3cdf8f8aae29 wrangle_name: pad @@ -11,6 +11,8 @@ aliases: [] slug: format/pad status: active visibility: public +recipe_writer: + eligible: true tags: - format - pad diff --git a/wrangles-docs/static/registry/wrangles/format/prefix.md b/wrangles-docs/static/registry/wrangles/format/prefix.md index 3e6e96f..61f020b 100644 --- a/wrangles-docs/static/registry/wrangles/format/prefix.md +++ b/wrangles-docs/static/registry/wrangles/format/prefix.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: c12f99b9-2363-4da7-8405-7c73b87906e5 wrangle_name: prefix @@ -11,6 +11,8 @@ aliases: [] slug: format/prefix status: active visibility: public +recipe_writer: + eligible: true tags: - format - prefix diff --git a/wrangles-docs/static/registry/wrangles/format/price-breaks.md b/wrangles-docs/static/registry/wrangles/format/price-breaks.md index 3908183..f76913e 100644 --- a/wrangles-docs/static/registry/wrangles/format/price-breaks.md +++ b/wrangles-docs/static/registry/wrangles/format/price-breaks.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: price_breaks @@ -11,6 +11,9 @@ aliases: [] slug: format/price-breaks status: active visibility: public +recipe_writer: + eligible: false + reason: This newer wrangle is outside the pinned baseline. tags: - format - price-breaks diff --git a/wrangles-docs/static/registry/wrangles/format/remove-duplicates.md b/wrangles-docs/static/registry/wrangles/format/remove-duplicates.md index 897c6cf..112a87f 100644 --- a/wrangles-docs/static/registry/wrangles/format/remove-duplicates.md +++ b/wrangles-docs/static/registry/wrangles/format/remove-duplicates.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 283b9e78-b2b2-43d0-844f-9842c33120aa wrangle_name: remove_duplicates @@ -11,6 +11,8 @@ aliases: [] slug: format/remove-duplicates status: active visibility: public +recipe_writer: + eligible: true tags: - format - remove-duplicates diff --git a/wrangles-docs/static/registry/wrangles/format/significant-figures.md b/wrangles-docs/static/registry/wrangles/format/significant-figures.md index 68c6587..6260c38 100644 --- a/wrangles-docs/static/registry/wrangles/format/significant-figures.md +++ b/wrangles-docs/static/registry/wrangles/format/significant-figures.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: a359f72a-5250-4dd8-84f6-8a8173bee0f6 wrangle_name: significant_figures @@ -11,6 +11,8 @@ aliases: [] slug: format/significant-figures status: active visibility: public +recipe_writer: + eligible: true tags: - format - significant-figures diff --git a/wrangles-docs/static/registry/wrangles/format/suffix.md b/wrangles-docs/static/registry/wrangles/format/suffix.md index e53346a..1e3b775 100644 --- a/wrangles-docs/static/registry/wrangles/format/suffix.md +++ b/wrangles-docs/static/registry/wrangles/format/suffix.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 8d127060-ba2d-4934-897f-07662e01e40b wrangle_name: suffix @@ -11,6 +11,8 @@ aliases: [] slug: format/suffix status: active visibility: public +recipe_writer: + eligible: true tags: - format - suffix diff --git a/wrangles-docs/static/registry/wrangles/format/trim.md b/wrangles-docs/static/registry/wrangles/format/trim.md index a05c2d0..9b9c8c6 100644 --- a/wrangles-docs/static/registry/wrangles/format/trim.md +++ b/wrangles-docs/static/registry/wrangles/format/trim.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: af16b3c1-c230-4868-8ebe-f574904a0c76 wrangle_name: trim @@ -11,6 +11,8 @@ aliases: [] slug: format/trim status: active visibility: public +recipe_writer: + eligible: true tags: - format - trim diff --git a/wrangles-docs/static/registry/wrangles/generate/ai.md b/wrangles-docs/static/registry/wrangles/generate/ai.md index 50fdeef..697291a 100644 --- a/wrangles-docs/static/registry/wrangles/generate/ai.md +++ b/wrangles-docs/static/registry/wrangles/generate/ai.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 12c31c6c-cade-484d-84ba-7f302bf6af52 wrangle_name: ai @@ -11,6 +11,8 @@ aliases: [] slug: generate/ai status: active visibility: public +recipe_writer: + eligible: true tags: - ai - generate diff --git a/wrangles-docs/static/registry/wrangles/merge/coalesce.md b/wrangles-docs/static/registry/wrangles/merge/coalesce.md index 276ee34..3686c64 100644 --- a/wrangles-docs/static/registry/wrangles/merge/coalesce.md +++ b/wrangles-docs/static/registry/wrangles/merge/coalesce.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 25c1a60d-fa48-4b9a-8c03-0921d5b31049 wrangle_name: coalesce @@ -11,6 +11,8 @@ aliases: [] slug: merge/coalesce status: active visibility: public +recipe_writer: + eligible: true tags: - merge - coalesce diff --git a/wrangles-docs/static/registry/wrangles/merge/concatenate.md b/wrangles-docs/static/registry/wrangles/merge/concatenate.md index cd5efec..b04f528 100644 --- a/wrangles-docs/static/registry/wrangles/merge/concatenate.md +++ b/wrangles-docs/static/registry/wrangles/merge/concatenate.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 6ff76728-e1f6-4d3d-8946-6aa3b7524b3f wrangle_name: concatenate @@ -11,6 +11,8 @@ aliases: [] slug: merge/concatenate status: active visibility: public +recipe_writer: + eligible: true tags: - merge - concatenate diff --git a/wrangles-docs/static/registry/wrangles/merge/dictionaries.md b/wrangles-docs/static/registry/wrangles/merge/dictionaries.md index e68412a..e530624 100644 --- a/wrangles-docs/static/registry/wrangles/merge/dictionaries.md +++ b/wrangles-docs/static/registry/wrangles/merge/dictionaries.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 93e27737-e966-4ba9-8777-4e96724ebfc4 wrangle_name: dictionaries @@ -11,6 +11,8 @@ aliases: [] slug: merge/dictionaries status: active visibility: public +recipe_writer: + eligible: true tags: - merge - dictionaries diff --git a/wrangles-docs/static/registry/wrangles/merge/key-value-pairs.md b/wrangles-docs/static/registry/wrangles/merge/key-value-pairs.md index 896566f..b198916 100644 --- a/wrangles-docs/static/registry/wrangles/merge/key-value-pairs.md +++ b/wrangles-docs/static/registry/wrangles/merge/key-value-pairs.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 8a2cd37c-8ef7-4b05-8264-36512f5dd837 wrangle_name: key_value_pairs @@ -13,6 +13,8 @@ aliases: [] slug: merge/key-value-pairs status: active visibility: public +recipe_writer: + eligible: true tags: - merge - key-value-pairs diff --git a/wrangles-docs/static/registry/wrangles/merge/lists.md b/wrangles-docs/static/registry/wrangles/merge/lists.md index 04a8c50..a7eb68b 100644 --- a/wrangles-docs/static/registry/wrangles/merge/lists.md +++ b/wrangles-docs/static/registry/wrangles/merge/lists.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: d9978f00-b3d4-4583-884e-a53b98a43e9a wrangle_name: lists @@ -11,6 +11,8 @@ aliases: [] slug: merge/lists status: active visibility: public +recipe_writer: + eligible: true tags: - merge - lists diff --git a/wrangles-docs/static/registry/wrangles/merge/to-dict.md b/wrangles-docs/static/registry/wrangles/merge/to-dict.md index 137a8bb..f1a10c5 100644 --- a/wrangles-docs/static/registry/wrangles/merge/to-dict.md +++ b/wrangles-docs/static/registry/wrangles/merge/to-dict.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 9b869210-0d89-403b-8409-7cecdb5f9c7c wrangle_name: to_dict @@ -13,6 +13,8 @@ aliases: [] slug: merge/to-dict status: active visibility: public +recipe_writer: + eligible: true tags: - merge - to-dict diff --git a/wrangles-docs/static/registry/wrangles/merge/to-list.md b/wrangles-docs/static/registry/wrangles/merge/to-list.md index 3566655..71d41b3 100644 --- a/wrangles-docs/static/registry/wrangles/merge/to-list.md +++ b/wrangles-docs/static/registry/wrangles/merge/to-list.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: d5300fe7-c8a4-4a41-8f12-f2c1698678cc wrangle_name: to_list @@ -11,6 +11,8 @@ aliases: [] slug: merge/to-list status: active visibility: public +recipe_writer: + eligible: true tags: - merge - to-list diff --git a/wrangles-docs/static/registry/wrangles/search/find-links.md b/wrangles-docs/static/registry/wrangles/search/find-links.md index 11561e7..e0398a1 100644 --- a/wrangles-docs/static/registry/wrangles/search/find-links.md +++ b/wrangles-docs/static/registry/wrangles/search/find-links.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: ec1f661b-2cbc-4a47-88e3-646179104376 wrangle_name: find_links @@ -13,6 +13,8 @@ aliases: [] slug: search/find-links status: active visibility: public +recipe_writer: + eligible: true tags: - search - find-links diff --git a/wrangles-docs/static/registry/wrangles/search/retrieve-link-content.md b/wrangles-docs/static/registry/wrangles/search/retrieve-link-content.md index c8a87ee..de8452f 100644 --- a/wrangles-docs/static/registry/wrangles/search/retrieve-link-content.md +++ b/wrangles-docs/static/registry/wrangles/search/retrieve-link-content.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 3d5faa87-9e96-48c0-8226-5ae566e8d76c wrangle_name: retrieve_link_content @@ -13,6 +13,8 @@ aliases: [] slug: search/retrieve-link-content status: active visibility: public +recipe_writer: + eligible: true tags: - search - retrieve-link-content diff --git a/wrangles-docs/static/registry/wrangles/select/columns.md b/wrangles-docs/static/registry/wrangles/select/columns.md index 5e43303..b47d7e3 100644 --- a/wrangles-docs/static/registry/wrangles/select/columns.md +++ b/wrangles-docs/static/registry/wrangles/select/columns.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: bca12c60-3957-4dc5-83f7-5ee460df2a11 wrangle_name: columns @@ -11,6 +11,8 @@ aliases: [] slug: select/columns status: active visibility: public +recipe_writer: + eligible: true tags: - select - columns diff --git a/wrangles-docs/static/registry/wrangles/select/dictionary-element.md b/wrangles-docs/static/registry/wrangles/select/dictionary-element.md index de37e3f..4673efd 100644 --- a/wrangles-docs/static/registry/wrangles/select/dictionary-element.md +++ b/wrangles-docs/static/registry/wrangles/select/dictionary-element.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 5adaeada-6da8-464f-84cb-9fb5ecc17e48 wrangle_name: dictionary_element @@ -11,6 +11,8 @@ aliases: [] slug: select/dictionary-element status: active visibility: public +recipe_writer: + eligible: true tags: - select - dictionary-element diff --git a/wrangles-docs/static/registry/wrangles/select/element.md b/wrangles-docs/static/registry/wrangles/select/element.md index e8321b7..5c7b058 100644 --- a/wrangles-docs/static/registry/wrangles/select/element.md +++ b/wrangles-docs/static/registry/wrangles/select/element.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 223d2f4e-3247-4189-8b6c-e73fe44c4266 wrangle_name: element @@ -11,6 +11,8 @@ aliases: [] slug: select/element status: active visibility: public +recipe_writer: + eligible: true tags: - select - element diff --git a/wrangles-docs/static/registry/wrangles/select/group-by.md b/wrangles-docs/static/registry/wrangles/select/group-by.md index af00a5b..876e3b1 100644 --- a/wrangles-docs/static/registry/wrangles/select/group-by.md +++ b/wrangles-docs/static/registry/wrangles/select/group-by.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: c0af10b1-423a-416c-8cb5-7e7fe1164964 wrangle_name: group_by @@ -11,6 +11,8 @@ aliases: [] slug: select/group-by status: active visibility: public +recipe_writer: + eligible: true tags: - select - group-by diff --git a/wrangles-docs/static/registry/wrangles/select/head.md b/wrangles-docs/static/registry/wrangles/select/head.md index e72e0ca..50892b1 100644 --- a/wrangles-docs/static/registry/wrangles/select/head.md +++ b/wrangles-docs/static/registry/wrangles/select/head.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 237af1ec-db7d-415a-88b7-70586a2191fb wrangle_name: head @@ -11,6 +11,8 @@ aliases: [] slug: select/head status: active visibility: public +recipe_writer: + eligible: true tags: - select - head diff --git a/wrangles-docs/static/registry/wrangles/select/highest-confidence.md b/wrangles-docs/static/registry/wrangles/select/highest-confidence.md index 20958b2..d3be926 100644 --- a/wrangles-docs/static/registry/wrangles/select/highest-confidence.md +++ b/wrangles-docs/static/registry/wrangles/select/highest-confidence.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 00aad85d-8cc8-42e5-86f3-e4ff916e8ac2 wrangle_name: highest_confidence @@ -13,6 +13,8 @@ aliases: [] slug: select/highest-confidence status: active visibility: public +recipe_writer: + eligible: true tags: - select - highest-confidence diff --git a/wrangles-docs/static/registry/wrangles/select/left.md b/wrangles-docs/static/registry/wrangles/select/left.md index 4fb625f..fa814fd 100644 --- a/wrangles-docs/static/registry/wrangles/select/left.md +++ b/wrangles-docs/static/registry/wrangles/select/left.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 5cdd9857-0c77-43bf-80d7-d0a8cb6f980b wrangle_name: left @@ -13,6 +13,8 @@ aliases: [] slug: select/left status: active visibility: public +recipe_writer: + eligible: true tags: - select - left diff --git a/wrangles-docs/static/registry/wrangles/select/length.md b/wrangles-docs/static/registry/wrangles/select/length.md index 00ee362..71e28b7 100644 --- a/wrangles-docs/static/registry/wrangles/select/length.md +++ b/wrangles-docs/static/registry/wrangles/select/length.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 4d7a5f66-0a4a-40e0-8298-d5c55754423d wrangle_name: length @@ -13,6 +13,8 @@ aliases: [] slug: select/length status: active visibility: public +recipe_writer: + eligible: true tags: - select - length diff --git a/wrangles-docs/static/registry/wrangles/select/list-element.md b/wrangles-docs/static/registry/wrangles/select/list-element.md index c83902b..b52b2da 100644 --- a/wrangles-docs/static/registry/wrangles/select/list-element.md +++ b/wrangles-docs/static/registry/wrangles/select/list-element.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: ec40495d-d29a-4f62-86dd-eafa43cf388a wrangle_name: list_element @@ -11,6 +11,8 @@ aliases: [] slug: select/list-element status: active visibility: public +recipe_writer: + eligible: true tags: - select - list-element diff --git a/wrangles-docs/static/registry/wrangles/select/right.md b/wrangles-docs/static/registry/wrangles/select/right.md index c46a334..0c526e9 100644 --- a/wrangles-docs/static/registry/wrangles/select/right.md +++ b/wrangles-docs/static/registry/wrangles/select/right.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 89ee82ec-3bc5-4bfa-899b-7a1260ef9bdb wrangle_name: right @@ -13,6 +13,8 @@ aliases: [] slug: select/right status: active visibility: public +recipe_writer: + eligible: true tags: - select - right diff --git a/wrangles-docs/static/registry/wrangles/select/sample.md b/wrangles-docs/static/registry/wrangles/select/sample.md index d663762..a168b48 100644 --- a/wrangles-docs/static/registry/wrangles/select/sample.md +++ b/wrangles-docs/static/registry/wrangles/select/sample.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 95a84ab6-a66e-450f-8a4a-7a87e3a77932 wrangle_name: sample @@ -11,6 +11,8 @@ aliases: [] slug: select/sample status: active visibility: public +recipe_writer: + eligible: true tags: - select - sample diff --git a/wrangles-docs/static/registry/wrangles/select/substring.md b/wrangles-docs/static/registry/wrangles/select/substring.md index a2461c0..1122c1b 100644 --- a/wrangles-docs/static/registry/wrangles/select/substring.md +++ b/wrangles-docs/static/registry/wrangles/select/substring.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 8befddf8-602e-4fa9-8f16-4c547210ebec wrangle_name: substring @@ -11,6 +11,8 @@ aliases: [] slug: select/substring status: active visibility: public +recipe_writer: + eligible: true tags: - select - substring diff --git a/wrangles-docs/static/registry/wrangles/select/tail.md b/wrangles-docs/static/registry/wrangles/select/tail.md index be85f43..9c94df1 100644 --- a/wrangles-docs/static/registry/wrangles/select/tail.md +++ b/wrangles-docs/static/registry/wrangles/select/tail.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 60853759-c160-49a4-87eb-036516a9d823 wrangle_name: tail @@ -11,6 +11,8 @@ aliases: [] slug: select/tail status: active visibility: public +recipe_writer: + eligible: true tags: - select - tail diff --git a/wrangles-docs/static/registry/wrangles/select/threshold.md b/wrangles-docs/static/registry/wrangles/select/threshold.md index 58dcb94..e27f966 100644 --- a/wrangles-docs/static/registry/wrangles/select/threshold.md +++ b/wrangles-docs/static/registry/wrangles/select/threshold.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: af2a5dcc-0ec0-48d7-8fb4-f58d9c5391d2 wrangle_name: threshold @@ -11,6 +11,8 @@ aliases: [] slug: select/threshold status: active visibility: public +recipe_writer: + eligible: true tags: - select - threshold diff --git a/wrangles-docs/static/registry/wrangles/split/dictionary.md b/wrangles-docs/static/registry/wrangles/split/dictionary.md index 163b991..a31f6c6 100644 --- a/wrangles-docs/static/registry/wrangles/split/dictionary.md +++ b/wrangles-docs/static/registry/wrangles/split/dictionary.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 06ca98e4-d026-43f7-84eb-af246d401ba9 wrangle_name: dictionary @@ -13,6 +13,8 @@ aliases: [] slug: split/dictionary status: active visibility: public +recipe_writer: + eligible: true tags: - split - dictionary diff --git a/wrangles-docs/static/registry/wrangles/split/list.md b/wrangles-docs/static/registry/wrangles/split/list.md index 889d858..3b7672e 100644 --- a/wrangles-docs/static/registry/wrangles/split/list.md +++ b/wrangles-docs/static/registry/wrangles/split/list.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 3260b9f7-aae2-499f-8004-d211c2cf643e wrangle_name: list @@ -11,6 +11,8 @@ aliases: [] slug: split/list status: active visibility: public +recipe_writer: + eligible: true tags: - split - list diff --git a/wrangles-docs/static/registry/wrangles/split/text.md b/wrangles-docs/static/registry/wrangles/split/text.md index 968c26d..e052f9a 100644 --- a/wrangles-docs/static/registry/wrangles/split/text.md +++ b/wrangles-docs/static/registry/wrangles/split/text.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: e76e43f7-d129-4bf8-87b4-a304a378b130 wrangle_name: text @@ -11,6 +11,8 @@ aliases: [] slug: split/text status: active visibility: public +recipe_writer: + eligible: true tags: - split - text diff --git a/wrangles-docs/static/registry/wrangles/split/tokenize.md b/wrangles-docs/static/registry/wrangles/split/tokenize.md index 00b6211..dce6012 100644 --- a/wrangles-docs/static/registry/wrangles/split/tokenize.md +++ b/wrangles-docs/static/registry/wrangles/split/tokenize.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: 6cc88418-ae0c-43f6-84ee-31e0d5f838c3 wrangle_name: tokenize @@ -13,6 +13,8 @@ aliases: [] slug: split/tokenize status: active visibility: public +recipe_writer: + eligible: true tags: - split - tokenize diff --git a/wrangles-docs/static/registry/wrangles/standardize/clean.md b/wrangles-docs/static/registry/wrangles/standardize/clean.md index 4bcbff0..fced91a 100644 --- a/wrangles-docs/static/registry/wrangles/standardize/clean.md +++ b/wrangles-docs/static/registry/wrangles/standardize/clean.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: clean @@ -13,6 +13,8 @@ aliases: [] slug: standardize/clean status: active visibility: public +recipe_writer: + eligible: true tags: - standardize - clean diff --git a/wrangles-docs/static/registry/wrangles/standardize/custom.md b/wrangles-docs/static/registry/wrangles/standardize/custom.md index a8e98e2..61f8fee 100644 --- a/wrangles-docs/static/registry/wrangles/standardize/custom.md +++ b/wrangles-docs/static/registry/wrangles/standardize/custom.md @@ -1,5 +1,5 @@ --- -schema_version: '0.1' +schema_version: '0.2' type: wrangle id: null wrangle_name: custom @@ -13,6 +13,8 @@ aliases: [] slug: standardize/custom status: active visibility: public +recipe_writer: + eligible: true tags: - standardize - custom diff --git a/wrangles-docs/static/schemas/recipes/registry/recipe-writer.schema.json b/wrangles-docs/static/schemas/recipes/registry/recipe-writer.schema.json new file mode 100644 index 0000000..57459a4 --- /dev/null +++ b/wrangles-docs/static/schemas/recipes/registry/recipe-writer.schema.json @@ -0,0 +1,5628 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://docs.wrangles.com/schemas/recipes/registry/recipe-writer.schema.json", + "title": "Wrangles Recipe Schema - Recipe Writer", + "description": "Pre-production stock-wrangle schema generated from explicit Recipe Writer eligibility in the Docs Registry.", + "$comment": "Contains only the pinned Recipe Writer baseline and rejects custom.* and pandas.* extension names. See the Registry manifest for eligibility and checksum evidence.", + "type": "object", + "additionalProperties": false, + "required": [ + "wrangles" + ], + "properties": { + "wrangles": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/wrangles/items" + } + } + }, + "$defs": { + "wrangles": { + "items": { + "type": "object", + "description": "One Registry-backed wrangle step.", + "minProperties": 1, + "maxProperties": 1, + "additionalProperties": false, + "properties": { + "batch": { + "type": "object", + "description": "Split the data into batches for executing a list of wrangles. Use this in situations such as where the intermediate data is too large to fit in memory.", + "additionalProperties": false, + "properties": { + "wrangles": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/wrangles/items" + }, + "description": "The wrangles to execute on the data. Each series of wrangles will be run against the data in batches of the size defined by batch_size." + }, + "batch_size": { + "type": "integer", + "description": "The number of rows to split each batch into.", + "default": 1000 + }, + "threads": { + "type": "integer", + "description": "The number of threads to use for parallel processing. Default 1.", + "default": 1 + }, + "on_error": { + "type": [ + "object", + "null" + ], + "description": "A dictionary of column_name: value to return if an error occurs while attempting to run a batch.", + "default": null + }, + "timeout": { + "type": [ + "number", + "null" + ], + "description": "The number of seconds to wait for a batch to complete before raising an error.", + "default": null + }, + "use_multiprocessing": { + "type": "boolean", + "description": "Use process-based workers instead of threads. This is an advanced runtime option.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "wrangles" + ] + }, + "classify": { + "type": "object", + "description": "Run classify wrangles on the specified columns. Requires WrangleWorks Account and Subscription.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "Name of the output column." + }, + "model_id": { + "type": "string", + "description": "ID of the classification model to be used." + }, + "include_confidence": { + "type": "boolean", + "description": "For models that support it, include the confidence level in the output." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output", + "model_id" + ] + }, + "clean_whitespaces": { + "type": "object", + "description": "Condense multiple spaces to a single space and convert special space characters to a standard space.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name or list of input columns." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name or list of output columns.", + "default": null + }, + "trim": { + "type": "boolean", + "description": "Whether to trim leading and trailing spaces. Default True.", + "default": true + }, + "remove_literals": { + "type": "boolean", + "description": "Whether to remove special space characters such as new lines etc. Default True.", + "default": true + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "compare.lists": { + "type": "object", + "description": "Compare multiple lists and return the intersection, difference, or union.", + "additionalProperties": false, + "properties": { + "input": { + "type": "array", + "description": "List of input columns containing lists to compare." + }, + "output": { + "type": "string", + "description": "Name of the output column." + }, + "method": { + "type": "string", + "enum": [ + "intersection", + "difference", + "union" + ], + "description": "Type of comparison to perform.", + "default": "intersection" + }, + "remove_duplicates": { + "type": "boolean", + "description": "Remove duplicates from the result.", + "default": false + }, + "ignore_case": { + "type": "boolean", + "description": "Ignore case when comparing string items.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "compare.text": { + "type": "object", + "description": "Compare two strings and return the intersection or difference, use overlap to find the matching characters between the two strings, or use similarity to get a numeric similarity score.", + "additionalProperties": false, + "properties": { + "input": { + "type": "array", + "description": "The columns to compare. First column is the base column." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "The column to output the results to. Must be a list of two column names [mask_column, ratio_column] when method is overlap and include_ratio is true; otherwise a single column name." + }, + "method": { + "type": "string", + "enum": [ + "difference", + "intersection", + "overlap", + "similarity" + ], + "description": "The type of comparison to perform (difference, intersection, overlap, similarity).", + "default": "difference" + }, + "char": { + "type": "string", + "description": "Character to split strings on for difference and intersection. Defaults to a space.", + "default": " " + }, + "non_match_char": { + "type": "string", + "description": "Character to use for non-matching characters when using overlap.", + "default": "*" + }, + "include_ratio": { + "type": "boolean", + "description": "Include the ratio of matching characters when using overlap.", + "default": false + }, + "decimal_places": { + "type": "integer", + "description": "Number of decimal places to round the overlap ratio to.", + "default": 3 + }, + "exact_match": { + "type": [ + "string", + "null" + ], + "description": "Value to use for exact matches when using overlap.", + "default": null + }, + "empty_a": { + "type": [ + "string", + "null" + ], + "description": "Value to use when input A is empty when using overlap.", + "default": null + }, + "empty_b": { + "type": [ + "string", + "null" + ], + "description": "Value to use when input B is empty when using overlap.", + "default": null + }, + "all_empty": { + "type": [ + "string", + "null" + ], + "description": "Value to use when both inputs are empty when using overlap.", + "default": null + }, + "case_sensitive": { + "type": "boolean", + "description": "Whether the comparison is case sensitive. Defaults to true.", + "default": false + }, + "metric": { + "type": "string", + "description": "Metric value accepted by the runtime.", + "default": "token_sort" + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "compute.case_when": { + "type": "object", + "description": "Assign values to a column based on conditional logic.", + "additionalProperties": false, + "properties": { + "output": { + "type": "string", + "description": "Name of the output column." + }, + "cases": { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "required": [ + "condition", + "value" + ], + "properties": { + "condition": { + "type": "string" + }, + "value": { + "type": [ + "string", + "number", + "integer", + "boolean" + ] + } + } + }, + "description": "List of conditions and corresponding values." + }, + "default": { + "type": [ + "string", + "number", + "integer", + "boolean", + "null" + ], + "description": "Value to assign if no conditions are met. Default None.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "output", + "cases" + ] + }, + "compute.score_search_results": { + "type": "object", + "description": "Scores and filters search results based on progressive partial/exact matching. Can return dictionaries or a parallel list of formatted strings.", + "additionalProperties": false, + "properties": { + "input": { + "type": "array", + "description": "List of 3 to 5 columns -> [results, suppliers, part_codes, mpns (optional), descriptions (optional)]." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "Output column for the dictionaries. If a list of 2 is provided, outputs [dicts_column, pretty_strings_column]." + }, + "must_match_part_code": { + "type": "boolean", + "description": "If true, filters out results that don't satisfy the allowed match types.", + "default": true + }, + "allow_mpn_exact": { + "type": "boolean", + "description": "Treat exact MPN matches as valid part code matches.", + "default": true + }, + "allow_mpn_partial": { + "type": "boolean", + "description": "Treat partial MPN matches as valid part code matches.", + "default": true + }, + "allow_other_exact": { + "type": "boolean", + "description": "Treat exact other part code matches as valid part code matches.", + "default": true + }, + "allow_other_partial": { + "type": "boolean", + "description": "Treat partial other part code matches as valid part code matches.", + "default": true + }, + "blacklist_keywords": { + "type": "string", + "description": "Comma-separated list or array of keywords to filter out URLs containing them.", + "default": "" + }, + "mpn_exact_score": { + "type": "number", + "description": "Mpn Exact Score value accepted by the runtime.", + "default": 8 + }, + "mpn_partial_base": { + "type": "number", + "description": "Mpn Partial Base value accepted by the runtime.", + "default": 4 + }, + "part_code_exact_score": { + "type": "number", + "description": "Part Code Exact Score value accepted by the runtime.", + "default": 6 + }, + "part_code_partial_base": { + "type": "number", + "description": "Part Code Partial Base value accepted by the runtime.", + "default": 2 + }, + "supplier_exact_score": { + "type": "number", + "description": "Supplier Exact Score value accepted by the runtime.", + "default": 3 + }, + "supplier_partial_base": { + "type": "number", + "description": "Supplier Partial Base value accepted by the runtime.", + "default": 1 + }, + "context_match_base": { + "type": "number", + "description": "Context Match Base value accepted by the runtime.", + "default": 2 + }, + "fuzzy_match_threshold": { + "type": "number", + "description": "Fuzzy Match Threshold value accepted by the runtime.", + "default": 0.8 + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "convert.case": { + "type": "object", + "description": "Change the letter case of text values.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "items": { + "type": [ + "string", + "integer" + ] + }, + "description": "Name, index, or list of input columns." + }, + "output": { + "type": [ + "string", + "array" + ], + "items": { + "type": "string" + }, + "description": "Name or list of output columns. If omitted, each input column is overwritten." + }, + "case": { + "type": "string", + "enum": [ + "lower", + "upper", + "title", + "sentence" + ], + "description": "Letter case to apply. Sentence case lowercases the value and capitalizes sentence starts.", + "default": "lower" + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + } + }, + "required": [ + "input" + ] + }, + "convert.data_type": { + "type": "object", + "description": "Convert values to strings, numbers, booleans, or datetimes.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "items": { + "type": [ + "string", + "integer" + ] + }, + "description": "Name, index, or list of input columns." + }, + "output": { + "type": [ + "string", + "array" + ], + "items": { + "type": "string" + }, + "description": "Name or list of output columns. If omitted, each input column is overwritten." + }, + "data_type": { + "type": "string", + "enum": [ + "str", + "float", + "int", + "bool", + "datetime" + ], + "description": "Data type to produce.", + "default": "str" + }, + "default": { + "type": [ + "string", + "number", + "array", + "object", + "boolean", + "null" + ], + "description": "Value returned when conversion fails. If omitted, the original value is retained.", + "default": null + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + } + }, + "required": [ + "input" + ] + }, + "convert.fraction_to_decimal": { + "type": "object", + "description": "Convert fractions to decimals.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "decimals": { + "type": "integer", + "description": "Number of decimals to round fraction.", + "default": 4 + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output colum.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "convert.from_json": { + "type": "object", + "description": "Parse JSON text into lists, objects, scalars, booleans, or null values.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "items": { + "type": [ + "string", + "integer" + ] + }, + "description": "Name, index, or list of columns containing valid JSON text." + }, + "output": { + "type": [ + "string", + "array" + ], + "items": { + "type": "string" + }, + "description": "Name or list of output columns. If omitted, each input column is overwritten." + }, + "default": { + "type": [ + "string", + "number", + "array", + "object", + "boolean", + "null" + ], + "description": "Value returned for empty or invalid JSON. A list may supply one fallback per input column.", + "default": null + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + } + }, + "required": [ + "input" + ] + }, + "convert.from_yaml": { + "type": "object", + "description": "Convert a YAML representation into an object.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column. If omitted, the input column will be overwritten.", + "default": null + }, + "default": { + "type": [ + "string", + "array", + "object", + "number", + "boolean", + "null" + ], + "description": "Value to return if the row is empty or fails to be parsed as YAML. If input is a list, default may also be a list - either a single value to apply to all columns, or one value per input column.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "convert.to_json": { + "type": "object", + "description": "Convert an object to a JSON representation.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column. If omitted, the input column will be overwritten.", + "default": null + }, + "ensure_ascii": { + "type": "boolean", + "description": "If true, non-ASCII characters will be escaped. Default is false.", + "default": false + }, + "indent": { + "type": [ + "string", + "integer" + ], + "description": "If indent is a non-negative integer or string, then JSON array elements and object members will be pretty-printed with that indent level. An indent level of 0, negative, or \"\" will only insert newlines. None (the default) selects the most compact representation. Using a positive integer indent indents that many spaces per level. If indent is a string (such as '\\t'), that string is used to indent each level." + }, + "sort_keys": { + "type": "boolean", + "description": "If sort_keys is true (defaults to False), then the output of dictionaries will be sorted by key." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "convert.to_yaml": { + "type": "object", + "description": "Convert an object to a YAML representation.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column. If omitted, the input column will be overwritten.", + "default": null + }, + "sort_keys": { + "type": "boolean", + "description": "If sort_keys is true (default: False), then the output of dictionaries will be sorted by key.", + "default": false + }, + "allow_unicode": { + "type": "boolean", + "description": "Allow Unicode value accepted by the runtime.", + "default": true + }, + "indent": { + "type": "integer", + "description": "Specify the number of spaces for indentation to specify nested elements." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "copy": { + "type": "object", + "description": "Make a copy of a column or a list of columns.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array", + "null" + ], + "description": "Name of the input columns or columns.", + "default": null + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output columns or columns.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + } + }, + "create.bins": { + "type": "object", + "description": "Create a column that groups data into bins.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of input column." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "Name of new column." + }, + "bins": { + "type": [ + "integer", + "array" + ], + "description": "Defines the number of equal-width bins in the range." + }, + "labels": { + "type": [ + "string", + "array", + "null" + ], + "description": "Labels for the returned bins.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output", + "bins" + ] + }, + "create.column": { + "type": "object", + "description": "Create column(s) with a user defined value. Defaults to None (empty).", + "additionalProperties": false, + "properties": { + "output": { + "type": [ + "string", + "array" + ], + "description": "Name or list of names of new columns or column_name: value pairs." + }, + "value": { + "type": [ + "string", + "number", + "object", + "array", + "boolean", + "null" + ], + "description": "(Optional) Value(s) to add in the new column(s). If using a dictionary in output, value can only be a string.", + "default": null + }, + "value_if_exists": { + "type": "string", + "enum": [ + "existing", + "coalesce", + "new" + ], + "description": "Determines behaviour when the output column already exists. existing (default): leave the column unchanged. coalesce: fill empty/null cells with the new value, keeping non-null cells. new: overwrite the entire column with the new value.", + "default": "existing" + }, + "coalesce_value": { + "type": "string", + "enum": [ + "existing", + "new" + ], + "description": "Only used when value_if_exists is coalesce. Determines which side is preferred when both the existing and new values are non-empty. existing (default): keep the existing value, only fill empty/null cells with the new value. new: keep the new value, only fall back to the existing value where the new value is empty/null.", + "default": "existing" + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "output" + ] + }, + "create.embeddings": { + "type": "object", + "description": "Create an embedding based on text input.", + "additionalProperties": false, + "properties": { + "input": { + "type": "string", + "description": "The column of text to create the embeddings for." + }, + "api_key": { + "type": "string", + "description": "The API key." + }, + "output": { + "type": [ + "string", + "null" + ], + "description": "The output column the embeddings will be saved as.", + "default": null + }, + "batch_size": { + "type": "integer", + "description": "The number of rows to submit per individual request.", + "default": 100 + }, + "threads": { + "type": "integer", + "description": "The number of requests to submit in parallel. Each request contains the number of rows set as batch_size.", + "default": 10 + }, + "output_type": { + "type": "string", + "enum": [ + "numpy array", + "python list" + ], + "description": "Output the embeddings as a numpy array or a python list Default - python list.", + "default": "python list" + }, + "model": { + "type": "string", + "description": "The specific model to use to generate the embeddings.", + "default": "text-embedding-3-small" + }, + "retries": { + "type": "integer", + "description": "The number of times to retry if the request fails. This will apply exponential backoff to help with rate limiting.", + "default": 0 + }, + "url": { + "type": "string", + "description": "The endpoint to send embedding requests to. Defaults to the standard endpoint for the resolved provider. Setting a Jina URL without an explicit provider will automatically use Jina's request/response format.", + "default": "https://api.openai.com/v1/embeddings" + }, + "precision": { + "type": "string", + "enum": [ + "float16", + "float32" + ], + "description": "The precision of the embeddings. Default is float32. This should be used with output_type numpy array.", + "default": "float32" + }, + "provider": { + "type": [ + "string", + "null" + ], + "enum": [ + "openai", + "jina" + ], + "description": "Controls the request/response format for the embedding API. When omitted, inferred from url (jina.ai → jina, otherwise openai). Setting provider also sets the default url for that provider, so you only need one of provider or url for standard endpoints. Use both together only when pointing to a custom endpoint that uses a non-default provider's API format (e.g. a Jina-compatible proxy).", + "default": null + }, + "task": { + "type": [ + "string", + "null" + ], + "enum": [ + "retrieval.query", + "retrieval.passage", + "text-matching", + "classification", + "separation" + ], + "description": "The task type for the embedding model. Only applicable for the Jina provider. Selects the appropriate task-specific adapter.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "api_key" + ] + }, + "create.guid": { + "type": "object", + "description": "Create column(s) with a GUID.", + "additionalProperties": false, + "properties": { + "output": { + "type": [ + "string", + "array" + ], + "description": "Name or list of names of new columns." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "output" + ] + }, + "create.hash": { + "type": "object", + "description": "Create a hash of a column.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of input column." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "Name of new column." + }, + "method": { + "type": "string", + "enum": [ + "md5", + "sha1", + "sha256", + "sha512" + ], + "description": "The method to use to hash the input (Default: md5).", + "default": "md5" + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "create.index": { + "type": "object", + "description": "Create column(s) with an incremental index. e.g. 1,2,3...", + "additionalProperties": false, + "properties": { + "output": { + "type": [ + "string", + "array" + ], + "description": "Name or list of names of new columns." + }, + "start": { + "type": "integer", + "description": "(Optional; default 1) Starting number for the index.", + "default": 1 + }, + "step": { + "type": "integer", + "description": "(Optional; default 1) Step between successive rows.", + "default": 1 + }, + "by": { + "type": [ + "string", + "array", + "null" + ], + "description": "Optional. Cluster the created indexes by one or more columns.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "output" + ] + }, + "create.jinja": { + "type": "object", + "description": "Output text using a jinja template.", + "additionalProperties": false, + "properties": { + "template": { + "type": "object", + "additionalProperties": false, + "properties": { + "file": { + "type": "string" + }, + "column": { + "type": "string" + }, + "string": { + "type": "string" + } + }, + "description": "A dictionary which defines the template/location as well as the form which the template is input. If any keys use a space, they must be replaced with an underscore. Note: spaces within column names are replaced by underscores (_)." + }, + "output": { + "type": "array", + "description": "Name of the column to be output to." + }, + "input": { + "type": [ + "string", + "null" + ], + "description": "Specify a name of column containing a dictionary of elements to be used in jinja template. Otherwise, the column headers will be used as keys.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "template", + "output" + ] + }, + "create.uuid": { + "type": "object", + "description": "Create column(s) with a UUID.", + "additionalProperties": false, + "properties": { + "output": { + "type": [ + "string", + "array" + ], + "description": "Name or list of names of new columns." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "output" + ] + }, + "date_calculator": { + "type": "object", + "description": "Add or Subtract time from a date.", + "additionalProperties": false, + "properties": { + "input": { + "type": "string", + "description": "Name of the dates column." + }, + "operation": { + "type": "string", + "enum": [ + "add", + "subtract" + ], + "description": "Date operation.", + "default": "add" + }, + "output": { + "type": [ + "string", + "null" + ], + "description": "Name of the output column of dates.", + "default": null + }, + "time_unit": { + "type": [ + "string", + "null" + ], + "enum": [ + "years", + "months", + "weeks", + "days", + "hours", + "minutes", + "seconds", + "milliseconds" + ], + "description": "Time unit for operation.", + "default": null + }, + "time_value": { + "type": [ + "number", + "null" + ], + "description": "Time unit value for operation.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "drop": { + "type": "object", + "description": "Drop (Delete) selected column(s).", + "additionalProperties": false, + "properties": { + "columns": { + "type": [ + "string", + "array" + ], + "description": "Name of the column(s) to drop." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + } + }, + "required": [ + "columns" + ] + }, + "explode": { + "type": "object", + "description": "Explode a column of lists into rows.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the column(s) to explode. If multiple columns are included they must contain lists of the same length." + }, + "reset_index": { + "type": "boolean", + "description": "Reset the index after exploding. Default True.", + "default": true + }, + "drop_empty": { + "type": "boolean", + "description": "If true, any rows that contain an empty list will be dropped. If false, rows that contain empty lists will keep 1 row with an empty value. Default False.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "extract.address": { + "type": "object", + "description": "Extract parts of addresses. Requires WrangleWorks Account.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "Name of the output column." + }, + "dataType": { + "type": "string", + "enum": [ + "streets", + "cities", + "regions", + "countries" + ], + "description": "Specific part of the address to extract." + }, + "output_format": { + "type": [ + "string", + "null" + ], + "enum": [ + "list", + "columns", + "concatenate" + ], + "description": "Format of the extract output.", + "default": null + }, + "char": { + "type": "string", + "description": "Character to use when output_format is concatenate.", + "default": ", " + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output", + "dataType" + ] + }, + "extract.ai": { + "type": "object", + "description": "Extract structured data from each input row using an AI model. Define the desired fields with output, or reuse a saved definition with model_id.", + "additionalProperties": false, + "properties": { + "api_key": { + "type": "string", + "description": "OpenAI API key used for this wrangle, normally supplied through a recipe variable." + }, + "input": { + "type": [ + "array", + "null" + ], + "items": { + "type": [ + "string", + "integer" + ] + }, + "description": "Input column name, column index, or list of columns supplied together as DATA for each row. If omitted, all dataframe columns are supplied.", + "default": null + }, + "output": { + "type": [ + "string", + "array", + "object", + "null" + ], + "patternProperties": { + "^[a-zA-Z0-9 _-]+$": { + "type": [ + "object", + "string" + ], + "properties": { + "type": { + "type": "string", + "description": "JSON data type required for this field. If omitted, common scalar types are accepted. Fields allow null by default.", + "enum": [ + "string", + "number", + "integer", + "boolean", + "null", + "object", + "array" + ] + }, + "enum": { + "type": "array" + }, + "examples": { + "type": [ + "array", + "object", + "string", + "number", + "integer", + "boolean", + "null" + ], + "properties": { + "name": { + "type": "string" + }, + "notes": { + "type": "string" + }, + "input": {}, + "output": {} + }, + "items": { + "anyOf": [ + { + "type": "object", + "required": [ + "input", + "output" + ], + "properties": { + "name": { + "type": "string" + }, + "notes": { + "type": "string" + }, + "input": {}, + "output": {} + } + }, + {} + ] + } + }, + "properties": { + "type": [ + "object", + "array", + "string" + ] + }, + "required": { + "type": [ + "array", + "string" + ] + }, + "additionalProperties": { + "type": [ + "boolean", + "object" + ] + }, + "items": { + "type": "object" + }, + "nullable": { + "type": "boolean" + } + } + } + }, + "description": "Desired extraction. Use an object keyed by output column name for structured fields, a string for one prompted value, or an array of field names/definitions. Each field may use the schema options below.", + "default": null + }, + "model_id": { + "type": [ + "string", + "null" + ], + "description": "ID of a saved extract.ai definition. Use it instead of defining an output schema. When output is also supplied with model_id in a recipe, output names the destination column or columns for the saved fields.", + "default": null + }, + "record_examples": { + "type": [ + "array", + "object", + "null" + ], + "required": [ + "input", + "output" + ], + "properties": { + "name": { + "type": "string" + }, + "notes": { + "type": "string" + }, + "input": {}, + "output": {} + }, + "items": { + "type": "object", + "required": [ + "input", + "output" + ], + "properties": { + "name": { + "type": "string" + }, + "notes": { + "type": "string" + }, + "input": {}, + "output": {} + } + }, + "description": "Whole-record examples. Each example has a separate input value or record and the complete expected output record. Optional name and notes provide model-visible context. Use {name: ..., notes: ..., input: ..., output: ...}. Omitted nullable output fields are completed with null. Required non-null nested properties must be supplied. This differs from examples nested under one output field, which teach only that field.", + "default": null + }, + "output_format": { + "type": [ + "string", + "null" + ], + "enum": [ + "dictionary", + "columns", + "concatenate" + ], + "description": "How extracted fields are written. columns writes one dataframe column per field (default); dictionary keeps one object; concatenate joins fields into one string using char.", + "default": null + }, + "char": { + "type": "string", + "description": "Separator used only when output_format is concatenate. Defaults to comma-space.", + "default": ", " + }, + "web_search": { + "type": "boolean", + "description": "Enable OpenAI Responses web search; the model decides when searching helps. When true, every row also receives web_search_sources: a deduplicated list of {title, url} objects in source order, or an empty list when no source was used. This reserved column is automatic. Requires protocol responses. Defaults to false.", + "default": false + }, + "instructions": { + "type": [ + "string", + "array", + "null" + ], + "items": { + "type": "string" + }, + "description": "Additional guidance applied to every input row. Use this for decision rules, evidence priorities, normalization requirements, or other behavior that applies to the complete extraction.", + "default": null + }, + "model": { + "type": "string", + "description": "OpenAI model ID for this call. If omitted, uses the configured extract.ai default; a saved model definition may supply its own model." + }, + "threads": { + "type": "integer", + "minimum": 1, + "description": "Maximum number of row-level requests sent in parallel. The configured default is 32." + }, + "timeout": { + "type": "number", + "exclusiveMinimum": 0, + "description": "Maximum seconds for one HTTP attempt. The configured default is 12; deadline can end the overall call sooner." + }, + "retries": { + "type": "integer", + "minimum": 0, + "description": "Number of additional attempts after a retryable failure. The configured default is 1. Backoff and request timeouts remain bounded by deadline." + }, + "url": { + "type": "string", + "description": "Override the endpoint for the selected protocol. A chat/completions URL selects the legacy protocol only when protocol is omitted; new recipes should use the configured Responses endpoint." + }, + "provider": { + "type": "string", + "enum": [ + "openai" + ], + "description": "AI service provider. Currently only OpenAI is supported." + }, + "protocol": { + "type": "string", + "enum": [ + "responses", + "chat_completions" + ], + "description": "OpenAI API protocol. Responses is the configured default and is required for web_search; chat_completions remains available for legacy definitions." + }, + "deadline": { + "type": "number", + "exclusiveMinimum": 0, + "description": "Total seconds allowed for the entire wrangle call, including queued work, retries, and backoff. The configured default is 15." + }, + "store": { + "type": "boolean", + "description": "Whether OpenAI may store Responses API results. Defaults to false." + }, + "cache": { + "type": "boolean", + "description": "Reuse identical successful results from the bounded warm-instance cache. Defaults to true. Set false when fresh model or web results are required." + }, + "cache_ttl": { + "type": "number", + "exclusiveMinimum": 0, + "description": "Maximum age in seconds for a cached result used by this call. Applies to extracted values and web_search_sources together." + }, + "strict": { + "type": "boolean", + "description": "Require OpenAI structured-output strict mode. Defaults to true. Definitions with dynamic dictionary keys automatically switch to non-strict provider mode and are still validated locally." + }, + "reasoning": { + "type": "object", + "properties": { + "effort": { + "type": "string", + "enum": [ + "none", + "minimal", + "low", + "medium", + "high", + "xhigh" + ] + } + }, + "description": "Responses API reasoning controls. Set effort for reasoning-capable models. The configured default is none when that model supports it; otherwise the provider default applies." + }, + "verbosity": { + "type": "string", + "enum": [ + "low", + "medium", + "high" + ], + "description": "Responses API text verbosity for compatible models. Defaults to low when supported; ignored with a warning for incompatible models." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "api_key" + ] + }, + "extract.attributes": { + "type": "object", + "description": "Extract numeric attributes from the input such as weights or lengths. Requires WrangleWorks Account.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "Name of the output column." + }, + "responseContent": { + "type": "string", + "enum": [ + "span", + "object" + ], + "description": "Span - returns the text found. object - returns an object with the value and unit.", + "default": "span" + }, + "attribute_type": { + "type": [ + "string", + "null" + ], + "enum": [ + "angle", + "area", + "capacitance", + "charge", + "current", + "data transfer rate", + "electrical conductance", + "electrical resistance", + "energy", + "force", + "frequency", + "inductance", + "instance frequency", + "length", + "luminous flux", + "weight", + "power", + "pressure", + "speed", + "velocity", + "temperature", + "time", + "voltage", + "volume", + "volumetric flow" + ], + "description": "Request only a specific type of attribute.", + "default": null + }, + "desired_unit": { + "type": [ + "string", + "null" + ], + "description": "Convert the extracted unit to the desired unit.", + "default": null + }, + "bound": { + "type": "string", + "enum": [ + "min", + "mid", + "max" + ], + "description": "When returning an object, if the input is a range (e.g. 10-20mm) set the value to return. min, mid or max. Default mid.", + "default": "mid" + }, + "first_element": { + "type": "boolean", + "description": "Get the first element from results.", + "default": false + }, + "output_format": { + "type": [ + "string", + "null" + ], + "enum": [ + "list", + "dictionary", + "columns", + "concatenate" + ], + "description": "Format of the extract output.", + "default": null + }, + "char": { + "type": "string", + "description": "Character to use when output_format is concatenate.", + "default": ", " + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "extract.brackets": { + "type": "object", + "description": "Extract text properties in brackets from the input.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "Name of the output columns." + }, + "find": { + "type": [ + "string", + "array" + ], + "description": "(Optional) The type of brackets to find (round '()', square '[]', curly '{}', angled '<>'). Default is all brackets.", + "default": "all" + }, + "include_brackets": { + "type": "boolean", + "description": "(Optional) Include the brackets in the output.", + "default": false + }, + "output_format": { + "type": [ + "string", + "null" + ], + "enum": [ + "list", + "columns", + "concatenate" + ], + "description": "Format of the extract output.", + "default": null + }, + "char": { + "type": "string", + "description": "Character to use when output_format is concatenate.", + "default": ", " + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "extract.codes": { + "type": "object", + "description": "Extract alphanumeric codes from the input. Requires WrangleWorks Account.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name or list of input columns." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "Name or list of output columns." + }, + "first_element": { + "type": "boolean", + "description": "Get the first element from results.", + "default": false + }, + "output_format": { + "type": [ + "string", + "null" + ], + "enum": [ + "list", + "columns", + "concatenate" + ], + "description": "Format of the extract output.", + "default": null + }, + "char": { + "type": "string", + "description": "Character to use when output_format is concatenate.", + "default": ", " + }, + "min_length": { + "type": [ + "integer", + "string" + ], + "description": "Minimum length of allowed results." + }, + "max_length": { + "type": [ + "integer", + "string" + ], + "description": "Maximum length of allowed results." + }, + "strategy": { + "type": "string", + "enum": [ + "lenient", + "balanced", + "strict" + ], + "description": "Controls filtering of likely false positives such as measurements. Lenient skips this filter; balanced and strict currently apply the same filter. Default is balanced. Unless min_length is provided, minimum lengths default to 3 for lenient, 4 for balanced, and 5 for strict." + }, + "sort_order": { + "type": "string", + "enum": [ + "input", + "longest", + "shortest" + ], + "description": "Default is input order. Also allows longest or shortest." + }, + "disallowed_patterns": { + "type": "string", + "description": "A pattern or JSON array of regex patterns to not include in the found codes." + }, + "include_multi_part_tokens": { + "type": "boolean", + "description": "Whether to include multi-part tokens that have a space. Default True." + }, + "extract_raw": { + "type": "boolean", + "description": "Whether to return tokens with their adjacent non-whitespace characters included, rather than the cleaned token. Default False." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "extract.custom": { + "type": "object", + "description": "Extract data from the input using a DIY or bespoke extraction wrangle. Requires WrangleWorks Account and Subscription.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name or list of input columns." + }, + "model_id": { + "type": [ + "string", + "array" + ], + "description": "The ID of the wrangle to use." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name or list of output columns.", + "default": null + }, + "use_labels": { + "type": "boolean", + "description": "Use Labels in the extract output {label: value}.", + "default": false + }, + "first_element": { + "type": "boolean", + "description": "Get the first element from results.", + "default": false + }, + "case_sensitive": { + "type": "boolean", + "description": "Allows the wrangle to be case sensitive if set to True, default is False.", + "default": false + }, + "extract_raw": { + "type": "boolean", + "description": "Extract the raw data from the wrangle.", + "default": false + }, + "use_spellcheck": { + "type": "boolean", + "description": "Use spellcheck to also find minor mispellings compared to the reference data.", + "default": false + }, + "include_empty_labels": { + "type": "boolean", + "description": "Include labels with no found values in the output when using use_labels=True.", + "default": true + }, + "sort": { + "type": "string", + "enum": [ + "training_order", + "input_order", + "longest", + "shortest", + "alphabetical", + "reverse_alphabetical", + "ascending", + "descending" + ], + "description": "Sort the results.", + "default": "training_order" + }, + "output_format": { + "type": [ + "string", + "null" + ], + "enum": [ + "list", + "dictionary", + "columns", + "concatenate" + ], + "description": "Format of the extract output.", + "default": null + }, + "char": { + "type": "string", + "description": "Character to use when output_format is concatenate.", + "default": ", " + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "model_id" + ] + }, + "extract.date_properties": { + "type": "object", + "description": "Extract date properties from a date (day, month, year, etc...).", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "property": { + "type": "string", + "enum": [ + "day", + "day_of_year", + "month", + "month_name", + "weekday", + "week_day_name", + "week_year", + "quarter" + ], + "description": "Property to extract from date." + }, + "output": { + "type": [ + "string", + "null" + ], + "description": "Name of the output columns.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "property" + ] + }, + "extract.date_range": { + "type": "object", + "description": "Extract date range frequency from two dates.", + "additionalProperties": false, + "properties": { + "start_time": { + "type": "string", + "description": "Name of the start date column." + }, + "end_time": { + "type": "string", + "description": "Name of the end date column." + }, + "output": { + "type": "string", + "description": "Name of the output column." + }, + "range": { + "type": "string", + "enum": [ + "business days", + "days", + "weeks", + "months", + "semi months", + "business month ends", + "month starts", + "semi month starts", + "business month starts", + "quarters", + "quarter starts", + "years", + "business hours", + "hours", + "minutes", + "seconds", + "milliseconds" + ], + "description": "Type of frequency to count." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "start_time", + "end_time", + "output" + ] + }, + "extract.html": { + "type": "object", + "description": "Extract elements from strings containing html. Requires WrangleWorks Account.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name or list of input columns." + }, + "data_type": { + "type": "string", + "enum": [ + "text", + "links" + ], + "description": "The type of data to extract." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name or list of output columns.", + "default": null + }, + "output_format": { + "type": [ + "string", + "null" + ], + "enum": [ + "list", + "columns", + "concatenate" + ], + "description": "Format of the extract output.", + "default": null + }, + "char": { + "type": "string", + "description": "Character to use when output_format is concatenate.", + "default": ", " + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "data_type" + ] + }, + "extract.properties": { + "type": "object", + "description": "Extract text properties from the input. Requires WrangleWorks Account.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "Name of the output columns." + }, + "property_type": { + "type": [ + "string", + "null" + ], + "enum": [ + "Colours", + "Materials", + "Shapes", + "Standards" + ], + "description": "The specific type of properties to extract.", + "default": null + }, + "return_data_type": { + "type": "string", + "enum": [ + "list", + "string" + ], + "description": "Legacy format option. Prefer output_format.", + "default": "list" + }, + "first_element": { + "type": "boolean", + "description": "Get the first element from results.", + "default": false + }, + "output_format": { + "type": [ + "string", + "null" + ], + "enum": [ + "list", + "dictionary", + "columns", + "concatenate" + ], + "description": "Format of the extract output.", + "default": null + }, + "char": { + "type": "string", + "description": "Character to use when output_format is concatenate.", + "default": ", " + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "extract.regex": { + "type": "object", + "description": "Extract matches or specific capture groups using regex.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column(s)." + }, + "find": { + "type": "string", + "description": "Pattern to find using regex." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "Name of the output column(s)." + }, + "output_pattern": { + "type": [ + "string", + "null" + ], + "description": "Specifies the format to output matches and specific capture groups using backreferences (e.g., `\\1`, `\\2`). Default is to return entire matches. **Example**: For a regex pattern `r'(\\d+)\\s(\\w+)'` and `output_pattern = '\\2 \\1'`, with input `'120 volt'`, the output would be `'volt 120'`.", + "default": null + }, + "first_element": { + "type": "boolean", + "description": "Get the first element from results.", + "default": false + }, + "output_format": { + "type": [ + "string", + "null" + ], + "enum": [ + "list", + "columns", + "concatenate" + ], + "description": "Format of the extract output.", + "default": null + }, + "char": { + "type": "string", + "description": "Character to use when output_format is concatenate.", + "default": ", " + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "find", + "output" + ] + }, + "filter": { + "type": "object", + "description": "Filter the dataframe based on the contents. If multiple filters are specified, all must be correct. For complex filters, use the where parameter.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the column to filter on. If multiple are provided, all must match the criteria.", + "default": [] + }, + "equal": { + "type": [ + "string", + "array", + "null" + ], + "description": "Select rows where the values equal a given value.", + "default": null + }, + "not_equal": { + "type": [ + "string", + "array", + "null" + ], + "description": "Select rows where the values do not equal a given value.", + "default": null + }, + "is_in": { + "type": [ + "string", + "array", + "null" + ], + "description": "Select rows where the values are in a given list.", + "default": null + }, + "not_in": { + "type": [ + "string", + "array", + "null" + ], + "description": "Select rows where the values are not in a given list.", + "default": null + }, + "greater_than": { + "type": [ + "integer", + "number", + "null" + ], + "description": "Select rows where the values are greater than a specified value. Does include the value itself.", + "default": null + }, + "greater_than_equal_to": { + "type": [ + "integer", + "number", + "null" + ], + "description": "Select rows where the values are greater than a specified value. Does include the value itself.", + "default": null + }, + "less_than": { + "type": [ + "integer", + "number", + "null" + ], + "description": "Select rows where the values are less than a specified value. Does not include the value itself.", + "default": null + }, + "less_than_equal_to": { + "type": [ + "integer", + "number", + "null" + ], + "description": "Select rows where the values are less than a specified value. Does include the value itself.", + "default": null + }, + "between": { + "type": [ + "array", + "null" + ], + "description": "Value or list of values to filter that are in between two parameter values.", + "default": null + }, + "contains": { + "type": [ + "string", + "null" + ], + "description": "Select rows where the input contains the value. Allows regular expressions.", + "default": null + }, + "not_contains": { + "type": [ + "string", + "null" + ], + "description": "Select rows where the input does not contain the value. Allows regular expressions.", + "default": null + }, + "is_null": { + "type": [ + "boolean", + "null" + ], + "description": "If true, select all rows where the value is NULL. If false, where is not NULL.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + } + }, + "format.dates": { + "type": "object", + "description": "Format a date.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "format": { + "type": "string", + "description": "String pattern to format date." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "format" + ] + }, + "format.pad": { + "type": "object", + "description": "Pad a string to a fixed length.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "pad_length": { + "type": "integer", + "description": "Length for the output." + }, + "side": { + "type": "string", + "description": "Side from which to fill resulting string." + }, + "char": { + "type": "string", + "description": "The character to pad the input with." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column.", + "default": null + }, + "skip_empty": { + "type": "boolean", + "description": "If true, skip padding for empty or whitespace-only values.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "pad_length", + "side", + "char" + ] + }, + "format.prefix": { + "type": "object", + "description": "Add a prefix to a column.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "value": { + "type": [ + "string", + "integer", + "number" + ], + "description": "Prefix value to add." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "(Optional) Name of the output column.", + "default": null + }, + "skip_empty": { + "type": "boolean", + "description": "Whether to skip empty values.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "value" + ] + }, + "format.remove_duplicates": { + "type": "object", + "description": "Remove duplicates from a list. Preserves input order.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column.", + "default": null + }, + "ignore_case": { + "type": "boolean", + "description": "Ignore case when removing duplicates.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "format.significant_figures": { + "type": "object", + "description": "Format a value to a specific number of significant figures.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "significant_figures": { + "type": "integer", + "description": "Number of significant figures to format to. Default is 3.", + "default": 3 + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "format.suffix": { + "type": "object", + "description": "Add a suffix to a column.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "value": { + "type": [ + "string", + "integer", + "number", + "array" + ], + "description": "Suffix value to add." + }, + "output": { + "type": [ + "string", + "null" + ], + "description": "(Optional) Name of the output column.", + "default": null + }, + "skip_empty": { + "type": "boolean", + "description": "Whether to skip empty values.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "value" + ] + }, + "format.trim": { + "type": "object", + "description": "Remove excess whitespace at the start and end of text.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "generate.ai": { + "type": "object", + "description": "Generate structured AI output for each recipe row.", + "additionalProperties": false, + "properties": { + "api_key": { + "type": "string", + "description": "OpenAI-compatible API key." + }, + "output": { + "type": [ + "string", + "array", + "object" + ], + "description": "Target schema; string/array shorthands are expanded automatically." + }, + "input": { + "type": [ + "string", + "array", + "null" + ], + "description": "Column(s) to concatenate into the prompt (defaults to all columns).", + "default": null + }, + "model": { + "type": "string", + "description": "Responses model name (e.g. gpt-5-mini).", + "default": "gpt-5" + }, + "threads": { + "type": "integer", + "description": "Maximum concurrent requests (default 20).", + "default": 20 + }, + "timeout": { + "type": "integer", + "description": "Per-request timeout in seconds.", + "default": 90 + }, + "retries": { + "type": "integer", + "description": "Number of retry attempts on failure.", + "default": 0 + }, + "messages": { + "type": [ + "array", + "object", + "null" + ], + "description": "Optional extra messages forwarded to the inner generate helper.", + "default": null + }, + "url": { + "type": "string", + "description": "Override for the OpenAI-compatible endpoint.", + "default": "https://api.openai.com/v1/responses" + }, + "strict": { + "type": "boolean", + "description": "Enforce JSON-schema validation on the response.", + "default": false + }, + "web_search": { + "type": "boolean", + "description": "Enable DuckDuckGo context lookup per row.", + "default": false + }, + "reasoning": { + "type": [ + "string", + "object" + ], + "description": "Responses API reasoning options (forwarded verbatim).", + "default": { + "effort": "low" + } + }, + "previous_response": { + "type": "boolean", + "description": "Chain responses by reusing previous_response_id for field-by-field calls.", + "default": false + }, + "summary": { + "type": "boolean", + "description": "Request summary text to be merged into the output.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "api_key", + "output" + ] + }, + "huggingface": { + "type": "object", + "description": "Use a model from huggingface.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "api_token": { + "type": "string", + "description": "Huggingface API Token." + }, + "model": { + "type": "string", + "description": "Name of the model to use. e.g. facebook/bart-large-cnn." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column. If not provided, will overwrite the input column.", + "default": null + }, + "parameters": { + "type": [ + "object", + "null" + ], + "description": "Optionally, provide additional parameters to define the model behaviour.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "api_token", + "model" + ] + }, + "lookup": { + "type": "object", + "description": "Lookup values from a saved lookup wrangle.", + "additionalProperties": false, + "properties": { + "input": { + "type": "string", + "description": "Name of the column(s) to lookup." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column(s). When n is provided and the output list length equals n, each output column receives the corresponding match. A single output containing a wildcard (*) is expanded into n columns, e.g. \"Top *\" with n: 3 becomes \"Top 1\", \"Top 2\", \"Top 3\".", + "default": null + }, + "model_id": { + "type": [ + "string", + "null" + ], + "description": "The model_id to use lookup against.", + "default": null + }, + "lookup_mode": { + "type": "string", + "enum": [ + "by_row", + "by_matrix", + "by_dataframe" + ], + "description": "How to perform lookups. 'by_row' (default): lookup each row individually. 'by_dataframe': lookup unique values once, copy results to all rows. 'by_matrix': lookup once per matrix permutation.", + "default": "by_row" + }, + "n": { + "type": [ + "integer", + "null" + ], + "description": "Number of matches to return per input value. When the output list length equals n, each output column receives the corresponding match. Otherwise all n matches are stored as a list in each output column.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "math": { + "type": "object", + "description": "Apply a mathematical calculation.", + "additionalProperties": false, + "properties": { + "input": { + "type": "string", + "description": "The mathematical expression using column names. e.g. column1 * column2 + column3. Note: spaces within column names are replaced by underscores (_)." + }, + "output": { + "type": "string", + "description": "The column to output the results to." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "merge.coalesce": { + "type": "object", + "description": "Take the first non-empty value from a series of columns or lists.", + "additionalProperties": false, + "properties": { + "input": { + "type": "array", + "description": "List of input columns or a single column containing lists." + }, + "output": { + "type": [ + "string", + "null" + ], + "description": "Name of the output columns. This is required if multiple input columns are provided.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "merge.concatenate": { + "type": "object", + "description": "Concatenate a list of columns or a list within a single column.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Either a single column name or list of columns." + }, + "output": { + "type": "string", + "description": "Name of the output column." + }, + "char": { + "type": "string", + "description": "(Optional) Character to add between successive values.", + "default": "," + }, + "skip_empty": { + "type": "boolean", + "desription": "Whether to skip empty values", + "description": "Whether to skip empty values, defaults to false.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "merge.dictionaries": { + "type": "object", + "description": "Take dictionaries in multiple columns and merge them to a single dictionary.", + "additionalProperties": false, + "properties": { + "input": { + "type": "array", + "description": "List of input columns." + }, + "output": { + "type": "string", + "description": "Name of the output column." + }, + "skip_empty": { + "type": "boolean", + "description": "Whether to skip empty dictionaries when merging.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "merge.key_value_pairs": { + "type": "object", + "description": "Create a dictionary from keys and values in paired columns e.g. COLUMN_NAME_1, COLUMN_VALUE_1, COLUMN_NAME_2, COLUMN_VALUE_2 ...", + "additionalProperties": false, + "properties": { + "input": { + "type": "object", + "description": "Matched pairs of key and value columns." + }, + "output": { + "type": "string", + "description": "Name of the output column." + }, + "skip_empty": { + "type": "boolean", + "description": "Whether to skip empty keys or values when creating the dictionary.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "merge.lists": { + "type": "object", + "description": "Take lists in multiple columns and merge them to a single list.", + "additionalProperties": false, + "properties": { + "input": { + "type": "array", + "description": "List of input columns." + }, + "output": { + "type": "string", + "description": "Name of the output column." + }, + "remove_duplicates": { + "type": "boolean", + "description": "Whether to remove duplicates from the created list.", + "default": false + }, + "ignore_case": { + "type": "boolean", + "description": "Ignore case when removing duplicates.", + "default": false + }, + "include_empty": { + "type": "boolean", + "description": "Whether to include empty values in the created list.", + "default": true + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "merge.to_dict": { + "type": "object", + "description": "Take multiple columns and merge them to a dictionary (aka object) using the column headers as keys.", + "additionalProperties": false, + "properties": { + "input": { + "type": "array", + "description": "List of input columns." + }, + "output": { + "type": "string", + "description": "Name of the output column." + }, + "include_empty": { + "type": "boolean", + "description": "Whether to include empty columns in the created dictionary.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "merge.to_list": { + "type": "object", + "description": "Take multiple columns and merge them to a list.", + "additionalProperties": false, + "properties": { + "input": { + "type": "array", + "description": "List of input columns." + }, + "output": { + "type": "string", + "description": "Name of the output column." + }, + "include_empty": { + "type": "boolean", + "description": "Whether to include empty columns in the created list.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "python": { + "type": "object", + "description": "Apply a simple single-line python command. For more complex python use a custom function. Note, this evaluates the python command - be especially cautious including variables from untrusted sources within the command string. The python command will be evaluated once for each row and the result returned. Reference column values by using their name. Non-alphanumeric characters within column names are replaced by underscores (_) Additionally, all columns are available as a dict named kwargs. Additional parameters set for the wrangle will also be available to the command.", + "additionalProperties": false, + "properties": { + "command": { + "type": "string", + "description": "Python command. This must return a value. Note: any non-alphanumeric characters in variable names are replaced by underscores (_)." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "Name or list of output column(s). To output multiple columns, return a list of the corresponding length." + }, + "input": { + "type": [ + "string", + "integer", + "array", + "null" + ], + "description": "Name or list of input column(s) to filter the data available to the command. Useful in conjunction with kwargs to target a variable range of columns. If not specified, all columns will be available.", + "default": null + }, + "except": { + "type": [ + "string", + "array", + "number", + "integer", + "boolean", + "object" + ], + "description": "Value to return for the row if an exception occurs during the evaluation. If not provided, an exception will be raised as normal. If multiple output columns are specified, this must match the length." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "command", + "output" + ] + }, + "reindex": { + "type": "object", + "description": "Changes the row labels and column labels of a DataFrame.", + "additionalProperties": false, + "properties": { + "labels": { + "type": [ + "array", + "null" + ], + "description": "New labels / index to conform the axis specified by ‘axis’ to.", + "default": null + }, + "index": { + "type": [ + "array", + "null" + ], + "description": "New labels for the index. Preferably an Index object to avoid duplicating data.", + "default": null + }, + "columns": { + "type": [ + "array", + "null" + ], + "description": "New labels for the columns. Preferably an Index object to avoid duplicating data.", + "default": null + }, + "axis": { + "type": [ + "string", + "integer", + "null" + ], + "description": "Axis to target. Can be either the axis name (‘index’, ‘columns’) or number (0, 1).", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + } + } + }, + "remove_words": { + "type": "object", + "description": "Remove all the elements that occur in one list from another.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of column to remove words from." + }, + "to_remove": { + "type": "string", + "description": "Column or list of columns with a list of words to be removed." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output columns.", + "default": null + }, + "tokenize_to_remove": { + "type": "boolean", + "description": "Tokenize all to_remove inputs.", + "default": false + }, + "ignore_case": { + "type": "boolean", + "description": "Ignore input and to_remove case.", + "default": true + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "to_remove" + ] + }, + "replace": { + "type": "object", + "description": "Quick find and replace for simple values. Can use regex if 'input' in params and isinstance(params['input'], list):in the find field.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name or list of input column." + }, + "find": { + "type": "string", + "description": "Pattern to find using regex." + }, + "replace": { + "type": "string", + "description": "Value to replace the pattern found." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name or list of output column.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "find", + "replace" + ] + }, + "round": { + "type": "object", + "description": "Round column(s) to the specified decimals.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column(s)." + }, + "decimals": { + "type": "integer", + "description": "Number of decimal places to round column.", + "default": 0 + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column(s).", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "search.find_links": { + "type": "object", + "description": "Perform web searches to find links. Returns structured search results with titles, links, snippets, and optional pricing.", + "additionalProperties": false, + "properties": { + "queries": { + "type": [ + "string", + "array" + ], + "description": "Name or list of input columns containing search queries." + }, + "id": { + "type": "string", + "description": "Name of the column containing the row ID to append to each search result." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Output column for the dictionaries. If a list of 2 is provided, outputs [dicts_column, pretty_strings_column].", + "default": null + }, + "client": { + "type": "string", + "enum": [ + "serpapi" + ], + "description": "The search provider to use.", + "default": "serpapi" + }, + "api_key": { + "type": [ + "string", + "null" + ], + "description": "API key for the search client. Can also be set as an environment variable (e.g., SERPAPI_API_KEY).", + "default": null + }, + "n_results": { + "type": "integer", + "description": "Number of search results to return per query (default 10, max 100).", + "default": 10 + }, + "threads": { + "type": "integer", + "description": "Number of concurrent threads for parallel processing (default 10).", + "default": 10 + }, + "country": { + "type": "string", + "description": "Country code for search results (default 'us'). Alias: gl." + }, + "language": { + "type": "string", + "description": "Language code for search results (default 'en'). Alias: hl." + }, + "location": { + "type": "string", + "description": "Location for search results (e.g., 'Austin, Texas')." + }, + "device": { + "type": "string", + "enum": [ + "desktop", + "mobile", + "tablet" + ], + "description": "Device type for search results." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "queries", + "id" + ] + }, + "search.retrieve_link_content": { + "type": "object", + "description": "Retrieves targeted content from web pages using LLM URL extraction. Can optionally output a second column containing a clean, human-readable text summary of the retrieved data.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "array" + ], + "description": "Name or list of input columns containing URLs or Scored Search Result dictionaries." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column for the raw dictionaries. To output BOTH the raw dictionaries and the formatted text, provide a list of exactly two column names (e.g., [page_data, page_text]).", + "default": null + }, + "client": { + "type": "string", + "enum": [ + "google_url_context" + ], + "description": "The retrieval provider to use.", + "default": "google_url_context" + }, + "api_key": { + "type": [ + "string", + "null" + ], + "description": "API key for the provider. Can also be set as an environment variable (e.g., GOOGLE_API_KEY).", + "default": null + }, + "prompt": { + "type": [ + "string", + "null" + ], + "description": "Optional custom system prompt to guide the extraction behavior and output format.", + "default": null + }, + "model_id": { + "type": "string", + "description": "The specific model ID to use (default models/gemini-3-flash-preview).", + "default": "models/gemini-3-flash-preview" + }, + "output_format": { + "type": "string", + "enum": [ + "markdown", + "json" + ], + "description": "The desired format for the extracted content.", + "default": "json" + }, + "threads": { + "type": "integer", + "description": "Number of concurrent threads for parallel processing (default 10).", + "default": 10 + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "select.columns": { + "type": "object", + "description": "Select columns from the dataframe.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the column(s) to select." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "select.dictionary_element": { + "type": "object", + "description": "Select one or more element of a dictionary.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "element": { + "type": "string", + "description": "The key or keys from the dictionary to select. If a single key is provided, the value will be returned If a lists of keys are selected, the result will be a new dictionary." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column. If omitted, the input column will be replaced.", + "default": null + }, + "default": { + "type": [ + "string", + "number", + "array", + "object", + "boolean", + "null" + ], + "description": "Set the default value to return if the specified element doesn't exist. If selecting multiple elements, a dict of defaults can be set.", + "default": "" + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "element" + ] + }, + "select.element": { + "type": "object", + "description": "Select elements of lists or dicts using python syntax like col[0]['key'].", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column and sub elements This permits by index for lists or dict and by key for dicts e.g. col[0]['key'] // [{\"key\":\"val\"}] -> \"val\"." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column(s).", + "default": null + }, + "default": { + "type": [ + "string", + "number", + "array", + "object", + "boolean", + "null" + ], + "description": "Set the default value to return if the specified element doesn't exist.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "select.group_by": { + "type": "object", + "description": "Group and aggregate the data.", + "additionalProperties": false, + "properties": { + "by": { + "type": [ + "string", + "array" + ], + "description": "List of the input columns to group on.", + "default": [] + }, + "auto_rename_columns": { + "type": "boolean", + "description": "If true (default), aggregated column names include the operation as a suffix (e.g. Value.sum). If false, column names are left as-is; use a dictionary entry to supply a custom output name (e.g. - Value: Total).", + "default": true + }, + "list": { + "type": [ + "string", + "array" + ], + "description": "Group and return all values for these column(s) as a list." + }, + "first": { + "type": [ + "string", + "array" + ], + "description": "The first value for these column(s)." + }, + "last": { + "type": [ + "string", + "array" + ], + "description": "The last value for these column(s)." + }, + "min": { + "type": [ + "string", + "array" + ], + "description": "The minimum value for these column(s)." + }, + "max": { + "type": [ + "string", + "array" + ], + "description": "The maximum value for these column(s)." + }, + "mean": { + "type": [ + "string", + "array" + ], + "description": "The mean (average) value for these column(s)." + }, + "median": { + "type": [ + "string", + "array" + ], + "description": "The median value for these column(s)." + }, + "nunique": { + "type": [ + "string", + "array" + ], + "description": "The count of unique values for these column(s)." + }, + "count": { + "type": [ + "string", + "array" + ], + "description": "The count of values for these column(s)." + }, + "counts": { + "type": [ + "string", + "array" + ], + "description": "Return a dictionary containing the count of each distinct value for these column(s). Keys are converted to JSON-safe strings; missing values use the key \"null\" and booleans use lowercase \"true\"/\"false\"." + }, + "std": { + "type": [ + "string", + "array" + ], + "description": "The standard deviation of values for these column(s)." + }, + "sum": { + "type": [ + "string", + "array" + ], + "description": "The total of values for these column(s)." + }, + "any": { + "type": [ + "string", + "array" + ], + "description": "Return true if any of the values for these column(s) are true." + }, + "all": { + "type": [ + "string", + "array" + ], + "description": "Return true if all of the values for these column(s) are true." + }, + "p75": { + "type": [ + "string", + "array" + ], + "description": "Get a percentile. Note, you can use any integer here for the corresponding percentile." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "patternProperties": { + "^custom\\.[A-Za-z_][A-Za-z0-9_]*$": { + "type": [ + "string", + "array" + ], + "description": "Placeholder for custom functions. Replace 'placeholder' with the name of the function." + } + } + }, + "select.head": { + "type": "object", + "description": "Return the first n rows.", + "additionalProperties": false, + "properties": { + "n": { + "type": "integer", + "description": "Number of rows to return." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "n" + ] + }, + "select.highest_confidence": { + "type": "object", + "description": "Select the option with the highest confidence from multiple columns. Inputs are expected to be of the form [<>, <>].", + "additionalProperties": false, + "properties": { + "input": { + "type": "array", + "description": "List of the input columns to select from." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "If two columns; the result and confidence. If one column; [result, confidence]." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "select.left": { + "type": "object", + "description": "Return characters from the left of text. Strings shorter than the length defined will be unaffected.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the column(s) to edit." + }, + "length": { + "type": "integer", + "description": "Number of characters to include from the left. If negative, this will remove the specified number of characters from the left. May not equal 0." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column(s).", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "length" + ] + }, + "select.length": { + "type": "object", + "description": "Calculate the lengths of data in a column. The length depends on the data type e.g. text will be the length of the text, lists will be the number of elements in the list.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column(s)." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column(s).", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "select.list_element": { + "type": "object", + "description": "Select a numbered element of a list (zero indexed).", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the input column." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column.", + "default": null + }, + "element": { + "type": "integer", + "description": "The numbered element of the list to select. Starts from zero. This may use python slicing syntax to select a subset of the list.", + "default": 0 + }, + "default": { + "type": [ + "string", + "number", + "array", + "object", + "boolean", + "null" + ], + "description": "Set the default value to return if the specified element doesn't exist.", + "default": "" + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "select.right": { + "type": "object", + "description": "Return characters from the right of text. Strings shorter than the length defined will be unaffected.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the column(s) to edit." + }, + "length": { + "type": "integer", + "description": "Number of characters to include from the right. If negative, this will remove the specified number of characters from the right. May not equal 0." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column(s).", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "length" + ] + }, + "select.sample": { + "type": "object", + "description": "Return a random sample of the rows.", + "additionalProperties": false, + "properties": { + "rows": { + "type": [ + "integer", + "number" + ], + "exclusiveMinimum": 0, + "description": "If a whole number, will select that number of rows. If a decimal between 0 and 1 will select that fraction of the rows e.g. 0.1 => 10% of rows will be returned." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "rows" + ] + }, + "select.substring": { + "type": "object", + "description": "Return characters from the middle of text.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the column(s) to edit." + }, + "start": { + "type": [ + "integer", + "null" + ], + "minimum": 1, + "description": "The position of the first character to select. If ommited will start from the beginning and length must be provided.", + "default": null + }, + "length": { + "type": [ + "integer", + "null" + ], + "minimum": 1, + "description": "The length of the string to select. If ommited will select to the end of the string and start must be provided.", + "default": null + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column(s).", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "select.tail": { + "type": "object", + "description": "Return the last n rows.", + "additionalProperties": false, + "properties": { + "n": { + "type": "integer", + "description": "Number of rows to return." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "n" + ] + }, + "select.threshold": { + "type": "object", + "description": "Select the first option if it exceeds a given threshold, else the second option.", + "additionalProperties": false, + "properties": { + "input": { + "type": "array", + "description": "List of the input columns to select from." + }, + "output": { + "type": "string", + "description": "Name of the output column." + }, + "threshold": { + "type": "number", + "minimum": 0, + "maximum": 1, + "description": "Threshold above which to choose the first option, otherwise the second." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output", + "threshold" + ] + }, + "similarity": { + "type": "object", + "description": "Calculate the cosine similarity of two vectors.", + "additionalProperties": false, + "properties": { + "input": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "description": "Two columns of vectors to compare the similarity of." + }, + "output": { + "type": "string", + "description": "Name of the output column." + }, + "method": { + "type": "string", + "enum": [ + "cosine", + "adjusted cosine", + "euclidean" + ], + "description": "The type of similarity to calculate (cosine or euclidean). Adjusted cosine adjusts the default cosine calculation to cover a range of 0-1 for typical comparisons.", + "default": "cosine" + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "sort": { + "type": "object", + "description": "Sort the data.", + "additionalProperties": false, + "properties": { + "ignore_index": { + "type": "boolean", + "description": "Ignore Index value accepted by the runtime.", + "default": true + }, + "by": { + "type": [ + "string", + "array" + ], + "description": "Name or list of the column(s) to sort by." + }, + "ascending": { + "type": [ + "boolean", + "array" + ], + "items": { + "type": "boolean" + }, + "description": "Sort ascending vs. descending. Specify a list to sort multiple columns in different orders. If this is a list of bools then it must match the length of the by." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "by" + ] + }, + "split.dictionary": { + "type": "object", + "description": "Split one or more dictionaries into columns. The dictionary keys will be returned as the new column headers. If the dictionaries contain overlapping values, the last value will be returned.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name or lists of the column(s) containing dictionaries to be split. If providing multiple dictionaries and the dictionaries contain overlapping values, the last value will be returned." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "In columns output_format, this is an optional subset of keys to extract from the dictionary. If not provided, all keys will be returned. Columns can be renamed with the following syntax: output: - key1: new_column_name1 - key2: new_column_name2 In to_lists output_format, this must be two output columns for the keys and values lists. If not provided, Keys and Values will be used.", + "default": null + }, + "default": { + "type": [ + "object", + "null" + ], + "description": "Provide a set of default headings and values if they are not found within the input.", + "default": null + }, + "output_format": { + "type": "string", + "enum": [ + "columns", + "to_lists" + ], + "description": "How to split the dictionary. columns creates one output column for each dictionary key. to_lists creates two output columns containing lists of keys and values.", + "default": "columns" + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "split.list": { + "type": "object", + "description": "Split a list in a single column to multiple columns.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer" + ], + "description": "Name of the column to be split." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "Name of column(s) for the results. If providing a single column, use a wildcard (*) to indicate a incrementing integer." + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output" + ] + }, + "split.text": { + "type": "object", + "description": "Split a string to multiple columns or a list.", + "additionalProperties": false, + "properties": { + "input": { + "type": "string", + "description": "Name of the column to be split." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column(s) If a single column is provided, the results will be returned as a list If multiple columns are listed, the results will be separated into the columns. If omitted, will overwrite the input.", + "default": null + }, + "char": { + "type": "string", + "description": "Set the character(s) to split on. Default comma (,) Can also prefix with \"regex:\" to split on a pattern.", + "default": "," + }, + "pad": { + "type": [ + "boolean", + "null" + ], + "description": "Choose whether to pad to ensure a consistent length. Default true if outputting to columns, false for lists.", + "default": null + }, + "element": { + "type": [ + "string", + "integer", + "null" + ], + "description": "Select a specific element or range after splitting using slicing syntax. e.g. 0, \":5\", \"5:\", \"2:8:2\".", + "default": null + }, + "inclusive": { + "type": "boolean", + "description": "If true, include the split character in the output. Default False.", + "default": false + }, + "skip_empty": { + "type": "boolean", + "description": "Whether to skip empty values.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "split.tokenize": { + "type": "object", + "description": "Split text into tokens. A variety of methods are available. The default method is to split on spaces.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Column(s) to be split into tokens." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name of the output column.", + "default": null + }, + "method": { + "anyOf": [ + { + "type": "string", + "enum": [ + "space", + "boundary", + "boundary_ignore_space" + ] + }, + { + "type": "string" + } + ], + "description": "Method to split the list. Options include `space`, `boundary`, `boundary_ignore_space`, custom functions as `custom.`, or regex patterns as `regex:`.", + "default": "space" + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "sql": { + "type": "object", + "description": "Apply a SQL command to the current dataframe. Only SELECT statements are supported - the result will be the output.", + "additionalProperties": false, + "properties": { + "command": { + "type": "string", + "description": "SQL Command. The table is called df. For specific SQL syntax, this uses the SQLite dialect." + }, + "params": { + "type": [ + "array", + "object", + "null" + ], + "description": "Variables to use in conjunctions with query. This allows the query to be parameterized. This uses sqlite syntax (? or :name).", + "default": null + }, + "preserve_index": { + "type": "boolean", + "description": "Preserve Index value accepted by the runtime.", + "default": false + }, + "preserve_data_types": { + "type": "boolean", + "description": "Preserve Data Types value accepted by the runtime.", + "default": true + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "command" + ] + }, + "standardize.clean": { + "type": "object", + "description": "Repair common encoding, Unicode, HTML character reference, control character, and whitespace problems locally.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name or list of input columns." + }, + "output": { + "type": [ + "string", + "integer", + "array", + "null" + ], + "description": "Name or list of output columns. Defaults to overwriting input.", + "default": null + }, + "fix_encoding": { + "type": "boolean", + "description": "Repair mojibake and other reversible encoding errors.", + "default": true + }, + "unescape_html": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string", + "enum": [ + "auto" + ] + } + ], + "description": "Decode HTML character references. Auto avoids decoding text that appears to contain HTML markup.", + "default": "auto" + }, + "normalization": { + "type": "string", + "enum": [ + "NFC", + "NFKC", + "NFD", + "NFKD", + null + ], + "description": "Unicode normalization form.", + "default": "NFC" + }, + "fix_character_width": { + "type": "boolean", + "description": "Normalize fullwidth and halfwidth characters.", + "default": true + }, + "uncurl_quotes": { + "type": "boolean", + "description": "Replace typographic quotes with straight quotes.", + "default": true + }, + "remove_control_chars": { + "type": "boolean", + "description": "Remove C0 and C1 control characters.", + "default": true + }, + "collapse_whitespace": { + "type": "boolean", + "description": "Collapse runs of Unicode whitespace.", + "default": true + }, + "preserve_line_breaks": { + "type": "boolean", + "description": "Preserve line breaks while collapsing other whitespace.", + "default": false + }, + "trim": { + "type": "boolean", + "description": "Remove leading and trailing whitespace.", + "default": true + }, + "separator": { + "type": "string", + "description": "Text used to join multiple input columns into one output.", + "default": " " + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input" + ] + }, + "standardize.custom": { + "type": "object", + "description": "Standardize data using a DIY or bespoke standardization wrangle. Requires WrangleWorks Account and Subscription.", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name or list of input columns." + }, + "model_id": { + "type": [ + "string", + "array" + ], + "description": "The ID of the wrangle to use (do not include 'find' and 'replace')." + }, + "output": { + "type": [ + "string", + "array", + "null" + ], + "description": "Name or list of output columns.", + "default": null + }, + "case_sensitive": { + "type": "boolean", + "description": "Allows the wrangle to be case sensitive if set to True, default is False.", + "default": false + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "model_id" + ] + }, + "translate": { + "type": "object", + "description": "Translate the input to a different language. Requires WrangleWorks Account and DeepL API Key (A free account for up to 500,000 characters per month is available).", + "additionalProperties": false, + "properties": { + "input": { + "type": [ + "string", + "integer", + "array" + ], + "description": "Name of the column to translate." + }, + "output": { + "type": [ + "string", + "array" + ], + "description": "Name of the output column." + }, + "target_language": { + "type": "string", + "enum": [ + "Bulgarian", + "Chinese", + "Czech", + "Danish", + "Dutch", + "English (American)", + "English (British)", + "Estonian", + "Finnish", + "French", + "German", + "Greek", + "Hungarian", + "Italian", + "Japanese", + "Latvian", + "Lithuanian", + "Polish", + "Portuguese", + "Portuguese (Brazilian)", + "Romanian", + "Russian", + "Slovak", + "Slovenian", + "Spanish", + "Swedish" + ], + "description": "Code of the language to translate to." + }, + "source_language": { + "type": "string", + "enum": [ + "Auto", + "Bulgarian", + "Chinese", + "Czech", + "Danish", + "Dutch", + "English", + "Estonian", + "Finnish", + "French", + "German", + "Greek", + "Hungarian", + "Italian", + "Japanese", + "Latvian", + "Lithuanian", + "Polish", + "Portuguese", + "Romanian", + "Russian", + "Slovak", + "Slovenian", + "Spanish", + "Swedish" + ], + "description": "Code of the language to translate from. If omitted, automatically detects the input language." + }, + "case": { + "type": [ + "string", + "null" + ], + "description": "Allow changing the case of the input prior to translation.", + "default": null + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + }, + "required": [ + "input", + "output", + "target_language" + ] + }, + "transpose": { + "type": "object", + "description": "Transpose the DataFrame (swap columns to rows).", + "additionalProperties": false, + "properties": { + "header_column": { + "type": [ + "string", + "integer", + "null" + ], + "description": "Name or position of the column that will be used as the column headings for the transposed DataFrame. Default 0 (first column). Use header_column = null to not use any column as header.", + "default": 0 + }, + "if": { + "type": "string", + "description": "Condition that determines whether the wrangle runs as a whole. Recipe variables may be referenced with `${variable}`." + }, + "where": { + "type": "string", + "description": "Filter rows before applying the wrangle using SQL-like criteria, such as `column1 = 123 OR column2 = 'abc'`." + }, + "where_params": { + "type": [ + "array", + "object" + ], + "description": "Values used with `where` for parameterized criteria. Uses SQLite placeholder syntax such as `?` or `:name`." + } + } + } + } + } + }, + "write": { + "items": { + "type": "object", + "description": "One write connector step from the wider recipe contract.", + "minProperties": 1, + "maxProperties": 1 + } + } + } +}