{"id":15286925,"url":"https://github.com/jamesridgway/devdeck","last_synced_at":"2025-04-09T13:06:18.594Z","repository":{"id":41448310,"uuid":"310913216","full_name":"jamesridgway/devdeck","owner":"jamesridgway","description":"Stream Deck control software for software developer's.","archived":false,"fork":false,"pushed_at":"2024-06-01T19:09:34.000Z","size":6940,"stargazers_count":126,"open_issues_count":12,"forks_count":15,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-02T11:07:07.071Z","etag":null,"topics":["devdeck","elgato","home-assistant","python","slack","stream-deck"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jamesridgway.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":"2020-11-07T19:04:12.000Z","updated_at":"2025-01-28T22:52:17.000Z","dependencies_parsed_at":"2024-10-30T01:24:25.511Z","dependency_job_id":null,"html_url":"https://github.com/jamesridgway/devdeck","commit_stats":{"total_commits":74,"total_committers":3,"mean_commits":"24.666666666666668","dds":0.1216216216216216,"last_synced_commit":"5939b4a2e7779351c0f0fd6aaa20081828dfc71d"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesridgway%2Fdevdeck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesridgway%2Fdevdeck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesridgway%2Fdevdeck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesridgway%2Fdevdeck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamesridgway","download_url":"https://codeload.github.com/jamesridgway/devdeck/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248045231,"owners_count":21038553,"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":["devdeck","elgato","home-assistant","python","slack","stream-deck"],"created_at":"2024-09-30T15:19:07.851Z","updated_at":"2025-04-09T13:06:18.546Z","avatar_url":"https://github.com/jamesridgway.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dev Deck\n![CI](https://github.com/jamesridgway/devdeck/workflows/CI/badge.svg?branch=main)\n\nStream Deck control software for software developer's.\n\n[![DevDeck Demo](https://files.jamesridgway.co.uk/images/streamdeck-yt-thumbnail.png)](https://www.youtube.com/watch?v=4ZvrVFW562w)\n\n## Getting Started\n\nIf this is your fist time using a StreamDeck make sure to follow the [Pre-requisite: LibUSB HIDAPI Backend](https://github.com/jamesridgway/devdeck/wiki/Installation#pre-requisite-libusb-hidapi-backend) steps documented in the wiki\n\nInstall DevDeck\n\n    pip install devdeck\n\n\nYou should then be able to run DevDeck by running:\n\n    devdeck\n\nThe first time that DevDeck is run, it will generate a basic `~/.devdeck/settings.yml` populated with the clock control for any Stream Decks that are connected.\n\n\n## Built-in Controls\nDev Deck ships with the following controls:\n\n* [Clock Control](https://github.com/jamesridgway/devdeck/wiki/Controls#clock-control)\n  \n  `devdeck.controls.clock_control.ClockControl` is a clock widget for displaying the date and time\n\n* [Command Execution](https://github.com/jamesridgway/devdeck/wiki/Controls#command-control)\n  \n  `devdeck.controls.command_control.CommandControl` is a control for executing commands on your computer. You can\n   specify any command and icon for the given action.\n\n* [Microphone Mute Toggle](https://github.com/jamesridgway/devdeck/wiki/Controls#mic-mute-control)\n\n  `devdeck.controls.mic_mute_control.MicMuteControl` toggles the mute on a given microphone input.\n\n* [Name List](https://github.com/jamesridgway/devdeck/wiki/Controls#name-list-control)\n\n  `devdeck.controls.name_list_control.NameListControl` cycles through initials from a list of names. Useful for things\n  like stand-ups were you need to rotate through a team and make sure you cover everyone.\n  \n* [Timer](https://github.com/jamesridgway/devdeck/wiki/Controls#timer-control)\n  \n  `devdeck.controls.timer_control.TimerControl` a basic stopwatch timer that can be used to start/stop/reset timing.\n\n* [Volume Control](https://github.com/jamesridgway/devdeck/wiki/Controls#volume-level-control)\n\n  `devdeck.controls.volume_level_control.VolumeLevelControl` sets the volume for a given output to a specified volume \n  level.\n\n\n* [Volume Mute Control](https://github.com/jamesridgway/devdeck/wiki/Controls#volume-mute-control)\n\n  `devdeck.controls.volume_mute_control.VolumeMuteControl` toggles the muting of a given output.\n\n\n## Built-in Decks\n\n* [Single Page Deck](https://github.com/jamesridgway/devdeck/wiki/Decks#singlepagedeckcontroller)\n\n  `devdeck.decks.single_page_deck_controller.SinglePageDeckController` provides a basic single page deck for\n  controls to be arranged on.\n\n* [Volume Deck](https://github.com/jamesridgway/devdeck/wiki/Decks#volumedeck)\n\n  `devdeck.decks.volume_deck.VolumeDeck` is a pre-built volume deck which will show volume toggles between 0% and 100%\n  at 10% increments.\n\n## Plugins\nThere are a few controls that are provided as plugins. You can always write your own plugin if you can't find the\nfunctionality that you're after:\n\n* [devdeck-slack](https://github.com/jamesridgway/devdeck-slack)\n\n  Controls and decks for Slack. Toggle presence, change status, snooze notifications, etc.\n\n* [devdeck-home-assistant](https://github.com/jamesridgway/devdeck-home-assistant)\n\n  Controls and decks for Home Assistant. Toggle lights, switches, etc.\n\n* [devdeck-key-light](https://github.com/jamesridgway/devdeck-key-light)\n\n  Controls and decks for controlling an Elgato Key Light.\n\n## Implementing Custom Controls\nCan't find support for what you want? Implement your own `DeckControl` or `DeckController`·\n\n* `DeckControl`\n  \n  A `DeckControl` is an individual button that can be placed on a deck.\n  \n* `DeckController`\n\n  A `DeckController` is fronted by a button, pressing the button will take you to a deck screen tailored for the\n  given functionality.\n  \n  For example: Slack is implemented as a DeckController. Pressing the slack button will then present you with buttons\n  for specific statuses.\n \n ## Developing for DevDeck\n Pull requests and contributions to this project are welcome.\n \n You can get setup with a virtual environment and all necessary dependencies by running:\n \n    ./setup.sh\n    \nTests can be run by running:\n\n    ./run-tests.sh\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesridgway%2Fdevdeck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamesridgway%2Fdevdeck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesridgway%2Fdevdeck/lists"}