winipyside 2.0.1__py3-none-any.whl
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.
- winipyside/__init__.py +1 -0
- winipyside/dev/__init__.py +1 -0
- winipyside/dev/artifacts/__init__.py +1 -0
- winipyside/dev/artifacts/builder/__init__.py +1 -0
- winipyside/dev/artifacts/builder/builder.py +4 -0
- winipyside/dev/artifacts/resources/__init__.py +1 -0
- winipyside/dev/artifacts/resources/delete_garbage_can.svg +2 -0
- winipyside/dev/artifacts/resources/download_arrow.svg +3 -0
- winipyside/dev/artifacts/resources/exit_fullscreen_icon.svg +7 -0
- winipyside/dev/artifacts/resources/fullscreen_icon.svg +4 -0
- winipyside/dev/artifacts/resources/menu_icon.svg +4 -0
- winipyside/dev/artifacts/resources/pause_icon.svg +4 -0
- winipyside/dev/artifacts/resources/play_icon.svg +17 -0
- winipyside/dev/artifacts/resources/plus_icon.svg +24 -0
- winipyside/dev/cli/__init__.py +1 -0
- winipyside/dev/cli/subcommands.py +6 -0
- winipyside/dev/configs/__init__.py +1 -0
- winipyside/dev/configs/configs.py +110 -0
- winipyside/dev/tests/__init__.py +1 -0
- winipyside/dev/tests/fixtures/__init__.py +1 -0
- winipyside/dev/tests/fixtures/fixture.py +7 -0
- winipyside/dev/tests/fixtures/scopes/__init__.py +1 -0
- winipyside/dev/tests/fixtures/scopes/class_.py +8 -0
- winipyside/dev/tests/fixtures/scopes/function.py +8 -0
- winipyside/dev/tests/fixtures/scopes/module.py +8 -0
- winipyside/dev/tests/fixtures/scopes/package.py +8 -0
- winipyside/dev/tests/fixtures/scopes/session.py +8 -0
- winipyside/main.py +19 -0
- winipyside/py.typed +0 -0
- winipyside/src/__init__.py +3 -0
- winipyside/src/core/__init__.py +1 -0
- winipyside/src/core/py_qiodevice.py +476 -0
- winipyside/src/ui/__init__.py +1 -0
- winipyside/src/ui/base/__init__.py +1 -0
- winipyside/src/ui/base/base.py +188 -0
- winipyside/src/ui/pages/__init__.py +1 -0
- winipyside/src/ui/pages/base/__init__.py +1 -0
- winipyside/src/ui/pages/base/base.py +92 -0
- winipyside/src/ui/pages/browser.py +26 -0
- winipyside/src/ui/pages/player.py +85 -0
- winipyside/src/ui/widgets/__init__.py +1 -0
- winipyside/src/ui/widgets/browser.py +243 -0
- winipyside/src/ui/widgets/clickable_widget.py +57 -0
- winipyside/src/ui/widgets/media_player.py +430 -0
- winipyside/src/ui/widgets/notification.py +77 -0
- winipyside/src/ui/windows/__init__.py +1 -0
- winipyside/src/ui/windows/base/__init__.py +1 -0
- winipyside/src/ui/windows/base/base.py +49 -0
- winipyside-2.0.1.dist-info/METADATA +284 -0
- winipyside-2.0.1.dist-info/RECORD +52 -0
- winipyside-2.0.1.dist-info/WHEEL +4 -0
- winipyside-2.0.1.dist-info/entry_points.txt +4 -0
winipyside/__init__.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""__init__ module."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""__init__ module."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""__init__ module."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""__init__ module."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""__init__ module."""
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
2
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="#000000" width="800px" height="800px" viewBox="0 0 24 24"><path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"/></svg>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
2
|
+
<svg width="800px" height="800px" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path d="M1 6L6 6L6 1L4.2 1L4.2 4.2L1 4.2L1 6Z" fill="#000000"/>
|
|
4
|
+
<path d="M15 10L10 10L10 15L11.8 15L11.8 11.8L15 11.8L15 10Z" fill="#000000"/>
|
|
5
|
+
<path d="M6 15L6 10L1 10L1 11.8L4.2 11.8L4.2 15L6 15Z" fill="#000000"/>
|
|
6
|
+
<path d="M10 1L10 6L15 6L15 4.2L11.8 4.2L11.8 1L10 1Z" fill="#000000"/>
|
|
7
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
2
|
+
<svg width="800px" height="800px" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 15H15V10H13.2V13.2H10V15ZM6 15V13.2H2.8V10H1V15H6ZM10 2.8H12.375H13.2V6H15V1H10V2.8ZM6 1V2.8H2.8V6H1V1H6Z" fill="#000000"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
2
|
+
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path d="M4 6H20M4 12H20M4 18H20" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
3
|
+
<svg width="800px" height="800px" viewBox="-3 0 28 28" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
|
4
|
+
|
|
5
|
+
<title>play</title>
|
|
6
|
+
<desc>Created with Sketch Beta.</desc>
|
|
7
|
+
<defs>
|
|
8
|
+
|
|
9
|
+
</defs>
|
|
10
|
+
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
|
11
|
+
<g id="Icon-Set-Filled" sketch:type="MSLayerGroup" transform="translate(-419.000000, -571.000000)" fill="#000000">
|
|
12
|
+
<path d="M440.415,583.554 L421.418,571.311 C420.291,570.704 419,570.767 419,572.946 L419,597.054 C419,599.046 420.385,599.36 421.418,598.689 L440.415,586.446 C441.197,585.647 441.197,584.353 440.415,583.554" id="play" sketch:type="MSShapeGroup">
|
|
13
|
+
|
|
14
|
+
</path>
|
|
15
|
+
</g>
|
|
16
|
+
</g>
|
|
17
|
+
</svg>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<?xml version="1.0" ?>
|
|
2
|
+
|
|
3
|
+
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
4
|
+
<svg width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
5
|
+
|
|
6
|
+
<title/>
|
|
7
|
+
|
|
8
|
+
<g id="Complete">
|
|
9
|
+
|
|
10
|
+
<g data-name="add" id="add-2">
|
|
11
|
+
|
|
12
|
+
<g>
|
|
13
|
+
|
|
14
|
+
<line fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" x1="12" x2="12" y1="19" y2="5"/>
|
|
15
|
+
|
|
16
|
+
<line fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" x1="5" x2="19" y1="12" y2="12"/>
|
|
17
|
+
|
|
18
|
+
</g>
|
|
19
|
+
|
|
20
|
+
</g>
|
|
21
|
+
|
|
22
|
+
</g>
|
|
23
|
+
|
|
24
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""__init__ module."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""__init__ module."""
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"""Configs for pyrig.
|
|
2
|
+
|
|
3
|
+
All subclasses of ConfigFile in the configs package are automatically called.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from typing import Any
|
|
7
|
+
|
|
8
|
+
from pyrig.dev.configs.pyproject import (
|
|
9
|
+
PyprojectConfigFile as PyrigPyprojectConfigFile,
|
|
10
|
+
)
|
|
11
|
+
from pyrig.dev.configs.workflows.base.base import (
|
|
12
|
+
Workflow as PyrigWorkflow,
|
|
13
|
+
)
|
|
14
|
+
from pyrig.dev.configs.workflows.health_check import (
|
|
15
|
+
HealthCheckWorkflow as PyrigHealthCheckWorkflow,
|
|
16
|
+
)
|
|
17
|
+
from pyrig.dev.configs.workflows.release import (
|
|
18
|
+
ReleaseWorkflow as PyrigReleaseWorkflow,
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class PyprojectConfigFile(PyrigPyprojectConfigFile):
|
|
23
|
+
"""Pyproject config file.
|
|
24
|
+
|
|
25
|
+
Extends winiutils pyproject config file to add additional config.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
@classmethod
|
|
29
|
+
def get_standard_dev_dependencies(cls) -> list[str]:
|
|
30
|
+
"""Get the standard dev dependencies."""
|
|
31
|
+
standard_dev_dependencies = super().get_standard_dev_dependencies()
|
|
32
|
+
standard_dev_dependencies.extend(
|
|
33
|
+
[
|
|
34
|
+
"pytest-qt",
|
|
35
|
+
]
|
|
36
|
+
)
|
|
37
|
+
return standard_dev_dependencies
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class PySideWorkflowMixin(PyrigWorkflow):
|
|
41
|
+
"""Mixin to add PySide6-specific workflow steps.
|
|
42
|
+
|
|
43
|
+
This mixin provides common overrides for PySide6 workflows to work on
|
|
44
|
+
GitHub Actions headless Linux environments.
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
@classmethod
|
|
48
|
+
def step_run_tests(
|
|
49
|
+
cls,
|
|
50
|
+
*,
|
|
51
|
+
step: dict[str, Any] | None = None,
|
|
52
|
+
) -> dict[str, Any]:
|
|
53
|
+
"""Get the pre-commit step.
|
|
54
|
+
|
|
55
|
+
We need to add some env vars
|
|
56
|
+
so QtWebEngine doesn't try to use GPU acceleration etc.
|
|
57
|
+
"""
|
|
58
|
+
step = super().step_run_tests(step=step)
|
|
59
|
+
step.setdefault("env", {}).update(
|
|
60
|
+
{
|
|
61
|
+
"QT_QPA_PLATFORM": "offscreen",
|
|
62
|
+
"QTWEBENGINE_DISABLE_SANDBOX": "1",
|
|
63
|
+
"QTWEBENGINE_CHROMIUM_FLAGS": "--no-sandbox --disable-gpu --disable-software-rasterizer --disable-dev-shm-usage", # noqa: E501
|
|
64
|
+
}
|
|
65
|
+
)
|
|
66
|
+
return step
|
|
67
|
+
|
|
68
|
+
@classmethod
|
|
69
|
+
def steps_core_installed_setup(
|
|
70
|
+
cls, python_version: str | None = None, *, repo_token: bool = False
|
|
71
|
+
) -> list[dict[str, Any]]:
|
|
72
|
+
"""Get the core installed setup steps.
|
|
73
|
+
|
|
74
|
+
We need to install additional system dependencies for pyside6.
|
|
75
|
+
"""
|
|
76
|
+
steps = super().steps_core_installed_setup(
|
|
77
|
+
python_version, repo_token=repo_token
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
steps.append(
|
|
81
|
+
cls.step_install_pyside_system_dependencies(),
|
|
82
|
+
)
|
|
83
|
+
return steps
|
|
84
|
+
|
|
85
|
+
@classmethod
|
|
86
|
+
def step_install_pyside_system_dependencies(cls) -> dict[str, Any]:
|
|
87
|
+
"""Get the step to install PySide6 dependencies."""
|
|
88
|
+
return cls.get_step(
|
|
89
|
+
step_func=cls.step_install_pyside_system_dependencies,
|
|
90
|
+
run="sudo apt-get update && sudo apt-get install -y libegl1 libpulse0",
|
|
91
|
+
if_condition="runner.os == 'Linux'",
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
class HealthCheckWorkflow(PySideWorkflowMixin, PyrigHealthCheckWorkflow):
|
|
96
|
+
"""Health check workflow.
|
|
97
|
+
|
|
98
|
+
Extends winiutils health check workflow to add additional steps.
|
|
99
|
+
This is necessary to make pyside6 work on github actions which is a headless linux
|
|
100
|
+
environment.
|
|
101
|
+
"""
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
class ReleaseWorkflow(PySideWorkflowMixin, PyrigReleaseWorkflow):
|
|
105
|
+
"""Release workflow.
|
|
106
|
+
|
|
107
|
+
Extends winiutils release workflow to add additional steps.
|
|
108
|
+
This is necessary to make pyside6 work on github actions which is a headless linux
|
|
109
|
+
environment.
|
|
110
|
+
"""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""__init__ module."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""__init__ module."""
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"""Fixtures for testing.
|
|
2
|
+
|
|
3
|
+
This module provides custom fixtures for pytest that can be pluued into tests
|
|
4
|
+
across the entire test suite.
|
|
5
|
+
All fixtures defined under the fixtures package are auto plugged in automatically
|
|
6
|
+
by pyrig via the pytest_plugins mechanism.
|
|
7
|
+
"""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""__init__ module."""
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"""Class-level test fixtures and utilities.
|
|
2
|
+
|
|
3
|
+
These fixtures in this module are automatically applied to all test classes
|
|
4
|
+
through pytest's autouse mechanism. Pyrig automatically adds this module to
|
|
5
|
+
pytest_plugins in conftest.py. However you still have decorate the fixture
|
|
6
|
+
with @autouse_class_fixture from pyrig.src.testing.fixtures or with pytest's
|
|
7
|
+
autouse mechanism @pytest.fixture(scope="class", autouse=True).
|
|
8
|
+
"""
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"""Function-level test fixtures and utilities.
|
|
2
|
+
|
|
3
|
+
These fixtures in this module are automatically applied to all test functions
|
|
4
|
+
through pytest's autouse mechanism. Pyrig automatically adds this module to
|
|
5
|
+
pytest_plugins in conftest.py. However you still have decorate the fixture
|
|
6
|
+
with @autouse_function_fixture from pyrig.src.testing.fixtures or with pytest's
|
|
7
|
+
autouse mechanism @pytest.fixture(scope="function", autouse=True).
|
|
8
|
+
"""
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"""Module-level test fixtures and utilities.
|
|
2
|
+
|
|
3
|
+
These fixtures in this module are automatically applied to all test modules
|
|
4
|
+
through pytest's autouse mechanism. Pyrig automatically adds this module to
|
|
5
|
+
pytest_plugins in conftest.py. However you still have decorate the fixture
|
|
6
|
+
with @autouse_module_fixture from pyrig.src.testing.fixtures or with pytest's
|
|
7
|
+
autouse mechanism @pytest.fixture(scope="module", autouse=True).
|
|
8
|
+
"""
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"""Package-level test fixtures and utilities.
|
|
2
|
+
|
|
3
|
+
These fixtures in this module are automatically applied to all test packages
|
|
4
|
+
through pytest's autouse mechanism. Pyrig automatically adds this module to
|
|
5
|
+
pytest_plugins in conftest.py. However you still have decorate the fixture
|
|
6
|
+
with @autouse_package_fixture from pyrig.src.testing.fixtures or with pytest's
|
|
7
|
+
autouse mechanism @pytest.fixture(scope="package", autouse=True).
|
|
8
|
+
"""
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"""Session-level test fixtures and utilities.
|
|
2
|
+
|
|
3
|
+
These fixtures in this module are automatically applied to the test session
|
|
4
|
+
through pytest's autouse mechanism. Pyrig automatically adds this module to
|
|
5
|
+
pytest_plugins in conftest.py. However you still have decorate the fixture
|
|
6
|
+
with @autouse_session_fixture from pyrig.src.testing.fixtures or with pytest's
|
|
7
|
+
autouse mechanism @pytest.fixture(scope="session", autouse=True).
|
|
8
|
+
"""
|
winipyside/main.py
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"""Main entrypoint for the project."""
|
|
2
|
+
|
|
3
|
+
import pyrig
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def main() -> None:
|
|
7
|
+
"""Main entrypoint for the project."""
|
|
8
|
+
msg = f"""Add your projects entrypoint code to this function.
|
|
9
|
+
This function is automatically added to your cli by {pyrig.__name__}.
|
|
10
|
+
You can call it with
|
|
11
|
+
`your-pkg-name main`
|
|
12
|
+
or via
|
|
13
|
+
`python -m your-pkg-name`.
|
|
14
|
+
"""
|
|
15
|
+
raise NotImplementedError(msg)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
if __name__ == "__main__":
|
|
19
|
+
main()
|
winipyside/py.typed
ADDED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""__init__ module for winipyside6.core."""
|