Func-adl

Latest version: v3.3.3

Safety actively analyzes 710445 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 10

3.0

This is a major release. Old queries against old backends should work without any changes. However, you'll need a new backend to take advantage of most of the new features.

Features marked with a ** require the new backend.

New Features in the language

* C++ Code injection can be done via a decorator
* List comprehension and Generator expressions are now supported, automatically turned into `func_adl` statements. This is particularly helpful when doing 2-object matching.
* Local and global variables are properly captured in `lambda`'s.

New Features in the infrastructure

* Support for Query Metadata. This metadata is sent to the backend without being touched **
* Support for in-query Metadata. This metadata is not sent to the backend, but can be extracted from the query. The in-query metadata can be overridden by setting a value more than once. **
* A Fully typed `ObjectStream` is supported via Generics. Various editors that type-follow will be able to correctly predict methods, etc., that are available. You'll need a complete object model for this to work (see the [`func_adl_servicex_xaodr21`](https://pypi.org/project/func-adl-servicex-xaodr21/) package) **
* Python 10 is supported.

The PR's

* Add a function to allow MetaData over the wire by gordonwatts in https://github.com/iris-hep/func_adl/pull/78
* Added typing into ObjectStream by gordonwatts in https://github.com/iris-hep/func_adl/pull/80
* Support Python 10 by gordonwatts in https://github.com/iris-hep/func_adl/pull/86
* Extensability via the type system by gordonwatts in https://github.com/iris-hep/func_adl/pull/82
* Pythonic Decorators for Code Injection by gordonwatts in https://github.com/iris-hep/func_adl/pull/87
* Support Lambda Capture by gordonwatts in https://github.com/iris-hep/func_adl/pull/88
* Turning on black as a formatter by gordonwatts in https://github.com/iris-hep/func_adl/pull/89
* Parameterized Method Calls by gordonwatts in https://github.com/iris-hep/func_adl/pull/90
* Pr_query_metadata by gordonwatts in https://github.com/iris-hep/func_adl/pull/91
* Support ListComp and Generator expressions by gordonwatts in https://github.com/iris-hep/func_adl/pull/92
* Fixes to get a version that runs in production by gordonwatts in https://github.com/iris-hep/func_adl/pull/94
* More robust parsing of ast's from callables by gordonwatts in https://github.com/iris-hep/func_adl/pull/97
* Regression (untested) for lambdas continuing accross lines by gordonwatts in https://github.com/iris-hep/func_adl/pull/98
* Calls to AsXXX with column names as single items or single arrays should be the same by gordonwatts in https://github.com/iris-hep/func_adl/pull/99
* Bug Fix: argument names should override captured variables by gordonwatts in https://github.com/iris-hep/func_adl/pull/100


**Full Changelog**: https://github.com/iris-hep/func_adl/compare/2.3...3.0

3.0b10

3.0b9

* More robust in finding and parsing source code in methods
* Ability to provide the finder hints

3.0b8

Minor bug when any's get used in `IfExpr`. I get the feeling for untyped stuff, we'll be finding a lot of things like this.

3.0b7

Can run the complete notebook that demos `xaod_usage`

* Do not require clients to install the func-adl.ast package.
* Fix bug in how QMetaData updates items in its dict (overriden items were ignored!)
* Add a warning if there is a lambda that isn't scanned for type forwarding
* Fix bug where function names were being captured during lambda resolution
* Move to a single package rather than two (no more .ast). This is certianly a breaking change!

3.0b6

* incorrect `__init__` file - made meta data clearing for the unreleased version of `func_adl_servicex` fail.
* `QMetaData` was not dealing with updated items properly.

Page 5 of 10

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.