{"pull_request":{"user":{"id":21072,"login":"kcarnold","url":"https://api.github.com/users/kcarnold","avatar_url":"https://secure.gravatar.com/avatar/76099ad85a686ffb8b116c361d7b0af4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"76099ad85a686ffb8b116c361d7b0af4"},"merged_at":null,"created_at":"2011-12-22T19:51:45Z","title":"Improve behavior for ndarray subclasses","updated_at":"2011-12-22T19:51:45Z","state":"open","review_comments":0,"id":624833,"patch_url":"https://github.com/joblib/joblib/pull/20.patch","html_url":"https://github.com/joblib/joblib/pull/20","closed_at":null,"deletions":9,"mergeable":null,"base":{"user":{"id":332661,"login":"joblib","url":"https://api.github.com/users/joblib","avatar_url":"https://secure.gravatar.com/avatar/24eaaf51e1dbdba3e896337f1b8c4416?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"24eaaf51e1dbdba3e896337f1b8c4416"},"ref":"0.5.X","sha":"dbcf1e6a75b2c73064157cd5085c6bc8d045838f","repo":{"open_issues":6,"git_url":"git://github.com/joblib/joblib.git","created_at":"2010-05-07T06:48:26Z","watchers":48,"fork":false,"updated_at":"2011-12-22T19:33:22Z","id":654608,"language":"Python","html_url":"https://github.com/joblib/joblib","name":"joblib","description":"Python function as pipeline jobs.","master_branch":"0.5.X","url":"https://api.github.com/repos/joblib/joblib","pushed_at":"2011-12-22T11:01:01Z","forks":18,"ssh_url":"git@github.com:joblib/joblib.git","clone_url":"https://github.com/joblib/joblib.git","owner":{"id":332661,"login":"joblib","url":"https://api.github.com/users/joblib","avatar_url":"https://secure.gravatar.com/avatar/24eaaf51e1dbdba3e896337f1b8c4416?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-orgs.png","gravatar_id":"24eaaf51e1dbdba3e896337f1b8c4416"},"homepage":"http://packages.python.org/joblib/","size":276,"private":false,"svn_url":"https://svn.github.com/joblib/joblib"},"label":"joblib:0.5.X"},"issue_url":"https://github.com/joblib/joblib/issues/20","commits":2,"number":20,"body":"Most of the problems with ndarray subclasses are not joblib's fault. But a couple minor things were. This fixes the following:\r\n\r\n1. Subclass saving wasn't actually being fully tested, due to a typo.\r\n2. Subclass saving failure resulted in worrisome tracebacks being printed when in fact everything probably succeeded.\r\n3. The list of filenames got duplicates in that case.\r\n\r\nThe one remaining problem is ultimately numpy's fault: if you don't override ```tofile```, you'll silently get a plain ndarray back when you load from joblib. But if you had implemented ```__reduce__```, the same code would have worked before you switched to joblib. So I'll add a third commit here that takes a conservative but still possibly controversial approach to solving this.","additions":10,"url":"https://api.github.com/repos/joblib/joblib/pulls/20","_links":{"review_comments":{"href":"https://api.github.com/repos/joblib/joblib/pulls/20/comments"},"html":{"href":"https://github.com/joblib/joblib/pull/20"},"self":{"href":"https://api.github.com/repos/joblib/joblib/pulls/20"},"comments":{"href":"https://api.github.com/repos/joblib/joblib/issues/20/comments"}},"merged_by":null,"diff_url":"https://github.com/joblib/joblib/pull/20.diff","comments":0,"head":{"user":{"id":21072,"login":"kcarnold","url":"https://api.github.com/users/kcarnold","avatar_url":"https://secure.gravatar.com/avatar/76099ad85a686ffb8b116c361d7b0af4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"76099ad85a686ffb8b116c361d7b0af4"},"ref":"0.5.X","sha":"6663284bcc6e3009d01a20e7a02baa0a3ac66028","repo":{"open_issues":0,"git_url":"git://github.com/kcarnold/joblib.git","created_at":"2011-12-22T19:33:22Z","watchers":1,"fork":true,"updated_at":"2011-12-22T19:41:57Z","id":3036113,"language":"Python","html_url":"https://github.com/kcarnold/joblib","name":"joblib","description":"Python function as pipeline jobs.","master_branch":"0.5.X","url":"https://api.github.com/repos/kcarnold/joblib","pushed_at":"2011-12-22T19:41:56Z","forks":0,"ssh_url":"git@github.com:kcarnold/joblib.git","clone_url":"https://github.com/kcarnold/joblib.git","owner":{"id":21072,"login":"kcarnold","url":"https://api.github.com/users/kcarnold","avatar_url":"https://secure.gravatar.com/avatar/76099ad85a686ffb8b116c361d7b0af4?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"76099ad85a686ffb8b116c361d7b0af4"},"homepage":"http://packages.python.org/joblib/","size":128,"private":false,"svn_url":"https://svn.github.com/kcarnold/joblib"},"label":"kcarnold:0.5.X"},"changed_files":2,"merged":false},"number":20,"action":"opened"}