{"id":13563199,"url":"https://github.com/libratbag/piper","last_synced_at":"2025-05-13T17:10:49.332Z","repository":{"id":38087065,"uuid":"53108710","full_name":"libratbag/piper","owner":"libratbag","description":"GTK application to configure gaming devices","archived":false,"fork":false,"pushed_at":"2025-03-07T15:54:46.000Z","size":2769,"stargazers_count":5045,"open_issues_count":167,"forks_count":184,"subscribers_count":44,"default_branch":"master","last_synced_at":"2025-04-18T13:29:05.990Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libratbag.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2016-03-04T05:00:22.000Z","updated_at":"2025-04-17T10:28:12.000Z","dependencies_parsed_at":"2023-02-12T09:01:39.948Z","dependency_job_id":"b21ffec0-72a6-4dc9-8e91-d24920bdd1d2","html_url":"https://github.com/libratbag/piper","commit_stats":{"total_commits":635,"total_committers":85,"mean_commits":7.470588235294118,"dds":0.6692913385826771,"last_synced_commit":"3c3e3fc2408745adf978508f89ed6e848250c439"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libratbag%2Fpiper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libratbag%2Fpiper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libratbag%2Fpiper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libratbag%2Fpiper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libratbag","download_url":"https://codeload.github.com/libratbag/piper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250529462,"owners_count":21445623,"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":[],"created_at":"2024-08-01T13:01:16.340Z","updated_at":"2025-04-23T23:19:56.447Z","avatar_url":"https://github.com/libratbag.png","language":"Python","readme":"Piper\n=====\n\nPiper is a GTK+ application to configure gaming mice. Piper is merely a\ngraphical frontend to the ratbagd DBus daemon, see [the libratbag\nREADME](https://github.com/libratbag/libratbag/blob/master/README.md#running-ratbagd-as-dbus-activated-systemd-service)\nfor instructions on how to run ratbagd.\n\nIf you are running piper from git, we recommend using libratbag from git\nas well to make sure the latest bugfixes are applied.\n\nSupported Devices\n=================\nPiper is merely a frontend, the list of supported devices depends on\nlibratbag. See [the libratbag device\nfiles](https://github.com/libratbag/libratbag/tree/master/data/devices) for\na list of all known devices.  The device-specific protocols usually have to\nbe reverse-engineered and the features available may vary to the\nmanufacturer's advertized features.\n\nScreenshots\n===========\n\n![resolution configuration screenshot](https://github.com/libratbag/piper/blob/wiki/screenshots/piper-resolutionpage.png)\n\n![button configuration screenshot](https://github.com/libratbag/piper/blob/wiki/screenshots/piper-buttonpage.png)\n\n![LED configuration screenshot](https://github.com/libratbag/piper/blob/wiki/screenshots/piper-ledpage.png)\n\nAnd if you see the mousetrap, something isn't right. Usually this means that\neither ratbagd is not running (like in this screenshot), ratbagd needs to be\nupdated to a newer version, or some other unexpected error occured.\n\n![The error page](https://github.com/libratbag/piper/blob/wiki/screenshots/piper-errorpage.png)\n\nInstalling Piper\n================\n\nSee [our Wiki](https://github.com/libratbag/piper/wiki/Installation) for how to install Piper.\n\nBuilding Piper from git\n=======================\n\nPiper uses the [meson build system](http://mesonbuild.com/). Run the following\ncommands to clone Piper and initialize the build:\n\n```sh\ngit clone https://github.com/libratbag/piper.git\ncd piper\nmeson builddir --prefix=/usr/\n```\n\nTo build or re-build after code-changes and install, run:\n\n```sh\nninja -C builddir\nsudo ninja -C builddir install\n```\n\nNote: `builddir` is the build output directory and can be changed to any other\ndirectory name.\n\nSee [our Wiki](https://github.com/libratbag/piper/wiki/Installation) for what\nto do when you encounter missing dependencies.\n\nContributing\n============\n\nYes please. It's best to contact us first to see what you could do. Note that\nthe devices displayed by Piper come from libratbag.\n\nFor quicker development iteration, there is a special binary `piper.devel`\nthat uses data files from the git directory. This removes the need to\ninstall piper after every code change.\n\n```sh\nninja -C builddir\n./builddir/piper.devel\n```\nNote that this still requires ratbagd to run on the system bus.\n\nPiper tries to conform to Python's PEP8 style guide using the `black` formatter.\nChecking if code is formatted is done as a part of the test suite.\n\nYou can check if your code passes tests before submitting changes using the\nfollowing command:\n\n```sh\nmeson test -C builddir\n```\n\nSource\n======\n\n```sh\ngit clone https://github.com/libratbag/piper.git\n```\n\nBugs\n====\n\nBugs can be reported in the issue tracker on our GitHub repo:\nhttps://github.com/libratbag/piper/issues\n\nLicense\n=======\n\nLicensed under the GPLv2. See the\n[COPYING](https://github.com/libratbag/piper/blob/master/COPYING) file for the\nfull license information.\n","funding_links":[],"categories":["Python","Applications","Utilities","HarmonyOS","Tools"],"sub_categories":["Others","Advanced","Windows Manager","Peripherals","Table of Contents"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibratbag%2Fpiper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibratbag%2Fpiper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibratbag%2Fpiper/lists"}