{"action":"created","issue":{"url":"https://api.github.com/repos/odlgroup/odl/issues/116","labels_url":"https://api.github.com/repos/odlgroup/odl/issues/116/labels{/name}","comments_url":"https://api.github.com/repos/odlgroup/odl/issues/116/comments","events_url":"https://api.github.com/repos/odlgroup/odl/issues/116/events","html_url":"https://github.com/odlgroup/odl/pull/116","id":120223838,"number":116,"title":"Issue 57  operator","user":{"login":"kohr-h","id":5030250,"avatar_url":"https://avatars.githubusercontent.com/u/5030250?v=3","gravatar_id":"","url":"https://api.github.com/users/kohr-h","html_url":"https://github.com/kohr-h","followers_url":"https://api.github.com/users/kohr-h/followers","following_url":"https://api.github.com/users/kohr-h/following{/other_user}","gists_url":"https://api.github.com/users/kohr-h/gists{/gist_id}","starred_url":"https://api.github.com/users/kohr-h/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kohr-h/subscriptions","organizations_url":"https://api.github.com/users/kohr-h/orgs","repos_url":"https://api.github.com/users/kohr-h/repos","events_url":"https://api.github.com/users/kohr-h/events{/privacy}","received_events_url":"https://api.github.com/users/kohr-h/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-12-03T17:13:34Z","updated_at":"2015-12-04T17:40:49Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/odlgroup/odl/pulls/116","html_url":"https://github.com/odlgroup/odl/pull/116","diff_url":"https://github.com/odlgroup/odl/pull/116.diff","patch_url":"https://github.com/odlgroup/odl/pull/116.patch"},"body":"Tests are all running through now (except PEP8), but need to write some tests beyond the current pure doctests. This is just a preliminary PR but may be worth a  look at. I'll write a more comprehensive summary later."},"comment":{"url":"https://api.github.com/repos/odlgroup/odl/issues/comments/162031353","html_url":"https://github.com/odlgroup/odl/pull/116#issuecomment-162031353","issue_url":"https://api.github.com/repos/odlgroup/odl/issues/116","id":162031353,"user":{"login":"adler-j","id":2202312,"avatar_url":"https://avatars.githubusercontent.com/u/2202312?v=3","gravatar_id":"","url":"https://api.github.com/users/adler-j","html_url":"https://github.com/adler-j","followers_url":"https://api.github.com/users/adler-j/followers","following_url":"https://api.github.com/users/adler-j/following{/other_user}","gists_url":"https://api.github.com/users/adler-j/gists{/gist_id}","starred_url":"https://api.github.com/users/adler-j/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adler-j/subscriptions","organizations_url":"https://api.github.com/users/adler-j/orgs","repos_url":"https://api.github.com/users/adler-j/repos","events_url":"https://api.github.com/users/adler-j/events{/privacy}","received_events_url":"https://api.github.com/users/adler-j/received_events","type":"User","site_admin":false},"created_at":"2015-12-04T17:40:49Z","updated_at":"2015-12-04T17:40:49Z","body":"Some notes (written real time during a read-through):\r\n\r\n* Some code is very complicated. I have some trouble following it. Since the operator interface is so central, we really need good test coverage here.\r\n* `_sync_call_args`, what if we have a user library that uses some other documenting standard? Will this break for them?\r\n* We have a fork of numpydoc, why not move the `_decompose_params` style code over there? This would solve the above issue aswell (but not solve the info given when users try to read do in an IDE)\r\n* At the very least I think the doc manipulating code should be moved to some util file.\r\n* Maybe we could make the inherit doc optional? Making it a decorator that we use ourselves and let users add if they want.\r\n* Very zealous checking, i.e checking things we don't need to check such as\r\n```python\r\n# 'self' must be the first argument    \r\nelif pos_args[0] != 'self':\r\n    raise ValueError(\"Bad signature '{}': `self` is not the first \"\r\n                         \"argument. \".format(signature) + spec_msg)\r\n    ```\r\n    I think this does not help that much and we shouldn't force it onto users."}}