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)

Reply via email to