winipedia-pyside 0.2.24__tar.gz → 0.2.36__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.
Files changed (27) hide show
  1. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/PKG-INFO +1 -1
  2. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/pyproject.toml +2 -1
  3. winipedia_pyside-0.2.36/winipedia_pyside/workflows/configs.py +100 -0
  4. winipedia_pyside-0.2.24/winipedia_pyside/workflows/configs.py +0 -81
  5. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/LICENSE +0 -0
  6. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/README.md +0 -0
  7. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/__init__.py +0 -0
  8. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/core/__init__.py +0 -0
  9. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/core/py_qiodevice.py +0 -0
  10. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/py.typed +0 -0
  11. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/__init__.py +0 -0
  12. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/base/__init__.py +0 -0
  13. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/base/base.py +0 -0
  14. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/pages/__init__.py +0 -0
  15. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/pages/base/__init__.py +0 -0
  16. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/pages/base/base.py +0 -0
  17. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/pages/browser.py +0 -0
  18. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/pages/player.py +0 -0
  19. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/widgets/__init__.py +0 -0
  20. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/widgets/browser.py +0 -0
  21. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/widgets/clickable_widget.py +0 -0
  22. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/widgets/media_player.py +0 -0
  23. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/widgets/notification.py +0 -0
  24. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/windows/__init__.py +0 -0
  25. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/windows/base/__init__.py +0 -0
  26. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/ui/windows/base/base.py +0 -0
  27. {winipedia_pyside-0.2.24 → winipedia_pyside-0.2.36}/winipedia_pyside/workflows/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: winipedia-pyside
3
- Version: 0.2.24
3
+ Version: 0.2.36
4
4
  Summary: A package for pyside utils
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "winipedia-pyside"
3
- version = "0.2.24"
3
+ version = "0.2.36"
4
4
  description = "A package for pyside utils"
