Is it possible to deserialize an eno file directly into a Python object?
Given that eno notation itself has no knowledge of types there is no way to
automatically serialize values to anything other than
string type. Given
that eno documents and elements can flexibly represent both associative and
sequential data structures, there is also no canonical serialization
structure that offers an optimal data layout for both usecases.
So indeed one has to manually deserialize the document! The reward for this however is 100% reliable input data, all the types one can imagine and a lot less syntax and overhead when writing content. Considering that the code for reading and validating a document only needs to be written once, while the actual authoring and editing of documents can happen up to many million times depending on the userbase of an application, spending a few minutes on the validation code is probably the better tradeoff to make?
Lastly, the enolib API does in fact also offer a way to deserialize a document to a native Python object, which however is only meant for debugging purposes. It is described in the previous chapter: AST Inspection.