Skip to content

Synchronize main into dev staging destination - #1111

Merged
ebhills merged 66 commits into
devfrom
sync/main-into-dev-2026-08-02
Aug 2, 2026
Merged

Synchronize main into dev staging destination#1111
ebhills merged 66 commits into
devfrom
sync/main-into-dev-2026-08-02

Conversation

@ebhills

@ebhills ebhills commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • merge current main into the dev staging destination through a dedicated sync branch
  • preserve the intentional dev package version (1.19.4) and deterministic release regression coverage
  • adopt the current main workflow and extract implementations
  • resolve six overlapping files without force-moving either long-lived branch

Why

dev had diverged from production: 65 commits existed only on main, while 8 commits existed only on dev. This PR restores main as an ancestor of dev while retaining the intentional staging delta.

Conflict resolution

The workflow and extract implementation conflicts use current main as the production baseline. The retained staging delta is limited to:

  • setup.py
  • tests/recipes/wrangles/test_extract.py
  • tests/test_wrangles.py

These preserve the staging package version, deterministic translation mocks, multi-input match-list coverage, and input/output-length validation.

Validation

  • 28 focused tests passed
  • merged Python files compile
  • all workflow YAML files parse
  • no unmerged paths remain
  • sync tree differs from current main in only the three intentional files above

Merge direction

This PR is sync/main-into-dev-2026-08-02dev. It must be merged with Create a merge commit so the main ancestry is retained. Do not squash or rebase this synchronization PR.

mborodii-prog and others added 30 commits March 23, 2026 11:30
Remove wildcard expansion check from log messages.
…inished

add_log_info_when_wrangle_finished
…h-all-floats

Coalesce broken with all floats
- compute.py: keep both _UNSET sentinel (PR) and numpy/_compute/_format imports (main)
- test_wrangles.py: use main's prefix-slice translation assertions
- test_compute.py: keep PR's new case_when boolean/multi-column tests alongside main's TestScoreSearchResults class
- Remove forced dtype=object to preserve numeric dtypes (Copilot + thomasstvr)
- Add numpy.select fallback for pandas < 2.2 which lacks Series.case_when (Copilot)
- Fix docstring: NaN -> pd.NA to match actual behavior (Copilot)
- Fix YAML test: default: None -> default: null (None is a string in PyYAML, null is Python None) (Copilot)
…numpyselect-rather-than-pandascase_when

why-is-case_when-using-numpyselect-rather-than-pandascase_when
* The Akeneo connector should also be able to read.
* Move optional packages to separate requirements file
* Accept path objects in read / write / run recipe
* Remove illegal characters when writing to Excel
* add new Action pipeline to create the release candidate package

* apply the latest fixes for the pipeline to deploy release candidate packages

* adjust the translate test to make them more robust

* adjust the asset-lookup equal
mborodii-prog and others added 26 commits June 30, 2026 20:06
The delete endpoint is /model/content (consistent with all other model
operations), not /model/delete. Tests now mock the HTTP delete call since
the backend endpoint is gated on API-Core PR #111.

Co-Authored-By: Mariia Borodii <mborodii@binariks.com>
* Add DuckDB and Microsoft Access connectors

Add DuckDB read/write/run connector with recipe schemas
Add Microsoft Access read/write/run connector via ODBC
Export new connectors from wrangles.connectors
Document optional duckdb and pyodbc dependencies
Add connector tests for DuckDB and Access

* fix translate tests

* fix duckdb tests

---------

Co-authored-by: Eric Hills <53243273+ebhills@users.noreply.github.com>
* Add split.dictionary to_lists mode

* fix tests

* renamed parameters
* Add n parameter to lookup for multi-match retrieval

* n!=1 always returns a dict per match, allow * expansion for output

* fix translate tests

* Patch setup.py to use requirements-full.txt

* implemented wildcard output expansion
* Create Column should NOT error if column exists

