Skip to content

Releases: iris-hep/func_adl

Don't add a null-length MetaData to stream

13 Jul 18:09
Compare
Choose a tag to compare

Minor bug fix

What's Changed

Full Changelog: 3.2.5...3.2.6

3.2.5 - Retain original instance of ObjectStream

16 Jun 21:08
1edcbfb
Compare
Choose a tag to compare
Allow object stream operations to retain original subclass (#122)

The new ServiceX Client needs to be able to pass state related to its subclass of ObjectStream from each func_adl statement on to the next. This change makes use of a deep copy of the target object and returns that from the func_adl verbs (Select, SelectMany, Where) that way at the end of the select we still have access to the original instance.

Support for new ServiceXClient

05 Jun 17:54
Compare
Choose a tag to compare
Pre-release

Maintain the identity of the object stream subclass and don't downcast to ObjectStream

Bug Fix: Do not alter python run-time types

22 Mar 19:57
9be9f18
Compare
Choose a tag to compare

This fixes a bug discovered by Haoran and Callum - if you ask for two different typed collections one after the other, the type propagation system gets very confused because I was accidentally modifying a Python runtime type. This fixes that.

What's Changed

Full Changelog: 3.2.3...3.2.4

Do not alter python runtime types at... runtime

22 Mar 19:43
Compare
Choose a tag to compare

Testing the fix for runtime type alterations.

Full Changelog: 3.2.2...3.2.4b1

Use function names as clues for parsing

24 Feb 08:13
2e4b59e
Compare
Choose a tag to compare

This is a bug-fix release to address a regression. The following should have parsed correctly but was failing with a "multiple-lambdas on one line" error:

  • ds.Where(lambda e: e.met > 10).Select(lambda e: e.met)

What's Changed

Full Changelog: 3.2.2...3.2.3

Update package metadata

15 Feb 06:09
Compare
Choose a tag to compare

Minor updates to incorrect package metadata for pypi.

Full Changes

Full Changelog: 3.2...3.2.2

Release

14 Feb 18:13
6e617ee
Compare
Choose a tag to compare

There is something very broken about the last release, trying again.

Lambda Parsing Bug Fix

12 Feb 10:20
6e617ee
Compare
Choose a tag to compare

The engine that finds lambda's for translation in source code has received a major upgrade/change. It now uses the builtin python tokenize module.

  • This makes it much more robust when dealing with comments, new lines, and other oddities.
  • More safely checks are built in to catch mistakes in matching lambda expressions to the intended code.

There is one regression - which is caused because this code is more rigorous in how it treats the source code: Using the python \ continuation character means that the line is really treated as a single line. This was not the case with the previous version of the parser. This may cause some expressions that work now to fail upon upgrade. You can just change the argument name, use ( and ) around the whole expression to get rid of the continuation characters, etc. to get your code quickly working again. You'll get an exception if this happens suggesting one of these two approaches if your code is affected.

What's Changed

Full Changelog: 3.1.2...3.2

Lambda Parsing Upgrade

12 Feb 10:03
Compare
Choose a tag to compare
Pre-release

Moving to a new tokenizer (the builtin one!!) for finding where lambda' expressions are!

What's Changed

Full Changelog: 3.1.2...3.2b1