{"action":"created","issue":{"url":"https://api.github.com/repos/dato-code/SFrame/issues/85","labels_url":"https://api.github.com/repos/dato-code/SFrame/issues/85/labels{/name}","comments_url":"https://api.github.com/repos/dato-code/SFrame/issues/85/comments","events_url":"https://api.github.com/repos/dato-code/SFrame/issues/85/events","html_url":"https://github.com/dato-code/SFrame/issues/85","id":115928721,"number":85,"title":"Deepcopy an sframe","user":{"login":"sb2nov","id":1517779,"avatar_url":"https://avatars.githubusercontent.com/u/1517779?v=3","gravatar_id":"","url":"https://api.github.com/users/sb2nov","html_url":"https://github.com/sb2nov","followers_url":"https://api.github.com/users/sb2nov/followers","following_url":"https://api.github.com/users/sb2nov/following{/other_user}","gists_url":"https://api.github.com/users/sb2nov/gists{/gist_id}","starred_url":"https://api.github.com/users/sb2nov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sb2nov/subscriptions","organizations_url":"https://api.github.com/users/sb2nov/orgs","repos_url":"https://api.github.com/users/sb2nov/repos","events_url":"https://api.github.com/users/sb2nov/events{/privacy}","received_events_url":"https://api.github.com/users/sb2nov/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-11-09T17:44:49Z","updated_at":"2015-11-13T23:04:05Z","closed_at":null,"body":"```\r\nimport sframe\r\nsf = sframe.SFrame()\r\nsf['a'] = [1,1,1,1,             2,2,2,           3,     4,4,      5]\r\nsf['b'] = [1,2,1,2,             3,3,1,           4,     None, 2,  3]\r\nsf2= deepcopy(sf)\r\n```\r\n\r\nError logs\r\n\r\n```\r\n\r\n---------------------------------------------------------------------------\r\nTypeError                                 Traceback (most recent call last)\r\n<ipython-input-11-f0d0a6912fba> in <module>()\r\n----> 1 sf2= deepcopy(sf)\r\n\r\n/Users/sbajaj/miniconda/lib/python2.7/copy.pyc in deepcopy(x, memo, _nil)\r\n    188                             raise Error(\r\n    189                                 \"un(deep)copyable object of type %s\" % cls)\r\n--> 190                 y = _reconstruct(x, rv, 1, memo)\r\n    191 \r\n    192     memo[d] = y\r\n\r\n/Users/sbajaj/miniconda/lib/python2.7/copy.pyc in _reconstruct(x, info, deep, memo)\r\n    332     if state:\r\n    333         if deep:\r\n--> 334             state = deepcopy(state, memo)\r\n    335         if hasattr(y, '__setstate__'):\r\n    336             y.__setstate__(state)\r\n\r\n/Users/sbajaj/miniconda/lib/python2.7/copy.pyc in deepcopy(x, memo, _nil)\r\n    161     copier = _deepcopy_dispatch.get(cls)\r\n    162     if copier:\r\n--> 163         y = copier(x, memo)\r\n    164     else:\r\n    165         try:\r\n\r\n/Users/sbajaj/miniconda/lib/python2.7/copy.pyc in _deepcopy_tuple(x, memo)\r\n    235     y = []\r\n    236     for a in x:\r\n--> 237         y.append(deepcopy(a, memo))\r\n    238     d = id(x)\r\n    239     try:\r\n\r\n/Users/sbajaj/miniconda/lib/python2.7/copy.pyc in deepcopy(x, memo, _nil)\r\n    161     copier = _deepcopy_dispatch.get(cls)\r\n    162     if copier:\r\n--> 163         y = copier(x, memo)\r\n    164     else:\r\n    165         try:\r\n\r\n/Users/sbajaj/miniconda/lib/python2.7/copy.pyc in _deepcopy_dict(x, memo)\r\n    255     memo[id(x)] = y\r\n    256     for key, value in x.iteritems():\r\n--> 257         y[deepcopy(key, memo)] = deepcopy(value, memo)\r\n    258     return y\r\n    259 d[dict] = _deepcopy_dict\r\n\r\n/Users/sbajaj/miniconda/lib/python2.7/copy.pyc in deepcopy(x, memo, _nil)\r\n    188                             raise Error(\r\n    189                                 \"un(deep)copyable object of type %s\" % cls)\r\n--> 190                 y = _reconstruct(x, rv, 1, memo)\r\n    191 \r\n    192     memo[d] = y\r\n\r\n/Users/sbajaj/miniconda/lib/python2.7/copy.pyc in _reconstruct(x, info, deep, memo)\r\n    327     if deep:\r\n    328         args = deepcopy(args, memo)\r\n--> 329     y = callable(*args)\r\n    330     memo[id(x)] = y\r\n    331 \r\n\r\n/Users/sbajaj/miniconda/lib/python2.7/copy_reg.pyc in __newobj__(cls, *args)\r\n     91 \r\n     92 def __newobj__(cls, *args):\r\n---> 93     return cls.__new__(cls, *args)\r\n     94 \r\n     95 def _slotnames(cls):\r\n\r\nsframe/cython/cy_sframe.pyx in sframe.cython.cy_sframe.UnitySFrameProxy.__cinit__()\r\n\r\nTypeError: __cinit__() takes at least 1 positional argument (0 given)\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/dato-code/SFrame/issues/comments/156583432","html_url":"https://github.com/dato-code/SFrame/issues/85#issuecomment-156583432","issue_url":"https://api.github.com/repos/dato-code/SFrame/issues/85","id":156583432,"user":{"login":"hoytak","id":56061,"avatar_url":"https://avatars.githubusercontent.com/u/56061?v=3","gravatar_id":"","url":"https://api.github.com/users/hoytak","html_url":"https://github.com/hoytak","followers_url":"https://api.github.com/users/hoytak/followers","following_url":"https://api.github.com/users/hoytak/following{/other_user}","gists_url":"https://api.github.com/users/hoytak/gists{/gist_id}","starred_url":"https://api.github.com/users/hoytak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hoytak/subscriptions","organizations_url":"https://api.github.com/users/hoytak/orgs","repos_url":"https://api.github.com/users/hoytak/repos","events_url":"https://api.github.com/users/hoytak/events{/privacy}","received_events_url":"https://api.github.com/users/hoytak/received_events","type":"User","site_admin":false},"created_at":"2015-11-13T23:04:05Z","updated_at":"2015-11-13T23:04:05Z","body":"@ylow:  Yes, but we should support the __deepcopy__ method so the above works correctly. "}}