Metadata API: Consider if Metadata class should contain role name
See original GitHub issueI’m not sure if this is worth the trouble, writing it out anyway…
Description of issue or feature request:
I’ve been looking at our data structures lately, trying to improve their usability… and one theme that comes up is that objects should include their identifier if they have one – the json file format does not do this because it would be wasteful in a wire format but the same does not apply to python objects. There’s a PR for Key already but I think the same logic applies to Metadata itself: Our Metadata objects always have a role name that is available when the Metadata is constructed, the name is immutable during lifetime of the object and often needed with the Metadata object (e.g. verify_delegate(), writing to file)
Quick estimates of what this means to API:
Metadata.__init__(): Add argumentrole_name: strMetadata.from_bytes(): Add argumentrole_name: strMetadata.from_dict(): Add argumentrole_name: strMetadata.from_file(): No change – the role name can be deciphered from file name. Alternatively the argument could be split to two (to match to_file() below): directory and role nameMetadata.to_dict(): No changeMetadata.to_file(): Hmm… not sure how to do this in a nice way: there’s three components to the path: directory, basename and extension. Maybe the argument should be just the directory, the basename is then the role name and extension should be a class variable of Serializer?verify_delegate(): (once it exists) remove argument role_name – this is included in metadata already
Issue Analytics
- State:
- Created 2 years ago
- Reactions:2
- Comments:7 (7 by maintainers)

Top Related StackOverflow Question
https://github.com/theupdateframework/tuf/commit/20662aa83bc64fed5a7ccc78a21d360883cb078b
Copying comment from the commit:
So this has some links to the other ongoing discussions… let’s keep it open: maybe you or someone else has better ideas than I did
So I’ve done a rough conversion… and I’m not convinced:
Conclusion: Considered adding role name to Metadata: suggestion is to not implement it at this time.