)]}'
{
  "commit": "cc2568a44315fbe16dd3d4f6fae00544ce79dd03",
  "tree": "be7e8f9220a5ff32afc20ed99bc32903ba9c955b",
  "parents": [
    "e8d78054d3223bc9495b57f482bb4b9c9241251b"
  ],
  "author": {
    "name": "Christian Clauss",
    "email": "cclauss@me.com",
    "time": "Thu Jul 02 21:39:19 2020 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jul 02 21:39:19 2020 +0200"
  },
  "message": "Undefined name: minor -\u003e self.hash\n\n[flake8](http://flake8.pycqa.org) testing of https://github.com/google/skywater-pdk on Python 3.8.3\r\n\r\n$ __flake8 . --count --select\u003dE9,F63,F7,F82 --show-source --statistics__\r\n```\r\n./scripts/python-skywater-pdk/skywater_pdk/base.py:332:71: F821 undefined name \u0027minor\u0027\r\n        return (self.milestone, self.major, self.minor, self.commits, minor)\r\n                                                                      ^\r\n1     F821 undefined name \u0027minor\u0027\r\n1\r\n```\r\nhttps://flake8.pycqa.org/en/latest/user/error-codes.html\r\n\r\nOn the flake8 test selection, this PR does _not_ focus on \"_style violations_\" (the majority of flake8 error codes that [__psf/black__](https://github.com/psf/black) can autocorrect).  Instead these tests are focus on runtime safety and correctness:\r\n* E9 tests are about Python syntax errors usually raised because flake8 can not build an Abstract Syntax Tree (AST).  Often these issues are a sign of unused code or code that has not been ported to Python 3.  These would be compile-time errors in a compiled language but in a dynamic language like Python they result in the script halting/crashing on the user.\r\n* F63 tests are usually about the confusion between identity and equality in Python.  Use \u003d\u003d/!\u003d to compare str, bytes, and int literals is the classic case.  These are areas where __a \u003d\u003d b__ is True but __a is b__ is False (or vice versa).  Python \u003e\u003d 3.8 will raise SyntaxWarnings on these instances.\r\n* F7 tests logic errors and syntax errors in type hints\r\n* F82 tests are almost always _undefined names_ which are usually a sign of a typo, missing imports, or code that has not been ported to Python 3.  These also would be compile-time errors in a compiled language but in Python a __NameError__ is raised which will halt/crash the script on the user.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5ace788ce86eb68b53566454ecb7a4afc2412a8e",
      "old_mode": 33188,
      "old_path": "scripts/python-skywater-pdk/skywater_pdk/base.py",
      "new_id": "bcfc7e84591d978d0fa31fdf7be4bf6b682380e5",
      "new_mode": 33188,
      "new_path": "scripts/python-skywater-pdk/skywater_pdk/base.py"
    }
  ]
}
