{"action":"opened","issue":{"url":"https://api.github.com/repos/SpiNNakerManchester/sPyNNaker/issues/120","labels_url":"https://api.github.com/repos/SpiNNakerManchester/sPyNNaker/issues/120/labels{/name}","comments_url":"https://api.github.com/repos/SpiNNakerManchester/sPyNNaker/issues/120/comments","events_url":"https://api.github.com/repos/SpiNNakerManchester/sPyNNaker/issues/120/events","html_url":"https://github.com/SpiNNakerManchester/sPyNNaker/issues/120","id":98370972,"number":120,"title":"Cells do not derive from \"IF_cond_exp\", missing \"default_parameters\" attribute","user":{"login":"astoeckel","id":1783545,"avatar_url":"https://avatars.githubusercontent.com/u/1783545?v=3","gravatar_id":"","url":"https://api.github.com/users/astoeckel","html_url":"https://github.com/astoeckel","followers_url":"https://api.github.com/users/astoeckel/followers","following_url":"https://api.github.com/users/astoeckel/following{/other_user}","gists_url":"https://api.github.com/users/astoeckel/gists{/gist_id}","starred_url":"https://api.github.com/users/astoeckel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/astoeckel/subscriptions","organizations_url":"https://api.github.com/users/astoeckel/orgs","repos_url":"https://api.github.com/users/astoeckel/repos","events_url":"https://api.github.com/users/astoeckel/events{/privacy}","received_events_url":"https://api.github.com/users/astoeckel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-07-31T11:17:50Z","updated_at":"2015-07-31T11:17:50Z","closed_at":null,"body":"In contrast to the standard PyNN backends and the ESS backend, sPyNNaker cell types do not inherit from their `pyNN.standardmodels.cells` counterpart and thus do not expose all the attribute one expects from a PyNN cell, such as `default_parameters`.\r\n\r\nSample code:\r\n\r\n    import pyNN.spiNNaker\r\n    pyNN.spiNNaker.IF_cond_exp.default_parameters\r\n\r\nResults in:\r\n\r\n    AttributeError: type object 'IFConductanceExponentialPopulation' has no attribute 'default_parameters'\r\n\r\nWhere the expected result is something along the lines of\r\n\r\n    {'cm': 1.0,\r\n     'e_rev_E': 0.0,\r\n     'e_rev_I': -70.0,\r\n     'i_offset': 0.0,\r\n     'tau_m': 20.0,\r\n     'tau_refrac': 0.1,\r\n     'tau_syn_E': 5.0,\r\n     'tau_syn_I': 5.0,\r\n     'v_reset': -65.0,\r\n     'v_rest': -65.0,\r\n     'v_thresh': -50.0}\r\n\r\nIn my opinion the best solution would be to derive from the correct base class to eliminate any surprising behaviour of the cell class. If you have to go on using duck typing please do it correctly by exposing the entire interface."}}