5
5
  authors = [
6
6
  {name = "Winipedia",email = "win.steveker@gmx.de"}
@@ -58,3 +58,4 @@ files = "."
58
58
  testpaths = ["tests"]
59
59
 
60
60
  [tool.bandit]
61
+ exclude_dirs = ["experiment.py"]
@@ -0,0 +1,100 @@
1
+ """Workflow configs."""
2
+
3
+ from typing import Any
4
+
5
+ from winipedia_utils.git.github.workflows.base.base import Workflow as WinipediaWorkflow
6
+ from winipedia_utils.git.github.workflows.health_check import (
7
+ HealthCheckWorkflow as WinipediaHealthCheckWorkflow,
8
+ )
9
+ from winipedia_utils.git.github.workflows.release import (
10
+ ReleaseWorkflow as WinipediaReleaseWorkflow,
11
+ )
12
+
13
+
14
+ class PySide6WorkflowMixin(WinipediaWorkflow):
15
+ """Mixin to add PySide6-specific workflow steps.
16
+
17
+ This mixin provides common overrides for PySide6 workflows to work on
18
+ GitHub Actions headless Linux environments.
19
+ """
20
+
21
+ @classmethod
22
+ def step_run_pre_commit_hooks(
23
+ cls,
24
+ *,
25
+ step: dict[str, Any] | None = None,
26
+ ) -> dict[str, Any]:
27
+ """Get the pre-commit step.
28
+
29
+ We need to add some env vars
30
+ so QtWebEngine doesn't try to use GPU acceleration etc.
31
+ """
32
+ step = super().step_run_pre_commit_hooks(step=step)
33
+ step.setdefault("env", {}).update(
34
+ {
35
+ "QT_QPA_PLATFORM": "offscreen",
36
+ "QTWEBENGINE_DISABLE_SANDBOX": "1",
37
+ "QTWEBENGINE_CHROMIUM_FLAGS": "--no-sandbox --disable-gpu --disable-software-rasterizer --disable-dev-shm-usage", # noqa: E501
38
+ }
39
+ )
40
+ return step
41
+
42
+ @classmethod
43
+ def steps_core_matrix_setup(
44
+ cls, python_version: str | None = None, *, repo_token: bool = False
45
+ ) -> list[dict[str, Any]]:
46
+ """Get the poetry setup steps.
47
+
48
+ We need to install additional system dependencies for pyside6.
49
+ """
50
+ steps = super().steps_core_matrix_setup(python_version, repo_token=repo_token)
51
+
52
+ steps.append(
53
+ cls.step_install_pyside_system_dependencies(),
54
+ )
55
+ return steps
56
+
57
+ @classmethod
58
+ def step_install_pyside_system_dependencies(cls) -> dict[str, Any]:
59
+ """Get the step to install PySide6 dependencies."""
60
+ return cls.get_step(
61
+ step_func=cls.step_install_pyside_system_dependencies,
62
+ run="sudo apt-get update && sudo apt-get install -y libegl1 libpulse0",
63
+ if_condition="runner.os == 'Linux'",
64
+ )
65
+
66
+
67
+ class HealthCheckWorkflow(PySide6WorkflowMixin, WinipediaHealthCheckWorkflow):
68
+ """Health check workflow.
69
+
70
+ Extends winipedia_utils health check workflow to add additional steps.
71
+ This is necessary to make pyside6 work on github actions which is a headless linux
72
+ environment.
73
+ """
74
+
75
+
76
+ class ReleaseWorkflow(HealthCheckWorkflow, WinipediaReleaseWorkflow):
77
+ """Release workflow.
78
+
79
+ Extends winipedia_utils release workflow to add additional steps.
80
+ This is necessary to make pyside6 work on github actions which is a headless linux
81
+ environment.
82
+ """
83
+
84
+ @classmethod
85
+ def steps_release(cls) -> list[dict[str, Any]]:
86
+ """Get the release steps."""
87
+ steps = super().steps_release()
88
+ # find the index of the cls.step_install_python_dependencies step and insert
89
+ # the pyside6 dependencies step after it
90
+ index = (
91
+ next(
92
+ i
93
+ for i, step in enumerate(steps)
94
+ if step["id"]
95
+ == cls.make_id_from_func(cls.step_install_python_dependencies)
96
+ )
97
+ + 1
98
+ )
99
+ steps.insert(index, cls.step_install_pyside_system_dependencies())
100
+ return steps
@@ -1,81 +0,0 @@
1
- """Workflow configs."""
2
-
3
- from typing import Any
4
-
5
- from winipedia_utils.git.github.workflows.base.base import Workflow as WinipediaWorkflow
6
- from winipedia_utils.git.github.workflows.health_check import (
7
- HealthCheckWorkflow as WinipediaHealthCheckWorkflow,
8
- )
9
- from winipedia_utils.git.github.workflows.release import (
10
- ReleaseWorkflow as WinipediaReleaseWorkflow,
11
- )
12
-
13
-
14
- class PySide6WorkflowMixin(WinipediaWorkflow):
15
- """Mixin to add PySide6-specific workflow steps.
16
-
17
- This mixin provides common overrides for PySide6 workflows to work on
18
- GitHub Actions headless Linux environments.
19
- """
20
-
21
- @classmethod
22
- def get_pre_commit_step(cls) -> dict[str, Any]:
23
- """Get the pre-commit step.
24
-
25
- We need to add some env vars
26
- so QtWebEngine doesn't try to use GPU acceleration etc.
27
- """
28
- step = super().get_pre_commit_step()
29
- step["env"] = {
30
- "QT_QPA_PLATFORM": "offscreen",
31
- "QTWEBENGINE_DISABLE_SANDBOX": "1",
32
- "QTWEBENGINE_CHROMIUM_FLAGS": "--no-sandbox --disable-gpu --disable-software-rasterizer --disable-dev-shm-usage", # noqa: E501
33
- }
34
- return step
35
-
36
- @classmethod
37
- def get_poetry_setup_steps(
38
- cls,
39
- *,
40
- install_dependencies: bool = False,
41
- fetch_depth: int | None = None,
42
- configure_pipy_token: bool = False,
43
- force_main_head: bool = False,
44
- token: bool = False,
45
- ) -> list[dict[str, Any]]:
46
- """Get the poetry setup steps.
47
-
48
- We need to install additional system dependencies for pyside6.
49
- """
50
- steps = super().get_poetry_setup_steps(
51
- install_dependencies=install_dependencies,
52
- fetch_depth=fetch_depth,
53
- configure_pipy_token=configure_pipy_token,
54
- force_main_head=force_main_head,
55
- token=token,
56
- )
57
- steps.append(
58
- {
59
- "name": "Install PySide6 System Dependencies",
60
- "run": "sudo apt-get update && sudo apt-get install -y libegl1 libpulse0", # noqa: E501
61
- }
62
- )
63
- return steps
64
-
65
-
66
- class HealthCheckWorkflow(PySide6WorkflowMixin, WinipediaHealthCheckWorkflow):
67
- """Health check workflow.
68
-
69
- Extends winipedia_utils health check workflow to add additional steps.
70
- This is necessary to make pyside6 work on github actions which is a headless linux
71
- environment.
72
- """
73
-
74
-
75
- class ReleaseWorkflow(PySide6WorkflowMixin, WinipediaReleaseWorkflow):
76
- """Release workflow.
77
-
78
- Extends winipedia_utils release workflow to add additional steps.
79
- This is necessary to make pyside6 work on github actions which is a headless linux
80
- environment.
81
- """