3 ms·
It's a misuse of the Python Ellipsis, though PEP has no opinion on it. The Ellipsis is "Special value used mostly in conjunction with extended slicing syntax fo
by politelemon 3y ago
It's a misuse of the Python Ellipsis, though PEP has no opinion on it. The Ellipsis is "Special value used mostly in conjunction with extended slicing syntax for user-defined container data types."
In other words, it happens to work and look neat, but pass is the correct way to do it.
- jackmpcollins 3y agoEllipses is actually used in quite a few places. See the answers and comments on this stackoverflow post[0]. The usage most similar to what I have in the magentic examples is with the `@overload` decorator in the typing module[1]. With that said, you are free to put any code in the function body including `pass` or just a docstring or even `raise NotImplementedError` - it will not be executed. Using Ellipses satisfies VSCode/pyright type checking and seemed neatest to me for the examples and docs. I have some additional notes on this in the README[2]. [0] https://stackoverflow.com/q/772124/9995080 https://stackoverflow.com/q/772124/9995080 [1] https://docs.python.org/3/library/typing.html#typing.overload https://docs.python.org/3/library/typing.html#typing.overloa... [2] https://github.com/jackmpcollins/magentic#type-checking https://github.com/jackmpcollins/magentic#type-checking