{"action":"created","issue":{"url":"https://api.github.com/repos/jgarff/rpi_ws281x/issues/267","repository_url":"https://api.github.com/repos/jgarff/rpi_ws281x","labels_url":"https://api.github.com/repos/jgarff/rpi_ws281x/issues/267/labels{/name}","comments_url":"https://api.github.com/repos/jgarff/rpi_ws281x/issues/267/comments","events_url":"https://api.github.com/repos/jgarff/rpi_ws281x/issues/267/events","html_url":"https://github.com/jgarff/rpi_ws281x/issues/267","id":291558293,"number":267,"title":"Proposal: Remove Python & Go bindings to their own repositories","user":{"login":"Gadgetoid","id":1746967,"avatar_url":"https://avatars3.githubusercontent.com/u/1746967?v=4","gravatar_id":"","url":"https://api.github.com/users/Gadgetoid","html_url":"https://github.com/Gadgetoid","followers_url":"https://api.github.com/users/Gadgetoid/followers","following_url":"https://api.github.com/users/Gadgetoid/following{/other_user}","gists_url":"https://api.github.com/users/Gadgetoid/gists{/gist_id}","starred_url":"https://api.github.com/users/Gadgetoid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gadgetoid/subscriptions","organizations_url":"https://api.github.com/users/Gadgetoid/orgs","repos_url":"https://api.github.com/users/Gadgetoid/repos","events_url":"https://api.github.com/users/Gadgetoid/events{/privacy}","received_events_url":"https://api.github.com/users/Gadgetoid/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2018-01-25T12:47:03Z","updated_at":"2018-02-01T14:52:04Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"I don't believe having the Python & Go code here is a good idea, for many reasons but most prominent of all is that they add unnecessary burden to the maintainer, @jgarff, who must deal with PRs and issues against the language ports, in addition to the core C library.\r\n\r\nIt also sets a precedent that other language ports should be PR'd into this repository, rather than maintained by domain experts in their own repositories. This doesn't result in a very good separation of concerns. Although I appreciate it catches the edge-case where an issue with the *core* library might be reported against a specific port.\r\n\r\nDo we really need to be funnelling fixes/issues for Python, Go, Mono - https://github.com/jgarff/rpi_ws281x/pull/58/files - and Rust - https://github.com/jgarff/rpi_ws281x/issues/265 - bindings for this library through one person?\r\n\r\nI have the solution for Python- While it will almost certainly come across as self-serving to some, I propose that we instead focus on Pimoroni's hard fork of the Python bindings which currently lives here: https://github.com/pimoroni/rpi_ws281x-python\r\n\r\nWhy?\r\n\r\n* It's part of my job to maintain these bindings, so I have a vested interest in keeping on top of PRs and issues\r\n* These bindings are packaged and distributed via pypi, they're what you're installing if you type `sudo pip install rpi_ws281x`. There is no distribution for the Python code in this repository.\r\n* Right now we have duplication of effort- eg: https://github.com/pimoroni/rpi_ws281x-python/pull/1 versus: https://github.com/jgarff/rpi_ws281x/pull/266\r\n* I am still planning to distribute these bindings, and rpi_ws281x itself, as deb packages and submit them for inclusion in the Raspbian repository (I already do this for many Python libraries).\r\n\r\nRight now this repository has multiple outstanding PRs and issues concerning the Python bindings:\r\nhttps://github.com/jgarff/rpi_ws281x/pull/258\r\nhttps://github.com/jgarff/rpi_ws281x/pull/192\r\nhttps://github.com/jgarff/rpi_ws281x/pull/163\r\n\r\nhttps://github.com/jgarff/rpi_ws281x/issues/252\r\nhttps://github.com/jgarff/rpi_ws281x/issues/247\r\nhttps://github.com/jgarff/rpi_ws281x/issues/225\r\n\r\nFrankly, this stuff is making this repository a confusing mess. So this is my impassioned petition to ask @jgarff to find a maintainer for the Go bindings in this library, and for us to work together to EOL the Go and Python bindings maintained here.\r\n\r\nFeedback, particularly from the major contributors here is much appreciated;\r\n\r\n* Golang - @cpheps @pietrodn @darinkes @supcik \r\n* Mono - @zivillian\r\n* Rust - @jmurph2015\r\n\r\nAnd in general @penfold42 and @jgarff \r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/jgarff/rpi_ws281x/issues/comments/362288991","html_url":"https://github.com/jgarff/rpi_ws281x/issues/267#issuecomment-362288991","issue_url":"https://api.github.com/repos/jgarff/rpi_ws281x/issues/267","id":362288991,"user":{"login":"JMurph2015","id":6632756,"avatar_url":"https://avatars2.githubusercontent.com/u/6632756?v=4","gravatar_id":"","url":"https://api.github.com/users/JMurph2015","html_url":"https://github.com/JMurph2015","followers_url":"https://api.github.com/users/JMurph2015/followers","following_url":"https://api.github.com/users/JMurph2015/following{/other_user}","gists_url":"https://api.github.com/users/JMurph2015/gists{/gist_id}","starred_url":"https://api.github.com/users/JMurph2015/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JMurph2015/subscriptions","organizations_url":"https://api.github.com/users/JMurph2015/orgs","repos_url":"https://api.github.com/users/JMurph2015/repos","events_url":"https://api.github.com/users/JMurph2015/events{/privacy}","received_events_url":"https://api.github.com/users/JMurph2015/received_events","type":"User","site_admin":false},"created_at":"2018-02-01T14:52:04Z","updated_at":"2018-02-01T14:52:04Z","author_association":"NONE","body":"Also, I've had good luck in the past with using Git submodules (like I did with the Rust bindings I've made).  It makes it easy to track another repo, and in my case I was even able to set up my build system to ensure that all submodules were initialized and downloaded before compilation.  So I'm all for at least my repo using a submodule to grab the C source."}}
{"actor":{"display_login":"JMurph2015"}}