Meeting Minutes === ###### tags: `Templates` `Meeting` :::info - **Location:** https://ucdenver.zoom.us/j/97994358165 - **Date:** November 17, 2022, 2:30 PM Mountain - **Participants:** - Amy Roberts (AR) - - **Meeting Goal(s)** - Identify action items for data-description language (Kaitai!) ::: ## Summary <!-- Please fill me in after the meeting --> ## Notes <!-- Other important details discussed during the meeting can be entered here. --> - made a OSF project so we can share protected links, - Jim notes that Kaitai requires re-compilation for new data formats. An example where this would be needed would be ROOT files, which can have different byte layouts with custom data types - Kaitai is quite complex, so making a compiler that re-creates all its features for e.g. AwkwardForth would be quite a large project - Jim suggests: - Modify the Kaitai C++ compiler code so that it also inserts the LayoutBuilder code so that it generates code for Awkward Array, which is useful from both C++ libraries and python. - Who could work on this? - [Manasvi Goyal](https://iris-hep.org/fellows/ManasviGoyal.html). How much funding do we need for one year, does that fit in her timescale, where does that funding come from? IRIS-HEP fellows are paid $3000 for three months? - Andrea Zonca has time on this grant - Jim has an alternative motive! EventIO is used in gamma astronomy and they want to use it in python ([ctapipe](https://github.com/cta-observatory/ctapipe)) - Amy would like to form a group of people other than CDMS we can use to test out our project - Kacper's issue with Kaitai - It's a fairly complicated language! Writing the description of data from scratch is difficult. - The generated python code does the wrong thing (Amy and Jim would agree). Big chunks of data stored in a dictionary. yt needs python code! - When writing the Kaitai YAML, you need to be thinking about how the compiler will work. Minor changes to the YAML will result in very different compiled code - The python code isn't usable unless you use opaque types, at which point you lose the portability - The Kaitai community is not very welcoming. This is a major issue that we shouldn't ignore! - Jim felt that the C++ compiler is okay, if old-fashioned. - Jim's thought is - Add a new backend that generates C++ gets wrapped in a python extension module that runs compiled loops to walk over the data structure and produce an awkward array. - Kacper: awkward-array is a much better target to integrate with as opposed to Kaitai's data structure - [Example of how to use LayoutBuilder](https://github.com/impy-project/impy/issues/65#issue-1374710755) Alternatives to Kaitai: - [DFDL](https://www.ogf.org/ogf/doku.php/documents/documents) - [Construct](https://construct.readthedocs.io/en/latest/intro.html) - [Wuffs](https://github.com/google/wuffs) - [ycombinator discussion](https://news.ycombinator.com/item?id=30715406)