Skip to content

feat!: remove use of eval in tabular filters#278

Merged
aaron-hopkinson merged 1 commit into
mainfrom
fix/remove_eval
Apr 20, 2026
Merged

feat!: remove use of eval in tabular filters#278
aaron-hopkinson merged 1 commit into
mainfrom
fix/remove_eval

Conversation

@aaron-hopkinson
Copy link
Copy Markdown
Contributor

Description

Removes potentially unsafe use of eval in tabular filters – specifically the apply_column_transformations and mask filters.

Breaking change: passing arbitrary functions is no longer allowed. There is also a change in the configuration of the tabular version of mask (benefit: more closer alignment with field version of the filter).The config is now a dictionary: mapping column names to a masking specification (which is another dictionary containing value and (optional) operator keys.)

As a contributor to the Anemoi framework, please ensure that your changes include unit tests, updates to any affected dependencies and documentation, and have been tested in a parallel setting (i.e., with multiple GPUs). As a reviewer, you are also responsible for verifying these aspects and requesting changes if they are not adequately addressed. For guidelines about those please refer to https://anemoi.readthedocs.io/en/latest/

By opening this pull request, I affirm that all authors agree to the Contributor License Agreement.

@aaron-hopkinson aaron-hopkinson self-assigned this Apr 20, 2026
@github-actions github-actions Bot added tests and removed tests labels Apr 20, 2026
@aaron-hopkinson aaron-hopkinson merged commit b330a6d into main Apr 20, 2026
71 of 73 checks passed
@aaron-hopkinson aaron-hopkinson deleted the fix/remove_eval branch April 20, 2026 10:48
aaron-hopkinson pushed a commit that referenced this pull request Apr 22, 2026
🤖 Automated Release PR

This PR was created by `release-please` to prepare the next release.
Once merged:

1. A new version tag will be created
2. A GitHub release will be published
3. The changelog will be updated

Changes to be included in the next release:
---


##
[0.3.0](0.2.0...0.3.0)
(2026-04-22)


### ⚠ BREAKING CHANGES

* remove use of eval in tabular filters
([#278](#278))

### Features

* `apply-mask` (field) filter allows using another field as the mask
([#277](#277))
([76074d4](76074d4))
* Add support for units compatibility
([#258](#258))
([709dc72](709dc72))
* Deduplicate and reuse code from anemoi utils
([#281](#281))
([c97ac48](c97ac48))
* Remove use of eval in tabular filters
([#278](#278))
([b330a6d](b330a6d))

---
> [!IMPORTANT]
> Please do not change the PR title, manifest file, or any other
automatically generated content in this PR unless you understand the
implications. Changes here can break the release process.
> ⚠️ Merging this PR will:
> - Create a new release
> - Trigger deployment pipelines
> - Update package versions

 **Before merging:**
 - Ensure all tests pass
 - Review the changelog carefully
 - Get required approvals

[Release-please
documentation](https://github.com/googleapis/release-please)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant