Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce a new links category for the YAML definitions #691

Open
wants to merge 15 commits into
base: master
Choose a base branch
from

Conversation

tmadlener
Copy link
Collaborator

@tmadlener tmadlener commented Sep 26, 2024

BEGINRELEASENOTES

  • Introduce a new links category into the YAML grammar to automate the declaration of Links.

ENDRELEASENOTES

Diff wrt to #257

As can be seen from the diff above, I needed to change the definition of the PODIO_DECLARE_LINK macro, and it now only deals with the registration to the CollectionBufferFactory and there is a separate macro to deal with the registration to the SIOBlockFactory. Otherwise, it becomes hard to only build the "central" part of a datamodel without any dependencies on an I/O backend. This could be lifted to #257 if we wanted.

@tmadlener
Copy link
Collaborator Author

From a technical point of view this is ready. I can successfully build the complete stack with this and key4hep/EDM4hep#373 without any changes to the stack, apart from a few cases where the deprecated Association headers were still in use and which should be fixed soon.

doc/datamodel_syntax.md Outdated Show resolved Hide resolved
@tmadlener
Copy link
Collaborator Author

@peremato this should also address your concerns about having to discover these links for the Julia interface, I think. Now they will just be listed as a separate category in the YAML file, and you should have all the necessary information again to generate the necessary code, I think.

doc/links.md Outdated Show resolved Hide resolved
doc/datamodel_syntax.md Outdated Show resolved Hide resolved
Comment on lines 102 to 103
if datamodel["links"]:
self._write_links_registration_file(datamodel["links"])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if datamodel["links"]:
self._write_links_registration_file(datamodel["links"])
if theLinks := datamodel.get("links"):
self._write_links_registration_file(theLinks)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. Plus bumped minimal python requirements to 3.8 in README

python/podio_gen/julia_generator.py Outdated Show resolved Hide resolved
tmadlener and others added 2 commits November 5, 2024 10:43
Co-authored-by: Andre Sailer <andre.philippe.sailer@cern.ch>
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