{"action":"created","issue":{"url":"https://api.github.com/repos/networkx/networkx-metis/issues/16","labels_url":"https://api.github.com/repos/networkx/networkx-metis/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/networkx/networkx-metis/issues/16/comments","events_url":"https://api.github.com/repos/networkx/networkx-metis/issues/16/events","html_url":"https://github.com/networkx/networkx-metis/pull/16","id":91424746,"number":16,"title":"Setup Travis-CI","user":{"login":"OrkoHunter","id":8065913,"avatar_url":"https://avatars.githubusercontent.com/u/8065913?v=3","gravatar_id":"","url":"https://api.github.com/users/OrkoHunter","html_url":"https://github.com/OrkoHunter","followers_url":"https://api.github.com/users/OrkoHunter/followers","following_url":"https://api.github.com/users/OrkoHunter/following{/other_user}","gists_url":"https://api.github.com/users/OrkoHunter/gists{/gist_id}","starred_url":"https://api.github.com/users/OrkoHunter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OrkoHunter/subscriptions","organizations_url":"https://api.github.com/users/OrkoHunter/orgs","repos_url":"https://api.github.com/users/OrkoHunter/repos","events_url":"https://api.github.com/users/OrkoHunter/events{/privacy}","received_events_url":"https://api.github.com/users/OrkoHunter/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/networkx/networkx-metis/milestones/1","html_url":"https://github.com/networkx/networkx-metis/milestones/networkx-metis-1.0","labels_url":"https://api.github.com/repos/networkx/networkx-metis/milestones/1/labels","id":1152940,"number":1,"title":"networkx-metis-1.0","description":"","creator":{"login":"ysitu","id":7018196,"avatar_url":"https://avatars.githubusercontent.com/u/7018196?v=3","gravatar_id":"","url":"https://api.github.com/users/ysitu","html_url":"https://github.com/ysitu","followers_url":"https://api.github.com/users/ysitu/followers","following_url":"https://api.github.com/users/ysitu/following{/other_user}","gists_url":"https://api.github.com/users/ysitu/gists{/gist_id}","starred_url":"https://api.github.com/users/ysitu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ysitu/subscriptions","organizations_url":"https://api.github.com/users/ysitu/orgs","repos_url":"https://api.github.com/users/ysitu/repos","events_url":"https://api.github.com/users/ysitu/events{/privacy}","received_events_url":"https://api.github.com/users/ysitu/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":20,"state":"open","created_at":"2015-06-06T19:20:10Z","updated_at":"2015-06-30T17:54:34Z","due_on":"2015-07-08T07:00:00Z","closed_at":null},"comments":89,"created_at":"2015-06-27T06:36:57Z","updated_at":"2015-07-04T21:28:31Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/networkx/networkx-metis/pulls/16","html_url":"https://github.com/networkx/networkx-metis/pull/16","diff_url":"https://github.com/networkx/networkx-metis/pull/16.diff","patch_url":"https://github.com/networkx/networkx-metis/pull/16.patch"},"body":"Fixes #12 .\r\n\r\nNOTES\r\n\r\n* Currently, instead of `pip install networkx`, I'm installing [this branch](https://github.com/orkohunter/networkx/tree/addons) from my fork of networkx.\r\n* Because of which, `nosetests` is checking the entire `networkx` + `networkx+metis` library.\r\n* Building with branches `master` `setup` and `travis-ci` all merged in one `travis-test` over [https://travis-ci.org/OrkoHunter/networkx-metis](https://travis-ci.org/OrkoHunter/networkx-metis)\r\n* Build status : Passing.\r\n\r\n*But it's not ready yet.* Namespace packaging is done, but there seems to be a little problem while installing. `setup.py` is installing a strange file named `_metis.py` in the same location as `_metis.so` with the following content\r\n```py\r\ndef __bootstrap__():\r\n   global __bootstrap__, __loader__, __file__\r\n   import sys, pkg_resources, imp\r\n   __file__ = pkg_resources.resource_filename(__name__,'_metis.so')\r\n   __loader__ = None; del __bootstrap__, __loader__\r\n   imp.load_dynamic(__name__,__file__)\r\n__bootstrap__()\r\n```\r\nThis file is causing trouble and interfering while importing `networkx.addons.metis._metis`. Renaming the `.so` file doesn't help either, the new file is given the same name except for having `.py` extension.\r\n\r\nRelated : http://askubuntu.com/questions/442357/environment-setup-for-importing-a-userdefined-module/442363#comment917656_442363"},"comment":{"url":"https://api.github.com/repos/networkx/networkx-metis/issues/comments/118556395","html_url":"https://github.com/networkx/networkx-metis/pull/16#issuecomment-118556395","issue_url":"https://api.github.com/repos/networkx/networkx-metis/issues/16","id":118556395,"user":{"login":"chebee7i","id":326005,"avatar_url":"https://avatars.githubusercontent.com/u/326005?v=3","gravatar_id":"","url":"https://api.github.com/users/chebee7i","html_url":"https://github.com/chebee7i","followers_url":"https://api.github.com/users/chebee7i/followers","following_url":"https://api.github.com/users/chebee7i/following{/other_user}","gists_url":"https://api.github.com/users/chebee7i/gists{/gist_id}","starred_url":"https://api.github.com/users/chebee7i/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chebee7i/subscriptions","organizations_url":"https://api.github.com/users/chebee7i/orgs","repos_url":"https://api.github.com/users/chebee7i/repos","events_url":"https://api.github.com/users/chebee7i/events{/privacy}","received_events_url":"https://api.github.com/users/chebee7i/received_events","type":"User","site_admin":false},"created_at":"2015-07-04T21:28:31Z","updated_at":"2015-07-04T21:28:31Z","body":"So once networkx has `networkx/addons/__init__.py` and that file declares it to be a namespace, then anyone can create namespace packages that will be importable as `from networkx.addons import myextension`.  No further changes are required from `networkx`.\r\n\r\nIf we did not use namespaces, then we'd have to modify networkx every time a new extension were created by adding stubs such as:\r\n\r\n```\r\n# networkx/addons/metis.py\r\nfrom nonnamespaced_metis import *\r\n```\r\n\r\nThen users might use these as `from networkx.addons import metis`."}}