RULES.md
ConfigDict for your use-case, you'll usually want frozen and strict to be True.UUID4 class to create your own UUID class.uuid.uuid4() to initialize your class with a fresh UUID where possible.str, int, etc), use NewType (it has zero runtime overhead).str) that states its type.Literal['one', 'two']) where an enum seems appropriate.pro-tip: Python's type system is quite complex and feature-rich, so reading the documentation is often advisable; Matt discovered that Python typing library allows you to check that you've implemented a match exhaustively using Literal and get_args(type) after reading the docs.
@final, Freezingdocumentation: documentation changes.feature: a new feature.refactor: a code change that neither fixes a bug nor adds a feature.bugfix: a bug fix.chore: routine tasks, maintenance, or tooling changes.test: adding or correcting tests.