

5·
2 months agoFor validation and/or (de)serialization: pydantic.
Otherwise, dataclasses.
I also like to replace tuples with NamedTuple, but I tend to use tuples a lot in the first place. It’s generally recommended to use dataclasses instead if you don’t specifically need tuple-like behavior.
Diane Duane wrote some great Star Trek books - The Wounded Sky and Spock’s World are perennial favorites.
I’d also recommend Q-Squared by Peter David. Very ambitious book and does a great job of making some lore connections.