Hamilton helps data scientists and engineers define testable, modular, self-documenting dataflows, that encode lineage/tracing and metadata. Runs and scales everywhere python does.
Given the increasing complexity of the library, it could be valuable to create custom exceptions rather than generic ValueError and KeyError.
This helps with:
readability: the name of the exception is informative EdgeTypeMismatchException, UnknownNodeException, MaterializationError
maintainability: the exceptions can be gradually improved by modifying the message in a central place instead of attaching custom messages to individual KeyError around the codebase
debugging: maintainers and users can make a better use of the debugger and exception handling to debug and test their code
Given the increasing complexity of the library, it could be valuable to create custom exceptions rather than generic
ValueError
andKeyError
.This helps with:
EdgeTypeMismatchException
,UnknownNodeException
,MaterializationError
KeyError
around the codebaserelated:
1218