podio_schema_evolution module

Provides infrastructure for analyzing schema definitions for schema evolution

class podio_schema_evolution.AddedComponent(component, name)

Bases: SchemaChange

Class representing an added component

class podio_schema_evolution.AddedDatatype(datatype, name)

Bases: SchemaChange

Class representing an added datatype

class podio_schema_evolution.AddedMember(member, definition_name)

Bases: SchemaChange

Class representing an added member

class podio_schema_evolution.ChangedMember(name, member_name, old_member, new_member)

Bases: SchemaChange

Class representing a type change in a member

class podio_schema_evolution.DataModelComparator(yamlfile_new, yamlfile_old, evolution_file=None)

Bases: object

Compares two datamodels and extracts required schema evolution

compare() None

execute the comparison on-preloaded datamodel definitions

get_changed_schemata(schema_filter=None)

return the schemata which actually changed

heuristics()

make an analysis of the data model changes: - check which can be auto-resolved - check which need extra information from the user - check which one are plain forbidden/impossible

heuristics_members(added_members, dropped_members, schema_changes)

make analysis of member changes in a given data type

print_comparison()

print the result of the datamodel comparison

read() None

read datamodels from yaml files

read_evolution_file() None

read and parse evolution file

class podio_schema_evolution.DroppedComponent(component, name)

Bases: SchemaChange

Class representing a dropped component

class podio_schema_evolution.DroppedDatatype(datatype, name)

Bases: SchemaChange

Class representing a dropped datatype

class podio_schema_evolution.DroppedMember(member, definition_name)

Bases: SchemaChange

Class representing a dropped member

class podio_schema_evolution.RenamedDataType(name_old, name_new)

Bases: SchemaChange

Class representing a renamed datatype

class podio_schema_evolution.RenamedMember(name, member_name_old, member_name_new)

Bases: SchemaChange

Class representing a renamed member

class podio_schema_evolution.RootIoRule

Bases: object

A placeholder IORule class

class podio_schema_evolution.SchemaChange(description)

Bases: object

The base class for all schema changes providing a brief description as representation

podio_schema_evolution.root_filter(schema_changes)

Checks what is required/supported for the ROOT backend

At this point in time we are only interested in renames. Everything else will be done by ROOT automatically

podio_schema_evolution.sio_filter(schema_changes)

Checks what is required/supported for the SIO backend

At this point in time all schema changes have to be handled on PODIO side