+1

The typing information has really helped me several times figuring out that
API contracts and expected types.

On Mon, Mar 2, 2020 at 9:54 AM Pablo Estrada <pabl...@google.com> wrote:

> I am in favor of enabling the test, and also am happy to start answering
> questions too.
> Thanks so much Chad for leading this.
> Best
> -P.
>
> On Mon, Mar 2, 2020 at 9:44 AM Chad Dombrova <chad...@gmail.com> wrote:
>
>> Good news everyone!
>> We nearly have the full beam codebase passing in mypy.
>>
>> As we are now approaching the zero-error event horizon, I'd like to open
>> up a discussion around enabling mypy in the PythonLint job.  Every day or
>> so a PR is merged that introduces some new mypy errors, so enabling this
>> test is the only way I see to keep the annotations accurate and thus useful.
>>
>> Developer fatigue is a real concern here, since static typing has a a
>> steep learning curve, and there are still not a lot of experts to help
>> consult on PRs.  Here are some things that I hope will mitigate those
>> concerns:
>>
>>    - We have a lot of tying coverage, so that means plenty of examples
>>    of how to solve different types of problems
>>    - Running mypy only takes 10 seconds to complete (if you execute it
>>    outside of gradle / tox), and that will get better when we get to 0
>>    errors.  Also, running mypy in daemon mode should speed that up even more
>>    - I have a PR[1] to allow developers to easily (and optionally) setup
>>    yapf to run in a local git pre-commit hook;  I'd like to do the same for
>>    mypy.
>>    - I will make myself and members of my team available to help out
>>    with typing questions in PRs
>>
>> Is there anyone else on the list who is knowledgable about python static
>> typing who would like to volunteer to be flagged on typing questions?
>>
>> What else can we do to make this transition easier?
>>
>> [1] https://github.com/apache/beam/pull/10810
>>
>> -chad
>>
>>

Reply via email to