)]}'
{
  "commit": "14a31cfe22c2c7f4fd312110d11f80b1b40120c0",
  "tree": "4dc9043eec783db4684641a0be88a97295a926c0",
  "parents": [
    "0e9b0ea53bb32911eccba0bdc2a748c9e7153080"
  ],
  "author": {
    "name": "Michele Sciabarra",
    "email": "30654959+sciabarracom@users.noreply.github.com",
    "time": "Sat Jul 17 16:55:57 2021 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Jul 17 10:55:57 2021 -0400"
  },
  "message": "Support python39 (#111)\n\n* implementes python39, support for building venv with requirements.txt, updated tests\r\n\r\n* removed useless test, fixed a typo\r\n\r\nCo-authored-by: Michele Sciabarra \u003cmichele@sciabarra.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b6c6a9221ef660b3a53b3636de83b90584eafe3f",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "def82e3a1673f74116cda889bfa80d5ce360a912",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "rename",
      "old_id": "b94237cab5d656830684a5dab8d20bdd944bc079",
      "old_mode": 33188,
      "old_path": "core/python3AiActionLoop/Dockerfile",
      "new_id": "a6742fd96b0978b3430c3f94399cd20a534a9c0f",
      "new_mode": 33188,
      "new_path": "core/python36AiAction/Dockerfile",
      "score": 91
    },
    {
      "type": "rename",
      "old_id": "50b76576509e470fc3b615cf441c629de687fb2d",
      "old_mode": 33188,
      "old_path": "core/python3AiActionLoop/README.md",
      "new_id": "50b76576509e470fc3b615cf441c629de687fb2d",
      "new_mode": 33188,
      "new_path": "core/python36AiAction/README.md",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "ad8d697598ac94dd00209f7c782eddcd84b0d821",
      "old_mode": 33188,
      "old_path": "core/python3AiActionLoop/build.gradle",
      "new_id": "e915a75dcab8d927cc19f9b470e5a3700145677f",
      "new_mode": 33188,
      "new_path": "core/python36AiAction/build.gradle",
      "score": 69
    },
    {
      "type": "rename",
      "old_id": "44e5a9b78a40539ebc3e1934706ddde123b31785",
      "old_mode": 33188,
      "old_path": "core/python3AiActionLoop/requirements.txt",
      "new_id": "44e5a9b78a40539ebc3e1934706ddde123b31785",
      "new_mode": 33188,
      "new_path": "core/python36AiAction/requirements.txt",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "e5d0af694d192ad8a722b0dde36d604699c99af5",
      "old_mode": 33188,
      "old_path": "core/python3AiActionLoop/samples/smart-body-crop/.gitignore",
      "new_id": "e5d0af694d192ad8a722b0dde36d604699c99af5",
      "new_mode": 33188,
      "new_path": "core/python36AiAction/samples/smart-body-crop/.gitignore",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "9aa16ac2d1ab5722b48717cdfd6c2bd220428d6c",
      "old_mode": 33188,
      "old_path": "core/python3AiActionLoop/samples/smart-body-crop/common.py",
      "new_id": "4c6ece125bef6eb0255630c71e5a8b6d43274630",
      "new_mode": 33188,
      "new_path": "core/python36AiAction/samples/smart-body-crop/common.py",
      "score": 98
    },
    {
      "type": "rename",
      "old_id": "3ea6633f10257685653728bcdd001a9b2e8aeedb",
      "old_mode": 33188,
      "old_path": "core/python3AiActionLoop/samples/smart-body-crop/crop.ipynb",
      "new_id": "3ea6633f10257685653728bcdd001a9b2e8aeedb",
      "new_mode": 33188,
      "new_path": "core/python36AiAction/samples/smart-body-crop/crop.ipynb",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "8d440e3012004846ebe14be600809640e9450008",
      "old_mode": 33188,
      "old_path": "core/python3AiActionLoop/samples/smart-body-crop/fashion-men-1.jpg",
      "new_id": "8d440e3012004846ebe14be600809640e9450008",
      "new_mode": 33188,
      "new_path": "core/python36AiAction/samples/smart-body-crop/fashion-men-1.jpg",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "dbb5f8777b0c74f9ad1ad93a71acb955963e83a2",
      "old_mode": 33188,
      "old_path": "core/python3AiActionLoop/samples/smart-body-crop/inference.py",
      "new_id": "dbb5f8777b0c74f9ad1ad93a71acb955963e83a2",
      "new_mode": 33188,
      "new_path": "core/python36AiAction/samples/smart-body-crop/inference.py",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "da898f39e06837ab594966d99091f2a4a06087c5",
      "old_mode": 33188,
      "old_path": "core/python3ActionLoop/Dockerfile",
      "new_id": "35ee88c51d7bb236aedba7543e31a90318ca5407",
      "new_mode": 33188,
      "new_path": "core/python39Action/Dockerfile",
      "score": 84
    },
    {
      "type": "copy",
      "old_id": "ad8d697598ac94dd00209f7c782eddcd84b0d821",
      "old_mode": 33188,
      "old_path": "core/python3AiActionLoop/build.gradle",
      "new_id": "9abe626109c634709fca32b37292848a416dc7ff",
      "new_mode": 33188,
      "new_path": "core/python39Action/build.gradle",
      "score": 69
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "549a80fc7f3afd961b9d97e6ff9e05ad497bf780",
      "new_mode": 33188,
      "new_path": "core/python39Action/requirements.txt"
    },
    {
      "type": "rename",
      "old_id": "5ac53426689b03a6b8dde80c643b64a1fbff3a5b",
      "old_mode": 33188,
      "old_path": "core/python3ActionLoop/CHANGELOG.md",
      "new_id": "0dbefe9d8a0f3fe23c92710d2592b881f563b944",
      "new_mode": 33188,
      "new_path": "core/python3Action/CHANGELOG.md",
      "score": 85
    },
    {
      "type": "rename",
      "old_id": "da898f39e06837ab594966d99091f2a4a06087c5",
      "old_mode": 33188,
      "old_path": "core/python3ActionLoop/Dockerfile",
      "new_id": "870cef64892832fe8273f49d3dac2629ceb68379",
      "new_mode": 33188,
      "new_path": "core/python3Action/Dockerfile",
      "score": 85
    },
    {
      "type": "rename",
      "old_id": "7430512c2a576b17cdc912db4dabe4cf41d5176a",
      "old_mode": 33188,
      "old_path": "core/python3ActionLoop/Makefile",
      "new_id": "7430512c2a576b17cdc912db4dabe4cf41d5176a",
      "new_mode": 33188,
      "new_path": "core/python3Action/Makefile",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "d8eba628167eda1ff18b7666c4497e36103463d7",
      "old_mode": 33261,
      "old_path": "core/python3ActionLoop/bin/compile",
      "new_id": "052f2c4e16e1073e6ada7991a489cd2ebfae51b4",
      "new_mode": 33261,
      "new_path": "core/python3Action/bin/compile",
      "score": 65
    },
    {
      "type": "rename",
      "old_id": "ad8d697598ac94dd00209f7c782eddcd84b0d821",
      "old_mode": 33188,
      "old_path": "core/python3AiActionLoop/build.gradle",
      "new_id": "527d9826aaab5435c087a610da997c636262742b",
      "new_mode": 33188,
      "new_path": "core/python3Action/build.gradle",
      "score": 94
    },
    {
      "type": "rename",
      "old_id": "9773570b013187f6fe25f096fb803ba1150b86a5",
      "old_mode": 33261,
      "old_path": "core/python3ActionLoop/lib/launcher.py",
      "new_id": "ccf0c68010e51044bf6b64c73aca970a08be1ec2",
      "new_mode": 33261,
      "new_path": "core/python3Action/lib/launcher.py",
      "score": 90
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d60e88a86cd5204c7bc44915ce3d635125bb9f0c",
      "new_mode": 33188,
      "new_path": "core/python3Action/requirements.txt"
    },
    {
      "type": "delete",
      "old_id": "2e4226bccf3c4144626e3b79d52bb2d3dc52deb9",
      "old_mode": 33188,
      "old_path": "core/python3ActionLoop/build.gradle",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "61560eec302d831f6d22edd76df69bc3ab4debc5",
      "old_mode": 33188,
      "old_path": "core/python3AiActionLoop/Makefile",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "d8eba628167eda1ff18b7666c4497e36103463d7",
      "old_mode": 33261,
      "old_path": "core/python3AiActionLoop/bin/compile",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "9773570b013187f6fe25f096fb803ba1150b86a5",
      "old_mode": 33261,
      "old_path": "core/python3AiActionLoop/lib/launcher.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "d02dad7f43e8dbf6ba4fad8623e018f5e0b8a336",
      "old_mode": 33188,
      "old_path": "settings.gradle",
      "new_id": "82b9a9ae9e7984ef8a9ad46100b601266309a137",
      "new_mode": 33188,
      "new_path": "settings.gradle"
    },
    {
      "type": "modify",
      "old_id": "e72072866a2e378de584ef08d09eb9261197fc41",
      "old_mode": 33188,
      "old_path": "tests/build.gradle",
      "new_id": "045452146a556f845b436f1cbaf8283d4ff69e58",
      "new_mode": 33188,
      "new_path": "tests/build.gradle"
    },
    {
      "type": "modify",
      "old_id": "e65166f16bcb3d0547eb2d60b2f6361119fec117",
      "old_mode": 33261,
      "old_path": "tests/src/test/resources/build.sh",
      "new_id": "bbc46160893d061379a9fa7b8105dbe1a055c935",
      "new_mode": 33261,
      "new_path": "tests/src/test/resources/build.sh"
    },
    {
      "type": "modify",
      "old_id": "b0f4087ab9a8087d0ef119210d3caf913729de2c",
      "old_mode": 33261,
      "old_path": "tests/src/test/resources/python_virtualenv/__main__.py",
      "new_id": "04b59aff73dcb71531fbd5368785e698d5061651",
      "new_mode": 33261,
      "new_path": "tests/src/test/resources/python_virtualenv/__main__.py"
    },
    {
      "type": "delete",
      "old_id": "dbf5aa07c859b2ae6c4aacd122ba5dc9cb3a2bc9",
      "old_mode": 33261,
      "old_path": "tests/src/test/resources/python_virtualenv/build.sh",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "9dcd8c5ff5513b685c78c99712288e0d231db31c",
      "old_mode": 33188,
      "old_path": "tests/src/test/resources/python_virtualenv/requirements.txt",
      "new_id": "d2af60bb93b76195cef577a9df2a92506288af80",
      "new_mode": 33188,
      "new_path": "tests/src/test/resources/python_virtualenv/requirements.txt"
    },
    {
      "type": "delete",
      "old_id": "dbf5aa07c859b2ae6c4aacd122ba5dc9cb3a2bc9",
      "old_mode": 33261,
      "old_path": "tests/src/test/resources/python_virtualenv_invalid_main/build.sh",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "9dcd8c5ff5513b685c78c99712288e0d231db31c",
      "old_mode": 33188,
      "old_path": "tests/src/test/resources/python_virtualenv_invalid_main/requirements.txt",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "rename",
      "old_id": "456f3b7c1a79fa5e6a5887375d00f872bddaf845",
      "old_mode": 33188,
      "old_path": "tests/src/test/scala/runtime/actionContainers/Python3AiActionLoopContainerTests.scala",
      "new_id": "931489fa75941558eea0dfda1c5ac243516d28e4",
      "new_mode": 33188,
      "new_path": "tests/src/test/scala/runtime/actionContainers/Python36AiTests.scala",
      "score": 94
    },
    {
      "type": "rename",
      "old_id": "f1e9f82f8dbcdf4f3ec517a81032256b5c8ef17e",
      "old_mode": 33188,
      "old_path": "tests/src/test/scala/runtime/actionContainers/PythonActionLoopContainerTests.scala",
      "new_id": "be4066398cea2380f2603c183d71b3cce38d0f32",
      "new_mode": 33188,
      "new_path": "tests/src/test/scala/runtime/actionContainers/Python37Tests.scala",
      "score": 82
    },
    {
      "type": "rename",
      "old_id": "b0f4087ab9a8087d0ef119210d3caf913729de2c",
      "old_mode": 33261,
      "old_path": "tests/src/test/resources/python_virtualenv_invalid_main/mymain.py",
      "new_id": "344e672283980ab473864f2d877079aa64184760",
      "new_mode": 33188,
      "new_path": "tests/src/test/scala/runtime/actionContainers/Python39Tests.scala",
      "score": 66
    },
    {
      "type": "rename",
      "old_id": "6a75c0a83e789e2048e80219b323cc20c7c729d1",
      "old_mode": 33188,
      "old_path": "tests/src/test/scala/runtime/actionContainers/PythonActionLoopExtraTests.scala",
      "new_id": "d4bd9d9a97079233631dd4b8db297ad46f2201f0",
      "new_mode": 33188,
      "new_path": "tests/src/test/scala/runtime/actionContainers/PythonAdvancedTests.scala",
      "score": 97
    },
    {
      "type": "rename",
      "old_id": "be810d1df95e50c3744c2aa6905bf122bd6413f1",
      "old_mode": 33188,
      "old_path": "tests/src/test/scala/runtime/actionContainers/PythonActionContainerTests.scala",
      "new_id": "3e061609ac07066a0df5b19777e1ce1cda3aa85a",
      "new_mode": 33188,
      "new_path": "tests/src/test/scala/runtime/actionContainers/PythonBasicTests.scala",
      "score": 98
    },
    {
      "type": "modify",
      "old_id": "c93c537523cd47664b2063176694eb2d2b685a25",
      "old_mode": 33261,
      "old_path": "tools/travis/publish.sh",
      "new_id": "015e953fc42e640a5bc2ce421a5b6902505947a6",
      "new_mode": 33261,
      "new_path": "tools/travis/publish.sh"
    }
  ]
}
