docstringargs: Python module for setting up argparse
Chris Angelico
rosuav at gmail.com
Tue Apr 21 02:59:46 EDT 2015
On Tue, Apr 21, 2015 at 4:46 PM, Paul Rubin <no.email at nospam.invalid> wrote:
> Chris Angelico <rosuav at gmail.com> writes:
>> Ow, this is getting extremely complicated. And you still haven't
>> actually answered the fundamental problem, which is: When will you
>> need this? When will you actually want to put two different
>> annotations onto the same function's parameters?
>
> You've posted this cool annotation for docstringargs: why shouldn't I
> want to use it? And PEP 0484 is about annotations for type checking,
> also cool. Why shouldn't I want to use that too?
Except that docstringargs is mainly for top-level functions, and PEP
484 / MyPy is mainly for library functions - plus, docstringargs
basically implies that all the function parameters are strings, so the
annotations are going to be rather less useful.
>> The language isn't going to get any type checking.
>
> I thought it was one of the motivations for annotations. PEP 0484
> explains:
>
> ... the proposal assumes the existence of a separate off-line type
> checker which users can run over their source code voluntarily.
>
> That sounds like Erlang's Dialyzer, which is pretty useful and
> successful. So it seems like a good idea to me.
Off-line. Not part of the language itself. PEP 484 is standardizing a
format for them, but actually using them is staying the domain of
third-party utilities like MyPy. Nothing at all changes in the
language (annotations already exist), and the stdlib just grows a
typing.py that provides enough run-time so that things don't give
errors, but nothing in a basic CPython installation will do those
checks. Hence it's up to you what you do with them; simply running a
program won't check type annotations in any way.
ChrisA
More information about the Python-list
mailing list