{"action":"created","issue":{"url":"https://api.github.com/repos/oTree-org/otree-core/issues/296","labels_url":"https://api.github.com/repos/oTree-org/otree-core/issues/296/labels{/name}","comments_url":"https://api.github.com/repos/oTree-org/otree-core/issues/296/comments","events_url":"https://api.github.com/repos/oTree-org/otree-core/issues/296/events","html_url":"https://github.com/oTree-org/otree-core/issues/296","id":65121960,"number":296,"title":"Python 3 support","user":{"login":"oTree-org","id":5423929,"avatar_url":"https://avatars.githubusercontent.com/u/5423929?v=3","gravatar_id":"","url":"https://api.github.com/users/oTree-org","html_url":"https://github.com/oTree-org","followers_url":"https://api.github.com/users/oTree-org/followers","following_url":"https://api.github.com/users/oTree-org/following{/other_user}","gists_url":"https://api.github.com/users/oTree-org/gists{/gist_id}","starred_url":"https://api.github.com/users/oTree-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oTree-org/subscriptions","organizations_url":"https://api.github.com/users/oTree-org/orgs","repos_url":"https://api.github.com/users/oTree-org/repos","events_url":"https://api.github.com/users/oTree-org/events{/privacy}","received_events_url":"https://api.github.com/users/oTree-org/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"leliel12","id":299010,"avatar_url":"https://avatars.githubusercontent.com/u/299010?v=3","gravatar_id":"","url":"https://api.github.com/users/leliel12","html_url":"https://github.com/leliel12","followers_url":"https://api.github.com/users/leliel12/followers","following_url":"https://api.github.com/users/leliel12/following{/other_user}","gists_url":"https://api.github.com/users/leliel12/gists{/gist_id}","starred_url":"https://api.github.com/users/leliel12/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leliel12/subscriptions","organizations_url":"https://api.github.com/users/leliel12/orgs","repos_url":"https://api.github.com/users/leliel12/repos","events_url":"https://api.github.com/users/leliel12/events{/privacy}","received_events_url":"https://api.github.com/users/leliel12/received_events","type":"User","site_admin":false},"milestone":null,"comments":14,"created_at":"2015-03-30T02:37:29Z","updated_at":"2015-06-07T16:22:20Z","closed_at":null,"body":"I am not very knowledgeable about Python 3 so I don't have an opinion yet on when oTree should support Python 3, and also whether we should at some point drop Python 2 support. \r\n\r\nI am logging this issue to keep track of various considerations.\r\n\r\nPros:\r\n- oTree is more of an isolated framework rather then a component that you plug into or combine with other apps. This isolation gives us more freedom to only support specific versions of Python.\r\n- Even though python 3 is not very popular now, it is eventually supposed to become the standard python version. Now may be a good time to jump on the Python 3 bandwagon.\r\n- It would be beneficial if all oTree apps were written in the same version of Python (Python 3), because that would make it easier to share code, test, provide code samples, etc.\r\n- Python 3 is supposed to be an improvement over Python 2 in terms of language design.\r\n\r\nCons:\r\n- The vast majority of Python code is written in Python 2. This could make it confusing for beginner oTree programmers who are searching for help on Google, stack overflow, etc.\r\n- not sure if all of our dependencies support python 3\r\n- what if Python 3 adoption does not improve much in the next couple of years?\r\n\r\nPlease feel free to comment or add considerations."},"comment":{"url":"https://api.github.com/repos/oTree-org/otree-core/issues/comments/109768182","html_url":"https://github.com/oTree-org/otree-core/issues/296#issuecomment-109768182","issue_url":"https://api.github.com/repos/oTree-org/otree-core/issues/296","id":109768182,"user":{"login":"leliel12","id":299010,"avatar_url":"https://avatars.githubusercontent.com/u/299010?v=3","gravatar_id":"","url":"https://api.github.com/users/leliel12","html_url":"https://github.com/leliel12","followers_url":"https://api.github.com/users/leliel12/followers","following_url":"https://api.github.com/users/leliel12/following{/other_user}","gists_url":"https://api.github.com/users/leliel12/gists{/gist_id}","starred_url":"https://api.github.com/users/leliel12/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leliel12/subscriptions","organizations_url":"https://api.github.com/users/leliel12/orgs","repos_url":"https://api.github.com/users/leliel12/repos","events_url":"https://api.github.com/users/leliel12/events{/privacy}","received_events_url":"https://api.github.com/users/leliel12/received_events","type":"User","site_admin":false},"created_at":"2015-06-07T16:22:20Z","updated_at":"2015-06-07T16:22:20Z","body":"Well i hit a bug in django 1.7 itself with metaclasses, first i need to migrate to django 1.8 to proceed with py3k compatibility"}}