{"id":23180365,"url":"https://github.com/armijnhemel/py3buddy","last_synced_at":"2025-07-14T18:14:28.166Z","repository":{"id":114017740,"uuid":"115756824","full_name":"armijnhemel/py3buddy","owner":"armijnhemel","description":"Python 3 code to work with the iBuddy MSN figurine","archived":false,"fork":false,"pushed_at":"2025-05-09T13:42:11.000Z","size":7442,"stargazers_count":6,"open_issues_count":3,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-09T14:02:01.118Z","etag":null,"topics":["dbus","earthquakes","pidgin","twitter","usb"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/armijnhemel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-29T22:00:07.000Z","updated_at":"2025-05-09T13:42:15.000Z","dependencies_parsed_at":"2024-12-18T07:48:15.414Z","dependency_job_id":null,"html_url":"https://github.com/armijnhemel/py3buddy","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/armijnhemel/py3buddy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armijnhemel%2Fpy3buddy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armijnhemel%2Fpy3buddy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armijnhemel%2Fpy3buddy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armijnhemel%2Fpy3buddy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/armijnhemel","download_url":"https://codeload.github.com/armijnhemel/py3buddy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armijnhemel%2Fpy3buddy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265328266,"owners_count":23747867,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dbus","earthquakes","pidgin","twitter","usb"],"created_at":"2024-12-18T07:28:07.276Z","updated_at":"2025-07-14T18:14:28.158Z","avatar_url":"https://github.com/armijnhemel.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# py3buddy\n\n**WARNING**: during a test of this project, our i-Buddy started to burn. Do not run this device unattended!\n\nPython 3 code to work with the iBuddy MSN figurine released under the MIT license.\n\n* `py3buddy.py` -- main file with class\n\n* `py3buddydbus.py` -- DBus wrapper around the iBuddy, accepts commands in the\nmacro language and executes it\n\n* `py3buddydemo.py` -- demo code (panic, looping through all colours, 8 sided\ndice, executing commands)\n\n* `py3buddy.config` -- example configuration file\n\n* `99-ibuddy.rules` -- udev rules for iBuddy with productid 0x0001, 0x0002,\n0x0004 and 0x0005. Add this to the right udev directory on your system (for\nexample: /etc/udev/rules.d/ on Fedora).\n\nThe following three scripts are likely no longer functioning due to changes\nin Twitter APIs and Pidging being no longer very useful as chat program and it\nhasn't seen much development. These scripts are there just for reference to\nsee how the library can be used.\n\n* `py3buddyearthquake.py` -- demo code (monitoring a Twitter channel with\nearthquake information and shake whenever the earth shakes). Needs the Python\nTwitter bindings (python3-twitter package on Fedora).\n\n* `py3buddyearthquakedbus.py` -- demo code (monitoring a Twitter channel with\nearthquake information and shake whenever the earth shakes). Communicates over\nDBus with the iBuddy. Needs the Python Twitter bindings (python3-twitter\npackage on Fedora).\n\n* `py3buddypidgin.py` -- demo code to process some smileys from Pidgin using\nDBus\n\nIn the documentation directory `doc/` you can find:\n\n* `macro-language.txt` -- a description of the macro language that can be used\nto control the iBuddy.\n* `ibuddy-internals.md` -- a description of the iBuddy internals.\n\nThis code has been tested with iBuddy devices with USB product id 0x0001, 0x0002\n(regular) and 0x0004 (iBuddy Twins). There are apparently more iBuddy devices\nout there with different product ids (for example there are rumours that there\nare devices with 0x0006).\n\nPeople have reported success with:\n\n* iBuddy Devil (id 0x0005)\n\nThe following devices have not been tested with:\n\n* iBuddy black/white\n* iBuddy Angel\n* iBuddy Molly (if this was ever released)\n\nThis code was inspired by pybuddy (especially the idea for a macro language,\nalthough the original product also had something like this), but no code was\ncopied. The code for pybuddy can be found here (note: the original Google code\nsite seems to gone):\n\n\u003chttps://github.com/ewall/pybuddy/\u003e\n\nThe original version of pybuddy came with the following notice:\n\n    pybuddy: Python daemon to control your i-buddy USB device\n\n    by luis.peralta, Jose.Carlos.Luna, and leandro.vazquez\n    released under MIT License (http://www.opensource.org/licenses/mit-license.php)\n\n## Buying an iBuddy\n\nAs these devices were a flop they are a bit difficult to find, but with some\neffort you can still find them. There might still be shops selling them (at\neither full, or reduced prices) but in the past sellers have also offered\nthem in bulk.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farmijnhemel%2Fpy3buddy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farmijnhemel%2Fpy3buddy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farmijnhemel%2Fpy3buddy/lists"}