In using eyeD3, I found it very difficult to figure out what each object contains and how to inspect them. I ended up needing to read a lot of the eyeD3 source code, documentation, and even using the inspect module to figure out what I was looking at. I think using eyeD3 would be a lot easier if when I type print(tag.chapters) or print(t.chapters.get(b'ch1')) I got readable feedback rather than ChaptersAccessor object or ChapterFrame object. If it told me the ChapterFrame has title "Chapter 1" then I'd know I can also call tag.chapters.get(b"ch1").title to get the title.