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 <[email protected]> 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