{"action":"created","issue":{"url":"https://api.github.com/repos/VisTrails/VisTrails/issues/1002","labels_url":"https://api.github.com/repos/VisTrails/VisTrails/issues/1002/labels{/name}","comments_url":"https://api.github.com/repos/VisTrails/VisTrails/issues/1002/comments","events_url":"https://api.github.com/repos/VisTrails/VisTrails/issues/1002/events","html_url":"https://github.com/VisTrails/VisTrails/pull/1002","id":58962163,"number":1002,"title":"Use a top-level namespace package for VisTrails packages","user":{"login":"remram44","id":426784,"avatar_url":"https://avatars.githubusercontent.com/u/426784?v=3","gravatar_id":"","url":"https://api.github.com/users/remram44","html_url":"https://github.com/remram44","followers_url":"https://api.github.com/users/remram44/followers","following_url":"https://api.github.com/users/remram44/following{/other_user}","gists_url":"https://api.github.com/users/remram44/gists{/gist_id}","starred_url":"https://api.github.com/users/remram44/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remram44/subscriptions","organizations_url":"https://api.github.com/users/remram44/orgs","repos_url":"https://api.github.com/users/remram44/repos","events_url":"https://api.github.com/users/remram44/events{/privacy}","received_events_url":"https://api.github.com/users/remram44/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-02-25T20:13:59Z","updated_at":"2015-02-25T20:14:33Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/VisTrails/VisTrails/pulls/1002","html_url":"https://github.com/VisTrails/VisTrails/pull/1002","diff_url":"https://github.com/VisTrails/VisTrails/pull/1002.diff","patch_url":"https://github.com/VisTrails/VisTrails/pull/1002.patch"},"body":"Historically, the 'codepath' of a VisTrails package has always been tied to the physical location of its code. Importing standard packages used `vistrails.packages.`, user packages from `~/.vistrails/userpackages` used `userpackages.`.\r\n\r\nMy goal with this PR is to put all of the packages under `vistrailspkg.`, to avoid having third-party packages being accessible from different names depending on where they are.\r\n\r\nPython libs registering themselves as VisTrails packages using the pkg_resources \"entry points\" mechanism (7337e8e0), for example tej ([tej:a43e5b3a](https://github.com/remram44/tej/commit/a43e5b3a694d058b5baa59a20b88b24234181d86)), are fine: their codepath is fixed and known. I used a `vistrailspkg.` top-level namespace package there.\r\n\r\nAnother solution would be a new import mechanism that would use package identifiers, possibly with versions."},"comment":{"url":"https://api.github.com/repos/VisTrails/VisTrails/issues/comments/76046234","html_url":"https://github.com/VisTrails/VisTrails/pull/1002#issuecomment-76046234","issue_url":"https://api.github.com/repos/VisTrails/VisTrails/issues/1002","id":76046234,"user":{"login":"remram44","id":426784,"avatar_url":"https://avatars.githubusercontent.com/u/426784?v=3","gravatar_id":"","url":"https://api.github.com/users/remram44","html_url":"https://github.com/remram44","followers_url":"https://api.github.com/users/remram44/followers","following_url":"https://api.github.com/users/remram44/following{/other_user}","gists_url":"https://api.github.com/users/remram44/gists{/gist_id}","starred_url":"https://api.github.com/users/remram44/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/remram44/subscriptions","organizations_url":"https://api.github.com/users/remram44/orgs","repos_url":"https://api.github.com/users/remram44/repos","events_url":"https://api.github.com/users/remram44/events{/privacy}","received_events_url":"https://api.github.com/users/remram44/received_events","type":"User","site_admin":false},"created_at":"2015-02-25T20:14:33Z","updated_at":"2015-02-25T20:14:33Z","body":"There is a lot of magic in here to make `vistrails.packages` become `vistrailspkg`. Maybe we could just move everything in the separate folder instead."}}