{"action":"created","issue":{"url":"https://api.github.com/repos/hylang/hy/issues/1085","repository_url":"https://api.github.com/repos/hylang/hy","labels_url":"https://api.github.com/repos/hylang/hy/issues/1085/labels{/name}","comments_url":"https://api.github.com/repos/hylang/hy/issues/1085/comments","events_url":"https://api.github.com/repos/hylang/hy/issues/1085/events","html_url":"https://github.com/hylang/hy/pull/1085","id":167149487,"number":1085,"title":"Modernize importer","user":{"login":"elfsternberg","id":114660,"avatar_url":"https://avatars.githubusercontent.com/u/114660?v=3","gravatar_id":"","url":"https://api.github.com/users/elfsternberg","html_url":"https://github.com/elfsternberg","followers_url":"https://api.github.com/users/elfsternberg/followers","following_url":"https://api.github.com/users/elfsternberg/following{/other_user}","gists_url":"https://api.github.com/users/elfsternberg/gists{/gist_id}","starred_url":"https://api.github.com/users/elfsternberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elfsternberg/subscriptions","organizations_url":"https://api.github.com/users/elfsternberg/orgs","repos_url":"https://api.github.com/users/elfsternberg/repos","events_url":"https://api.github.com/users/elfsternberg/events{/privacy}","received_events_url":"https://api.github.com/users/elfsternberg/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-07-22T23:12:06Z","updated_at":"2016-12-10T20:15:21Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/hylang/hy/pulls/1085","html_url":"https://github.com/hylang/hy/pull/1085","diff_url":"https://github.com/hylang/hy/pull/1085.diff","patch_url":"https://github.com/hylang/hy/pull/1085.patch"},"body":"This patch supplies an update to Hy's importer that includes Python 2 and Python 3 module iterators.  This more strongly supports heterogeneous packages (packages with both .hy and .py files), and supports iterating packages-- a critical feature to support Django development in Hy.\n\nThe heavy lifting is \"working around\" the hard-coded .py extension in the _imp builtin (Python 2) or  importlib._bootstrap (Python 3), both of which are used by getmoduleinfo() in the stdlib inspect.py, which is what constrains many of the path_hooks features to Python-only syntax.  \n\nA portable version of this work meant to support not just Hy but Coconut, Mochi, and Doge can be found in https://github.com/elfsternberg/polyloader\n\nA demonstration app (not complete, but working) showing Django management commands, models, views, urls, settings, and even manage (!) written in Hy is available in https://github.com/elfsternberg/catalogia\n\nThere are unit tests; they're mostly taken from the Python 2 import test suite and mostly assert that using the polyloader shim does not break Python imports.\n"},"comment":{"url":"https://api.github.com/repos/hylang/hy/issues/comments/266234861","html_url":"https://github.com/hylang/hy/pull/1085#issuecomment-266234861","issue_url":"https://api.github.com/repos/hylang/hy/issues/1085","id":266234861,"user":{"login":"kirbyfan64","id":1690697,"avatar_url":"https://avatars.githubusercontent.com/u/1690697?v=3","gravatar_id":"","url":"https://api.github.com/users/kirbyfan64","html_url":"https://github.com/kirbyfan64","followers_url":"https://api.github.com/users/kirbyfan64/followers","following_url":"https://api.github.com/users/kirbyfan64/following{/other_user}","gists_url":"https://api.github.com/users/kirbyfan64/gists{/gist_id}","starred_url":"https://api.github.com/users/kirbyfan64/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kirbyfan64/subscriptions","organizations_url":"https://api.github.com/users/kirbyfan64/orgs","repos_url":"https://api.github.com/users/kirbyfan64/repos","events_url":"https://api.github.com/users/kirbyfan64/events{/privacy}","received_events_url":"https://api.github.com/users/kirbyfan64/received_events","type":"User","site_admin":false},"created_at":"2016-12-10T20:15:21Z","updated_at":"2016-12-10T20:15:21Z","body":"Aaaaah...this has conflicts. :/"}}
{"actor":{"display_login":"kirbyfan64"}}