* Added new value_if_exists and coalesce_value parameters to handle logic if column preexists
* 496 selectkeys (#1033)

* Add split.dictionary to_lists mode

* Fix where skipping wrangles when all rows are filtered out

* 1005 bug where passes empty dataframe (#1034)

* enable package build on main branch

* 956 create column should not error if column exists (#1036)

* Create Column should NOT error if column exists

* install full package list

* 990 enhancement add n to lookup params (#1037)

* Add n parameter to lookup for multi-match retrieval

* 985 enhancement allow list of onemultiple defaults (#1039)

* convert.from_json and convert.from_yaml accept default as a list when input is also a list

* 985-enhancement-allow-list-of-onemultiple-defaults

* column-shift bug in wrangles/recipe.py

* Revert "Merge branch 'dev' into 1005-bug-where-passes-empty-dataframe"

This reverts commit a6b9b57, reversing
changes made to af67032.

* publesh dev rc

* skip pre-creating output columns
eliminate error when occasional strings get mixed in with mostly numbers
* allow rename to skip missing inputs when output exists

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Eric Hills <53243273+ebhills@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…880)

 -  817-output-empty-string-when-extract-use_labels-does-not-get-a-match-mae
 -  add new param that can toggle off these empty labels
 -  add param to format use_labels output as dict or columns
* Implement consistent extract output formatting

* support sict and list parameters

* add log messages

* Simplify extract output_format: drop output_column_name, infer Columns from output list

* Treat explicit single-item output lists as Columns format in extract wrangles

* Normalize extract output_format enums to lowercase; rename String to Concatenate and delimiter to char

* Default extract.brackets output_format to list, matching other extract wrangles

brackets was the only extract.* wrangle that defaulted to a
concatenated string instead of a JSON list when output_format was
unspecified. Columns and Concatenate remain available as explicit
output_format choices.

* fix failing tests
Removed Python version 3.12 from the workflow matrix.
#987)

* convert.from_json and convert.from_yaml accept default as a list when input is also a list

* 985-enhancement-allow-list-of-onemultiple-defaults

* Address review feedback on convert.from_json/from_yaml default lists

* Fixed test dummy data in test_convert.py so input column values match their default types

* fix publish dev rc

* add real tests

* update timeout for test to avoid intermittent failures
* Standardize on eol=lf

adopt linux convention so that  local windows development does create back & forth line end diffs.

* Add EditorConfig support

Add a repository-wide `.editorconfig` to standardize encoding, line endings, final newlines, and whitespace handling, with Windows overrides for batch files and preserved trailing whitespace in Markdown. The devcontainer now also installs the EditorConfig VS Code extension so those rules apply automatically in the development environment.

* Refresh devcontainer setup for Python 3.13

Update the shared devcontainer to use the Python 3.13 base image, install the full editable development environment, and improve VS Code defaults for YAML and Python tooling. Add Windows-specific Docker Desktop startup guidance with a helper script, and sync the Copilot instructions with the current local setup and test dependencies.

* Update copilot-instructions.md
goal is to have a dev schema that reflects new / changes
#1022)

* update extract.codes recipe schema to match the Wrangles-Extract-Codes microservice

* Update extract.codes schema and tolerant tests
…gle-wrangle

add train.delete to delete a model by model_id
…here

Fix recipe schema so nested recipe: wrangles accept where
Merge pull request #1101 from wrangleworks/1100-bug-extractcustom-outputs-a-string-unless-output_format-is-specifically-set-to-list
Preserve the dev package version and deterministic release regressions while adopting current main workflow and extract implementations. Resolve the six overlapping files against main, then retain focused coverage for multi-input list merging, input/output length validation, and mocked translation boundaries.
@ebhills ebhills self-assigned this Aug 2, 2026
@ebhills
ebhills marked this pull request as ready for review August 2, 2026 21:42
@ebhills
ebhills merged commit 44c9450 into dev Aug 2, 2026
4 checks passed
@ebhills
ebhills deleted the sync/main-into-dev-2026-08-02 branch August 2, 2026 21:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants