Mike Dusenberry created SYSTEMML-830:
----------------------------------------

             Summary: Python API Broken In Python 3 Due To Changes In 
Dictionary Iteration
                 Key: SYSTEMML-830
                 URL: https://issues.apache.org/jira/browse/SYSTEMML-830
             Project: SystemML
          Issue Type: Bug
    Affects Versions: SystemML 0.10, SystemML 0.11
            Reporter: Mike Dusenberry
            Assignee: Mike Dusenberry
            Priority: Minor


Currently, the {{executeScript(...)}} function in the Python API 
({{SystemML.py}}) has a bug in Python 3 due to changes from Python 2 -> 3 
dealing with iteration over a dictionary.  {{dictName.items()}} returned a list 
of the current items in the dictionary in Python 2, while it returns a live 
iterable in Python 3.  The consequence is that a dictionary cannot be modified 
in a loop using {{dictName.items()}} in Python 3.  This fix will simply force 
the iterable to a list in either Python version, as discussed in \[1].  We 
simply use this in the existing API for lightweight argument parsing, so 
performance is not a concern.

\[1]: [PEP 0469 | 
http://legacy.python.org/dev/peps/pep-0469/#lists-as-mutable-snapshots]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to