{"action":"opened","issue":{"url":"https://api.github.com/repos/micropython/micropython/issues/1125","labels_url":"https://api.github.com/repos/micropython/micropython/issues/1125/labels{/name}","comments_url":"https://api.github.com/repos/micropython/micropython/issues/1125/comments","events_url":"https://api.github.com/repos/micropython/micropython/issues/1125/events","html_url":"https://github.com/micropython/micropython/issues/1125","id":58093213,"number":1125,"title":"Standarizing make_new() methods","user":{"login":"danicampora","id":7749335,"avatar_url":"https://avatars.githubusercontent.com/u/7749335?v=3","gravatar_id":"","url":"https://api.github.com/users/danicampora","html_url":"https://github.com/danicampora","followers_url":"https://api.github.com/users/danicampora/followers","following_url":"https://api.github.com/users/danicampora/following{/other_user}","gists_url":"https://api.github.com/users/danicampora/gists{/gist_id}","starred_url":"https://api.github.com/users/danicampora/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danicampora/subscriptions","organizations_url":"https://api.github.com/users/danicampora/orgs","repos_url":"https://api.github.com/users/danicampora/repos","events_url":"https://api.github.com/users/danicampora/events{/privacy}","received_events_url":"https://api.github.com/users/danicampora/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-02-18T16:45:09Z","updated_at":"2015-02-18T16:45:09Z","closed_at":null,"body":"I noticed, that the parameters format of the `make_new()` methods is not standard for classes within the pyb module. For example, many of them accept keyword arguments (Pin, I2C, SPI), but some others don't (ADC is one example). Also, `socket.socket()` doesn't accept kargs the way is implemented now (stmhal, cc3200), while according to CPython it should.\r\nWe should decide if we will always accept keyword arguments for creating objects, and at the same time follow CPython's pattern. Or we could choose not support them at all (to reduce code size for example). Either way we go, it should be consistent across all modules.\r\nThoughts?"}}