Repository navigation
WranglesPY 1.20.5 adds structured AI answers, AI Mode search, more flexible saved extraction models, and clearer spreadsheet recipe inputs and outputs. It also improves AI model configuration, URL retrieval, and error handling.
New Additions
- Added
ai.choose,ai.score,ai.true_false, andai.answersfor structured answers through Typesafe Jev. Questions can use values from each row and expand over candidate lists or dictionaries withfor_each. #1202, #1205 - Added
search.ai_modefor Markdown search answers that can feed downstream structured extraction. #1188 - Added
convert.parseto turn JSON-like cell values, including supported Python and YAML-style structures, into usable objects. #1187 - Added
lookup.keyandlookup.semanticwith explicit validation of the saved lookup model type. Existinglookupcalls remain supported. #1198 - Added
grid.selected_dataandexcel.selected_datafor reading the calling spreadsheet selection, plusexcel.columns(fkadataframe) for writing result columns separately fromexcel.sheetoutput in WranglesXL. #1221
Enhancements
compute.score_search_resultsnow includespart_code_matchesandpart_code_match_countinside each scored result, making the matching evidence easier to inspect. Numeric scores, filtering, result order, and the existing one/two-column output formats are unchanged. #1229- Saved Extract-AI models support richer field definitions, including nested objects and arrays, allowed values, nullability, and examples. General Instructions remain compatible with existing saved definitions. #1184
- AI model defaults are centrally configurable, with
gpt-6-lunaselected for extraction. Explicit settings and saved model selections retain their precedence, and version-1 configuration files remain supported. #1200 - Extraction recipes now accept simple effort settings such as
reasoning: nonealongside the existing nested form,reasoning: {effort: none}. Both forms preserve explicit overrides and the extraction default ofnone; unsupported settings produce a provider error. #1226 - URL retrieval prompts can reference values from the full input row. Gemini retrieval adds configurable thinking controls and per-URL deadlines, with Gemini 3.5 Flash as the configured default. #1208, #1216
- New documentation guides for advanced Wrangles including
extract.aiandcompute.score_search_results.
Bug Fixes
- Write filters using
not_columnsnow ignore missing column names while still excluding columns that exist. #1228 split.dictionarynow applies an explicitly supplied default to invalid input cells and null-valued keys, while preserving valid values and keeping mutable defaults independent between rows. #1224- Custom functions bind positional inputs correctly when their parameters have defaults. #1166
- Matrix execution now propagates child failures instead of silently swallowing them. #1165
- Gemini retrieval handles temperature settings correctly and reports empty responses more clearly. #1212
- AI Mode result cleanup preserves useful Google product references in search answers. #1197
Breaking Changes
- The public
wrangles.openai.chatGPTwrapper has been removed. Usewrangles.extract.ai; legacy Chat Completions remains available through itsprotocoloption. #1200 - Composed reads now report an error when an expected selected-data operand is missing or empty. Recipes using selected-data joins must supply the required input. #1221
Developer and Release Improvements
- Added Python 3.14 compatibility and CI coverage. #1191
- CI now checks that the credential-free local test configuration stays in sync with the test suite. Search tests also handle requested result counts as limits rather than guaranteed counts. #1159, #1214
Full Changelog: v1.20.4.1...v1.20.5