streamdeck-gui-ng 4.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of streamdeck-gui-ng might be problematic. Click here for more details.

Files changed (61) hide show
  1. streamdeck_gui_ng-4.2.3/LICENSE +21 -0
  2. streamdeck_gui_ng-4.2.3/PKG-INFO +141 -0
  3. streamdeck_gui_ng-4.2.3/README.md +115 -0
  4. streamdeck_gui_ng-4.2.3/pyproject.toml +68 -0
  5. streamdeck_gui_ng-4.2.3/streamdeck_ui/__init__.py +6 -0
  6. streamdeck_gui_ng-4.2.3/streamdeck_ui/api.py +712 -0
  7. streamdeck_gui_ng-4.2.3/streamdeck_ui/button.ui +1214 -0
  8. streamdeck_gui_ng-4.2.3/streamdeck_ui/cli/__init__.py +0 -0
  9. streamdeck_gui_ng-4.2.3/streamdeck_ui/cli/commands.py +191 -0
  10. streamdeck_gui_ng-4.2.3/streamdeck_ui/cli/server.py +292 -0
  11. streamdeck_gui_ng-4.2.3/streamdeck_ui/config.py +244 -0
  12. streamdeck_gui_ng-4.2.3/streamdeck_ui/dimmer.py +93 -0
  13. streamdeck_gui_ng-4.2.3/streamdeck_ui/display/__init__.py +0 -0
  14. streamdeck_gui_ng-4.2.3/streamdeck_ui/display/background_color_filter.py +41 -0
  15. streamdeck_gui_ng-4.2.3/streamdeck_ui/display/display_grid.py +265 -0
  16. streamdeck_gui_ng-4.2.3/streamdeck_ui/display/empty_filter.py +43 -0
  17. streamdeck_gui_ng-4.2.3/streamdeck_ui/display/filter.py +65 -0
  18. streamdeck_gui_ng-4.2.3/streamdeck_ui/display/image_filter.py +144 -0
  19. streamdeck_gui_ng-4.2.3/streamdeck_ui/display/keypress_filter.py +63 -0
  20. streamdeck_gui_ng-4.2.3/streamdeck_ui/display/pipeline.py +74 -0
  21. streamdeck_gui_ng-4.2.3/streamdeck_ui/display/pulse_filter.py +54 -0
  22. streamdeck_gui_ng-4.2.3/streamdeck_ui/display/text_filter.py +142 -0
  23. streamdeck_gui_ng-4.2.3/streamdeck_ui/fonts/roboto/LICENSE.txt +202 -0
  24. streamdeck_gui_ng-4.2.3/streamdeck_ui/fonts/roboto/Roboto-Black.ttf +0 -0
  25. streamdeck_gui_ng-4.2.3/streamdeck_ui/fonts/roboto/Roboto-BlackItalic.ttf +0 -0
  26. streamdeck_gui_ng-4.2.3/streamdeck_ui/fonts/roboto/Roboto-Bold.ttf +0 -0
  27. streamdeck_gui_ng-4.2.3/streamdeck_ui/fonts/roboto/Roboto-BoldItalic.ttf +0 -0
  28. streamdeck_gui_ng-4.2.3/streamdeck_ui/fonts/roboto/Roboto-Italic.ttf +0 -0
  29. streamdeck_gui_ng-4.2.3/streamdeck_ui/fonts/roboto/Roboto-Light.ttf +0 -0
  30. streamdeck_gui_ng-4.2.3/streamdeck_ui/fonts/roboto/Roboto-LightItalic.ttf +0 -0
  31. streamdeck_gui_ng-4.2.3/streamdeck_ui/fonts/roboto/Roboto-Medium.ttf +0 -0
  32. streamdeck_gui_ng-4.2.3/streamdeck_ui/fonts/roboto/Roboto-MediumItalic.ttf +0 -0
  33. streamdeck_gui_ng-4.2.3/streamdeck_ui/fonts/roboto/Roboto-Regular.ttf +0 -0
  34. streamdeck_gui_ng-4.2.3/streamdeck_ui/fonts/roboto/Roboto-Thin.ttf +0 -0
  35. streamdeck_gui_ng-4.2.3/streamdeck_ui/fonts/roboto/Roboto-ThinItalic.ttf +0 -0
  36. streamdeck_gui_ng-4.2.3/streamdeck_ui/gui.py +1423 -0
  37. streamdeck_gui_ng-4.2.3/streamdeck_ui/icons/add_page.png +0 -0
  38. streamdeck_gui_ng-4.2.3/streamdeck_ui/icons/cross.png +0 -0
  39. streamdeck_gui_ng-4.2.3/streamdeck_ui/icons/gear.png +0 -0
  40. streamdeck_gui_ng-4.2.3/streamdeck_ui/icons/horizontal-align.png +0 -0
  41. streamdeck_gui_ng-4.2.3/streamdeck_ui/icons/remove_page.png +0 -0
  42. streamdeck_gui_ng-4.2.3/streamdeck_ui/icons/vertical-align.png +0 -0
  43. streamdeck_gui_ng-4.2.3/streamdeck_ui/icons/warning_icon_button.png +0 -0
  44. streamdeck_gui_ng-4.2.3/streamdeck_ui/logger.py +11 -0
  45. streamdeck_gui_ng-4.2.3/streamdeck_ui/logo.png +0 -0
  46. streamdeck_gui_ng-4.2.3/streamdeck_ui/main.ui +407 -0
  47. streamdeck_gui_ng-4.2.3/streamdeck_ui/mock_streamdeck.py +204 -0
  48. streamdeck_gui_ng-4.2.3/streamdeck_ui/model.py +78 -0
  49. streamdeck_gui_ng-4.2.3/streamdeck_ui/modules/__init__.py +0 -0
  50. streamdeck_gui_ng-4.2.3/streamdeck_ui/modules/fonts.py +150 -0
  51. streamdeck_gui_ng-4.2.3/streamdeck_ui/modules/keyboard.py +447 -0
  52. streamdeck_gui_ng-4.2.3/streamdeck_ui/modules/utils/__init__.py +0 -0
  53. streamdeck_gui_ng-4.2.3/streamdeck_ui/modules/utils/timers.py +35 -0
  54. streamdeck_gui_ng-4.2.3/streamdeck_ui/resources.qrc +10 -0
  55. streamdeck_gui_ng-4.2.3/streamdeck_ui/resources_rc.py +324 -0
  56. streamdeck_gui_ng-4.2.3/streamdeck_ui/semaphore.py +38 -0
  57. streamdeck_gui_ng-4.2.3/streamdeck_ui/settings.ui +155 -0
  58. streamdeck_gui_ng-4.2.3/streamdeck_ui/stream_deck_monitor.py +157 -0
  59. streamdeck_gui_ng-4.2.3/streamdeck_ui/ui_button.py +421 -0
  60. streamdeck_gui_ng-4.2.3/streamdeck_ui/ui_main.py +267 -0
  61. streamdeck_gui_ng-4.2.3/streamdeck_ui/ui_settings.py +119 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2019 Timothy Crosley
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,141 @@
1
+ Metadata-Version: 2.4
2
+ Name: streamdeck-gui-ng
3
+ Version: 4.2.3
4
+ Summary: Next Generation Linux UI for the Elgato Stream Deck - Modernized fork with Python 3.11+ support
5
+ License: MIT
6
+ License-File: LICENSE
7
+ Author: Timothy Crosley
8
+ Author-email: timothy.crosley@gmail.com
9
+ Maintainer: millaguie
10
+ Maintainer-email: millaguie@users.noreply.github.com
11
+ Requires-Python: >=3.11,<3.14
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Requires-Dist: CairoSVG (>=2.5.2,<3.0.0)
18
+ Requires-Dist: evdev (>=1.6.1,<2.0.0)
19
+ Requires-Dist: filetype (>=1.0.10,<2.0.0)
20
+ Requires-Dist: importlib-metadata (>=6.8.0,<7.0.0)
21
+ Requires-Dist: pillow (>=10.3.0)
22
+ Requires-Dist: pyside6 (>=6.4.2,<7.0.0)
23
+ Requires-Dist: streamdeck (>=0.9.5,<0.10.0)
24
+ Description-Content-Type: text/markdown
25
+
26
+ [![streamdeck-gui-ng - Next Generation Linux UI for the Elgato Stream Deck](docs/art/logo_large.png)](https://github.com/millaguie/streamdeck-gui-ng)
27
+ _________________
28
+
29
+ [![PyPI version](https://badge.fury.io/py/streamdeck-gui-ng.svg)](https://pypi.org/project/streamdeck-gui-ng/)
30
+ [![Build Status](https://github.com/millaguie/streamdeck-gui-ng/actions/workflows/test.yaml/badge.svg)](https://github.com/millaguie/streamdeck-gui-ng/actions/workflows/test.yaml?query=branch%3Amain)
31
+ [![Docs Status](https://github.com/millaguie/streamdeck-gui-ng/actions/workflows/docs.yml/badge.svg)](https://github.com/millaguie/streamdeck-gui-ng/actions/workflows/docs.yml)
32
+ [![License](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/millaguie/streamdeck-gui-ng)
33
+ [![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://timothycrosley.github.io/isort/)
34
+ [![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)
35
+
36
+ _________________
37
+
38
+ **streamdeck-gui-ng** - Next Generation Linux compatible UI for the Elgato Stream Deck.
39
+
40
+ ## Why This Fork?
41
+
42
+ I use Stream Deck every day and depend on it for my workflow. When I noticed that streamdeck-linux-gui had entered maintenance mode and was no longer accepting new features, I decided to fork it to ensure continued development and modernization.
43
+
44
+ This fork aims to:
45
+
46
+ - Modernize the codebase with support for current Python versions (3.11+)
47
+ - Fix security vulnerabilities and keep dependencies up to date
48
+ - Continue active development and feature improvements
49
+ - Maintain compatibility with the latest Stream Deck devices
50
+
51
+ ## Project History
52
+
53
+ **streamdeck-gui-ng** is the third generation of this project:
54
+
55
+ 1. **[streamdeck_ui](https://github.com/timothycrosley/streamdeck-ui)** (Original) - Created by Timothy Crosley, this was the first Linux UI for Stream Deck. The project was abandoned when the original author disappeared.
56
+
57
+ 2. **[streamdeck-linux-gui](https://github.com/streamdeck-linux-gui/streamdeck-linux-gui)** (First Fork) - The community forked the original project to keep it alive. However, this fork eventually entered maintenance mode in 2024, accepting only critical bug fixes while directing users to [StreamController](https://github.com/StreamController/StreamController) for new features.
58
+
59
+ 3. **streamdeck-gui-ng** (This Fork) - A modernized continuation for users who prefer the original architecture and want continued development of this proven codebase.
60
+
61
+ All credit to the original authors and the many contributors to both previous projects. This fork builds on their excellent work.
62
+
63
+ ![Streamdeck UI Usage Example](docs/art/example.gif)
64
+
65
+ ## Key Features
66
+
67
+ - **Linux Compatible**: Enables usage of Stream Deck devices (Original, MK2, Mini and XL) on Linux.
68
+ - **Multi-device**: Enables connecting and configuring multiple Stream Decks on one computer.
69
+ - **Brightness Control**: Supports controlling the brightness from both the configuration UI and buttons on the device itself.
70
+ - **Configurable Button Display**: Icons + Text, Icon Only, and Text Only configurable per button on the Stream Deck.
71
+ - **Multi-Action Support**: Run commands, write text and press hotkey combinations at the press of a single button on your Stream Deck.
72
+ - **Button Pages**: streamdeck_ui supports multiple pages of buttons and dynamically setting up buttons to switch between those pages.
73
+ - **Auto Reconnect**: Automatically and gracefully reconnects, in the case the device is unplugged and replugged in.
74
+ - **Import/Export**: Supports saving and restoring Stream Deck configuration.
75
+ - **Drag/Drop**: Move buttons by simply drag and drop.
76
+ - **Drag/Drop Image**: Configure a button image by dragging it from your file manager onto the button.
77
+ - **Auto Dim**: Configure the Stream Deck to automatically dim the display after a period of time. A button press wakes it up again.
78
+ - **Animated icons**: Use an animated gif to liven things up a bit.
79
+ - **Runs under systemd**: Run automatically in the background as a systemd --user service.
80
+ - **Stream Deck Pedal**: Supports actions when pressing pedals.
81
+
82
+ # Documentation
83
+
84
+ Communication with the Stream Deck is powered by the [Python Elgato Stream Deck Library](https://github.com/abcminiuser/python-elgato-streamdeck#python-elgato-stream-deck-library).
85
+
86
+ Documentation is available at [https://millaguie.github.io/streamdeck-gui-ng/](https://millaguie.github.io/streamdeck-gui-ng/)
87
+
88
+ ## Installation Guides
89
+
90
+ - [Arch/Manjaro](docs/installation/arch.md)
91
+ - [CentOS](docs/installation/centos.md)
92
+ - [Fedora](docs/installation/fedora.md)
93
+ - [NixOS](docs/installation/nixos.md)
94
+ - [openSUSE](docs/installation/opensuse.md)
95
+ - [Ubuntu/Mint](docs/installation/ubuntu.md)
96
+
97
+ Once you're up and running, consider installing a [systemd service](docs/installation/systemd.md).
98
+
99
+ > Use the [troubleshooting](docs/troubleshooting.md) guide or [search](https://github.com/millaguie/streamdeck-gui-ng/issues?q=is%3Aissue) the issues for guidance. If you cannot find on the issue on this repository please try searching on the original at [streamdeck_ui](https://github.com/timothycrosley/streamdeck-ui/issues?q=is%3Aissue++).
100
+
101
+ ### Precooked Scripts
102
+
103
+ There are scripts for setting up streamdeck_ui on [Debian/Ubuntu](scripts/ubuntu_install.sh) and [Fedora](scripts/fedora_install.sh).
104
+
105
+ ## Updating Documentation
106
+
107
+ Documentation is powered by mkdocs-material, and its on the [docs](docs/) folder. Install it with `pip install mkdocs-material` and run `mkdocs serve` to see the changes locally, before submitting a PR.
108
+
109
+ ## Development & Contributions
110
+
111
+ Contributuions encouraged and very welcome, however some rules and guidelines must be followed!
112
+
113
+ ### General Guidelines
114
+
115
+ - The project is versioned according to [Semantic Versioning](https://semver.org/).
116
+ - When writing your commit messages, please follow the [Angular commit message](https://gist.github.com/brianclements/841ea7bffdb01346392c).
117
+ - Pull requests should be made against the `develop` branch, so please make sure you check out the `develop` branch.
118
+ - Pull requests should include tests and documentation as appropriate.
119
+ - When opening a pull request, if possible, attach a screenshot or GIF of the changes.
120
+ - Please read the [contributing guide](https://github.com/millaguie/streamdeck-gui-ng/blob/main/docs/contributing/contributing-guide.md) for more information and instructions on how to get started.
121
+
122
+ ### Feature Requests
123
+
124
+ Open a new discussion with the `feature request` tag and describe the feature you would like to see implemented. If you have a screenshot or GIF of the feature, please attach it to the discussion.
125
+
126
+ ### Bug Reports
127
+
128
+ Open a [bug report](https://github.com/millaguie/streamdeck-gui-ng/issues) and follow the template. Please include as much information as possible.
129
+
130
+ ### Have a Question?
131
+
132
+ If you need any help, have a question, or just want to discuss something related to the project, please feel free to open a [discussion](https://github.com/millaguie/streamdeck-gui-ng/discussions).
133
+
134
+ ## Known issues
135
+
136
+ - pip package is not yet available for the current state of the project. Please install from source, currently trying to find a better way to provide the package.
137
+ - Streamdeck uses [pynput](https://github.com/moses-palmer/pynput) for simulating **Key Presses** but it lacks proper [support for Wayland](https://github.com/moses-palmer/pynput/issues/189). Generally your results will be good when using X (Ubuntu/Linux Mint). [This thread](https://github.com/timothycrosley/streamdeck-ui/issues/47) may be useful.
138
+ - **Key Press** or **Write Text** does not work on Fedora (outside of the streamdeck itself), which is not particularly useful. However, still do a lot with the **Command** feature.
139
+ - Some users have reported that the Stream Deck device does not work on all on specific USB ports, as it draws quite a bit of power and/or has [strict bandwidth requirements](https://github.com/timothycrosley/streamdeck-ui/issues/69#issuecomment-715887397). Try a different port.
140
+ - If you are executing a shell script from the Command feature - remember to add the shebang at the top of your file, for the language in question. `#!/bin/bash` or `#!/usr/bin/python3` etc. The streamdeck may appear to lock up if you don't under some distros.
141
+
@@ -0,0 +1,115 @@
1
+ [![streamdeck-gui-ng - Next Generation Linux UI for the Elgato Stream Deck](docs/art/logo_large.png)](https://github.com/millaguie/streamdeck-gui-ng)
2
+ _________________
3
+
4
+ [![PyPI version](https://badge.fury.io/py/streamdeck-gui-ng.svg)](https://pypi.org/project/streamdeck-gui-ng/)
5
+ [![Build Status](https://github.com/millaguie/streamdeck-gui-ng/actions/workflows/test.yaml/badge.svg)](https://github.com/millaguie/streamdeck-gui-ng/actions/workflows/test.yaml?query=branch%3Amain)
6
+ [![Docs Status](https://github.com/millaguie/streamdeck-gui-ng/actions/workflows/docs.yml/badge.svg)](https://github.com/millaguie/streamdeck-gui-ng/actions/workflows/docs.yml)
7
+ [![License](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/millaguie/streamdeck-gui-ng)
8
+ [![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://timothycrosley.github.io/isort/)
9
+ [![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)
10
+
11
+ _________________
12
+
13
+ **streamdeck-gui-ng** - Next Generation Linux compatible UI for the Elgato Stream Deck.
14
+
15
+ ## Why This Fork?
16
+
17
+ I use Stream Deck every day and depend on it for my workflow. When I noticed that streamdeck-linux-gui had entered maintenance mode and was no longer accepting new features, I decided to fork it to ensure continued development and modernization.
18
+
19
+ This fork aims to:
20
+
21
+ - Modernize the codebase with support for current Python versions (3.11+)
22
+ - Fix security vulnerabilities and keep dependencies up to date
23
+ - Continue active development and feature improvements
24
+ - Maintain compatibility with the latest Stream Deck devices
25
+
26
+ ## Project History
27
+
28
+ **streamdeck-gui-ng** is the third generation of this project:
29
+
30
+ 1. **[streamdeck_ui](https://github.com/timothycrosley/streamdeck-ui)** (Original) - Created by Timothy Crosley, this was the first Linux UI for Stream Deck. The project was abandoned when the original author disappeared.
31
+
32
+ 2. **[streamdeck-linux-gui](https://github.com/streamdeck-linux-gui/streamdeck-linux-gui)** (First Fork) - The community forked the original project to keep it alive. However, this fork eventually entered maintenance mode in 2024, accepting only critical bug fixes while directing users to [StreamController](https://github.com/StreamController/StreamController) for new features.
33
+
34
+ 3. **streamdeck-gui-ng** (This Fork) - A modernized continuation for users who prefer the original architecture and want continued development of this proven codebase.
35
+
36
+ All credit to the original authors and the many contributors to both previous projects. This fork builds on their excellent work.
37
+
38
+ ![Streamdeck UI Usage Example](docs/art/example.gif)
39
+
40
+ ## Key Features
41
+
42
+ - **Linux Compatible**: Enables usage of Stream Deck devices (Original, MK2, Mini and XL) on Linux.
43
+ - **Multi-device**: Enables connecting and configuring multiple Stream Decks on one computer.
44
+ - **Brightness Control**: Supports controlling the brightness from both the configuration UI and buttons on the device itself.
45
+ - **Configurable Button Display**: Icons + Text, Icon Only, and Text Only configurable per button on the Stream Deck.
46
+ - **Multi-Action Support**: Run commands, write text and press hotkey combinations at the press of a single button on your Stream Deck.
47
+ - **Button Pages**: streamdeck_ui supports multiple pages of buttons and dynamically setting up buttons to switch between those pages.
48
+ - **Auto Reconnect**: Automatically and gracefully reconnects, in the case the device is unplugged and replugged in.
49
+ - **Import/Export**: Supports saving and restoring Stream Deck configuration.
50
+ - **Drag/Drop**: Move buttons by simply drag and drop.
51
+ - **Drag/Drop Image**: Configure a button image by dragging it from your file manager onto the button.
52
+ - **Auto Dim**: Configure the Stream Deck to automatically dim the display after a period of time. A button press wakes it up again.
53
+ - **Animated icons**: Use an animated gif to liven things up a bit.
54
+ - **Runs under systemd**: Run automatically in the background as a systemd --user service.
55
+ - **Stream Deck Pedal**: Supports actions when pressing pedals.
56
+
57
+ # Documentation
58
+
59
+ Communication with the Stream Deck is powered by the [Python Elgato Stream Deck Library](https://github.com/abcminiuser/python-elgato-streamdeck#python-elgato-stream-deck-library).
60
+
61
+ Documentation is available at [https://millaguie.github.io/streamdeck-gui-ng/](https://millaguie.github.io/streamdeck-gui-ng/)
62
+
63
+ ## Installation Guides
64
+
65
+ - [Arch/Manjaro](docs/installation/arch.md)
66
+ - [CentOS](docs/installation/centos.md)
67
+ - [Fedora](docs/installation/fedora.md)
68
+ - [NixOS](docs/installation/nixos.md)
69
+ - [openSUSE](docs/installation/opensuse.md)
70
+ - [Ubuntu/Mint](docs/installation/ubuntu.md)
71
+
72
+ Once you're up and running, consider installing a [systemd service](docs/installation/systemd.md).
73
+
74
+ > Use the [troubleshooting](docs/troubleshooting.md) guide or [search](https://github.com/millaguie/streamdeck-gui-ng/issues?q=is%3Aissue) the issues for guidance. If you cannot find on the issue on this repository please try searching on the original at [streamdeck_ui](https://github.com/timothycrosley/streamdeck-ui/issues?q=is%3Aissue++).
75
+
76
+ ### Precooked Scripts
77
+
78
+ There are scripts for setting up streamdeck_ui on [Debian/Ubuntu](scripts/ubuntu_install.sh) and [Fedora](scripts/fedora_install.sh).
79
+
80
+ ## Updating Documentation
81
+
82
+ Documentation is powered by mkdocs-material, and its on the [docs](docs/) folder. Install it with `pip install mkdocs-material` and run `mkdocs serve` to see the changes locally, before submitting a PR.
83
+
84
+ ## Development & Contributions
85
+
86
+ Contributuions encouraged and very welcome, however some rules and guidelines must be followed!
87
+
88
+ ### General Guidelines
89
+
90
+ - The project is versioned according to [Semantic Versioning](https://semver.org/).
91
+ - When writing your commit messages, please follow the [Angular commit message](https://gist.github.com/brianclements/841ea7bffdb01346392c).
92
+ - Pull requests should be made against the `develop` branch, so please make sure you check out the `develop` branch.
93
+ - Pull requests should include tests and documentation as appropriate.
94
+ - When opening a pull request, if possible, attach a screenshot or GIF of the changes.
95
+ - Please read the [contributing guide](https://github.com/millaguie/streamdeck-gui-ng/blob/main/docs/contributing/contributing-guide.md) for more information and instructions on how to get started.
96
+
97
+ ### Feature Requests
98
+
99
+ Open a new discussion with the `feature request` tag and describe the feature you would like to see implemented. If you have a screenshot or GIF of the feature, please attach it to the discussion.
100
+
101
+ ### Bug Reports
102
+
103
+ Open a [bug report](https://github.com/millaguie/streamdeck-gui-ng/issues) and follow the template. Please include as much information as possible.
104
+
105
+ ### Have a Question?
106
+
107
+ If you need any help, have a question, or just want to discuss something related to the project, please feel free to open a [discussion](https://github.com/millaguie/streamdeck-gui-ng/discussions).
108
+
109
+ ## Known issues
110
+
111
+ - pip package is not yet available for the current state of the project. Please install from source, currently trying to find a better way to provide the package.
112
+ - Streamdeck uses [pynput](https://github.com/moses-palmer/pynput) for simulating **Key Presses** but it lacks proper [support for Wayland](https://github.com/moses-palmer/pynput/issues/189). Generally your results will be good when using X (Ubuntu/Linux Mint). [This thread](https://github.com/timothycrosley/streamdeck-ui/issues/47) may be useful.
113
+ - **Key Press** or **Write Text** does not work on Fedora (outside of the streamdeck itself), which is not particularly useful. However, still do a lot with the **Command** feature.
114
+ - Some users have reported that the Stream Deck device does not work on all on specific USB ports, as it draws quite a bit of power and/or has [strict bandwidth requirements](https://github.com/timothycrosley/streamdeck-ui/issues/69#issuecomment-715887397). Try a different port.
115
+ - If you are executing a shell script from the Command feature - remember to add the shebang at the top of your file, for the language in question. `#!/bin/bash` or `#!/usr/bin/python3` etc. The streamdeck may appear to lock up if you don't under some distros.
@@ -0,0 +1,68 @@
1
+ [tool.poetry]
2
+ name = "streamdeck-gui-ng"
3
+ version = "4.2.3"
4
+ description = "Next Generation Linux UI for the Elgato Stream Deck - Modernized fork with Python 3.11+ support"
5
+ authors = ["Timothy Crosley <timothy.crosley@gmail.com>"]
6
+ maintainers = ["millaguie <millaguie@users.noreply.github.com>"]
7
+ license = "MIT"
8
+ readme = "README.md"
9
+ packages = [
10
+ {include = "streamdeck_ui"}
11
+ ]
12
+
13
+
14
+ [tool.poetry.dependencies]
15
+ python = ">=3.11,<3.14"
16
+ streamdeck = "^0.9.5"
17
+ pillow = ">=10.3.0"
18
+ pyside6 = "^6.4.2"
19
+ CairoSVG = "^2.5.2"
20
+ filetype = "^1.0.10"
21
+ importlib-metadata = "^6.8.0"
22
+ evdev = "^1.6.1"
23
+
24
+ [tool.poetry.group.docs.dependencies]
25
+ mkdocs = ">=1.4.2"
26
+ mkdocs-material = ">=9.1.14"
27
+
28
+ [tool.poetry.group.test.dependencies]
29
+ pytest = "^7.4.3"
30
+ pytest-cov = "^4.1.0"
31
+ pytest-mock = "^3.12.0"
32
+ pytest-qt = "^4.2.0"
33
+
34
+ [tool.poetry.group.lint.dependencies]
35
+ black = "^24.3.0"
36
+ flake8-bugbear = "^24.0.0"
37
+ mypy = "^1.6.1"
38
+ pep8-naming = "^0.13.3"
39
+ vulture = "^2.10"
40
+ bandit = "^1.7.5"
41
+ safety = "^3.7.0"
42
+ isort = "^5.12.0"
43
+
44
+ [tool.poetry.scripts]
45
+ streamdeck = "streamdeck_ui.gui:start"
46
+ streamdeckc = "streamdeck_ui.cli.server:execute"
47
+
48
+ [build-system]
49
+ requires = ["poetry-core"]
50
+ build-backend = "poetry.core.masonry.api"
51
+
52
+ [tool.black]
53
+ line-length = 120
54
+
55
+ [tool.isort]
56
+ profile = "hug"
57
+
58
+ [tool.mypy]
59
+ python_version = "3.11"
60
+
61
+ [tool.portray]
62
+ output_dir = "site"
63
+ include_reference_documentation = false
64
+ extra_dirs = ["art", "images", "media", "scripts"]
65
+
66
+ [tool.portray.mkdocs]
67
+ repo_url = "https://github.com/millaguie/streamdeck-gui-ng"
68
+ edit_uri = "edit/main/"
@@ -0,0 +1,6 @@
1
+ """**streamdeck_ui**
2
+
3
+ A Linux compatible UI for the Elgato Stream Deck.
4
+ """
5
+
6
+ __version__ = "1.0.2"