cclauss created BEAM-3959: ----------------------------- Summary: Eliminating Python "undefined names" Key: BEAM-3959 URL: https://issues.apache.org/jira/browse/BEAM-3959 Project: Beam Issue Type: Bug Components: sdk-py-core, sdk-py-harness Reporter: cclauss Assignee: Ahmet Altay
My sense is that E901,E999,F821,F822,F823 are the "showstopper" flake8 issues that can halt the runtime with a SyntaxError, NameError, etc. The other flake8 issues are merely "style violations" -- useful for readability but they do not effect runtime safety. Work done under https://issues.apache.org/jira/browse/BEAM-3738 has enabled Jenkins to run linters on Python 3 code. One of the advantages of the *flake8* linter is that it can detect "undefined names" in Python code so it has been added to the [Python 2|https://github.com/apache/beam/tree/master/sdks/python/run_pylint.sh] and [Python 3|https://github.com/apache/beam/tree/master/sdks/python/run_mini_py3lint.sh] test runs. https://github.com/apache/beam/pull/4798 currently lists 23 undefined names when flake8 is run under Python 3. Solutions to some of these undefined names can be found in: * https://github.com/apache/beam/pull/4561 * https://github.com/apache/beam/pull/4774 * https://github.com/apache/beam/pull/4820 Once the Beam codebase can pass a flake8 F821 test with no undefined names, then F821 should be added to the the other "showstopper" issues as described in https://github.com/apache/beam/pull/4798 -- This message was sent by Atlassian JIRA (v7.6.3#76005)