python-camera-manager-directshow 0.2.0__tar.gz → 0.2.1__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.
- python_camera_manager_directshow-0.2.1/DirectShow_Wrapper/__init__.py +9 -0
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/app/main.py +2 -11
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/camera/camera_device_bridge.py +1 -1
- {python_camera_manager_directshow-0.2.0/python_camera_manager_directshow.egg-info → python_camera_manager_directshow-0.2.1}/PKG-INFO +11 -11
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1}/README.md +10 -10
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1}/pyproject.toml +7 -4
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/python_camera_manager_directshow.egg-info}/PKG-INFO +11 -11
- python_camera_manager_directshow-0.2.1/python_camera_manager_directshow.egg-info/SOURCES.txt +22 -0
- python_camera_manager_directshow-0.2.1/python_camera_manager_directshow.egg-info/entry_points.txt +2 -0
- python_camera_manager_directshow-0.2.1/python_camera_manager_directshow.egg-info/top_level.txt +1 -0
- python_camera_manager_directshow-0.2.0/python_camera_manager_directshow.egg-info/SOURCES.txt +0 -21
- python_camera_manager_directshow-0.2.0/python_camera_manager_directshow.egg-info/entry_points.txt +0 -2
- python_camera_manager_directshow-0.2.0/python_camera_manager_directshow.egg-info/top_level.txt +0 -4
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/GUI/__init__.py +0 -0
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/GUI/main_GUI.py +0 -0
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/app/__init__.py +0 -0
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/camera/__init__.py +0 -0
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/camera/camera_inspector_bridge.py +0 -0
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/camera/camera_manager.py +0 -0
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/runtime/__init__.py +0 -0
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/runtime/dotnet/DirectShowLib.dll +0 -0
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/runtime/dotnet/DirectShowLibWrapper.dll +0 -0
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/runtime/dotnet/__init__.py +0 -0
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1}/LICENSE +0 -0
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1}/python_camera_manager_directshow.egg-info/dependency_links.txt +0 -0
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1}/python_camera_manager_directshow.egg-info/requires.txt +0 -0
- {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1}/setup.cfg +0 -0
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
# Allow running as `python app/main.py` while importing top-level packages.
|
|
5
|
-
PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
6
|
-
if PROJECT_ROOT not in sys.path:
|
|
7
|
-
sys.path.insert(0, PROJECT_ROOT)
|
|
8
|
-
|
|
9
|
-
from camera import _camera
|
|
10
|
-
from GUI.main_GUI import run_gui
|
|
1
|
+
from ..camera import _camera
|
|
2
|
+
from ..GUI.main_GUI import run_gui
|
|
11
3
|
import cv2
|
|
12
4
|
cv2.utils.logging.setLogLevel(cv2.utils.logging.LOG_LEVEL_ERROR)
|
|
13
|
-
|
|
14
5
|
debug = False
|
|
15
6
|
|
|
16
7
|
def debug_print(*args, **kwargs):
|
|
@@ -10,7 +10,7 @@ from enum import Enum, IntEnum
|
|
|
10
10
|
from typing import Optional, Callable, Tuple, Sequence, Union, TYPE_CHECKING
|
|
11
11
|
|
|
12
12
|
if TYPE_CHECKING:
|
|
13
|
-
from
|
|
13
|
+
from .camera_manager import CameraFormat
|
|
14
14
|
|
|
15
15
|
DebugLoggingConfig = Union[bool, int, Sequence[bool]]
|
|
16
16
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-camera-manager-directshow
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: Python camera manager with DirectShow capability discovery and .NET bridge integration
|
|
5
5
|
Author: Lior Blokshtein
|
|
6
6
|
License: MIT
|
|
@@ -42,18 +42,18 @@ This project was created to solve a common limitation in OpenCV camera workflows
|
|
|
42
42
|
|
|
43
43
|
## Architecture
|
|
44
44
|
|
|
45
|
-
- .NET layer in `runtime/dotnet`:
|
|
45
|
+
- .NET layer in `DirectShow_Wrapper/runtime/dotnet`:
|
|
46
46
|
- `DirectShowLib.dll`
|
|
47
47
|
- `DirectShowLibWrapper.dll`
|
|
48
48
|
- Python bridge layer:
|
|
49
|
-
- `camera/camera_inspector_bridge.py`
|
|
50
|
-
- `camera/camera_device_bridge.py`
|
|
49
|
+
- `DirectShow_Wrapper/camera/camera_inspector_bridge.py`
|
|
50
|
+
- `DirectShow_Wrapper/camera/camera_device_bridge.py`
|
|
51
51
|
- Python facade/API:
|
|
52
|
-
- `camera/camera_manager.py`
|
|
52
|
+
- `DirectShow_Wrapper/camera/camera_manager.py`
|
|
53
53
|
- GUI:
|
|
54
|
-
- `GUI/main_GUI.py` (PyQt5)
|
|
54
|
+
- `DirectShow_Wrapper/GUI/main_GUI.py` (PyQt5)
|
|
55
55
|
|
|
56
|
-
`camera/camera_manager.py` exposes Python-native objects (`NamedTuple`, `dict`, `list`) so consumers do not need to deal with .NET object APIs directly.
|
|
56
|
+
`DirectShow_Wrapper/camera/camera_manager.py` exposes Python-native objects (`NamedTuple`, `dict`, `list`) so consumers do not need to deal with .NET object APIs directly.
|
|
57
57
|
|
|
58
58
|
## Requirements
|
|
59
59
|
|
|
@@ -101,13 +101,13 @@ Notes:
|
|
|
101
101
|
## Run
|
|
102
102
|
|
|
103
103
|
```bash
|
|
104
|
-
python -m app.main
|
|
104
|
+
python -m DirectShow_Wrapper.app.main
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
Alternative:
|
|
108
108
|
|
|
109
109
|
```bash
|
|
110
|
-
python app
|
|
110
|
+
python -m DirectShow_Wrapper.app.main
|
|
111
111
|
```
|
|
112
112
|
|
|
113
113
|
If installed as a package entry point:
|
|
@@ -119,7 +119,7 @@ camera-manager
|
|
|
119
119
|
## Quick API Example
|
|
120
120
|
|
|
121
121
|
```python
|
|
122
|
-
from camera.camera_manager import Camera
|
|
122
|
+
from DirectShow_Wrapper.camera.camera_manager import Camera
|
|
123
123
|
|
|
124
124
|
devices = Camera.get_connected_cameras(get_formats=True, get_ranges=True)
|
|
125
125
|
if not devices:
|
|
@@ -184,7 +184,7 @@ Before publishing an update:
|
|
|
184
184
|
1. Bump `[project].version` in `pyproject.toml`.
|
|
185
185
|
2. Keep `requirements.txt` and `pyproject.toml` dependencies aligned.
|
|
186
186
|
3. Verify `project.urls` in `pyproject.toml` point to the correct repository.
|
|
187
|
-
4. Confirm runtime DLLs are present under `runtime/dotnet`.
|
|
187
|
+
4. Confirm runtime DLLs are present under `DirectShow_Wrapper/runtime/dotnet`.
|
|
188
188
|
5. Sanity test end-to-end:
|
|
189
189
|
- camera enumeration
|
|
190
190
|
- open/close
|
|
@@ -16,18 +16,18 @@ This project was created to solve a common limitation in OpenCV camera workflows
|
|
|
16
16
|
|
|
17
17
|
## Architecture
|
|
18
18
|
|
|
19
|
-
- .NET layer in `runtime/dotnet`:
|
|
19
|
+
- .NET layer in `DirectShow_Wrapper/runtime/dotnet`:
|
|
20
20
|
- `DirectShowLib.dll`
|
|
21
21
|
- `DirectShowLibWrapper.dll`
|
|
22
22
|
- Python bridge layer:
|
|
23
|
-
- `camera/camera_inspector_bridge.py`
|
|
24
|
-
- `camera/camera_device_bridge.py`
|
|
23
|
+
- `DirectShow_Wrapper/camera/camera_inspector_bridge.py`
|
|
24
|
+
- `DirectShow_Wrapper/camera/camera_device_bridge.py`
|
|
25
25
|
- Python facade/API:
|
|
26
|
-
- `camera/camera_manager.py`
|
|
26
|
+
- `DirectShow_Wrapper/camera/camera_manager.py`
|
|
27
27
|
- GUI:
|
|
28
|
-
- `GUI/main_GUI.py` (PyQt5)
|
|
28
|
+
- `DirectShow_Wrapper/GUI/main_GUI.py` (PyQt5)
|
|
29
29
|
|
|
30
|
-
`camera/camera_manager.py` exposes Python-native objects (`NamedTuple`, `dict`, `list`) so consumers do not need to deal with .NET object APIs directly.
|
|
30
|
+
`DirectShow_Wrapper/camera/camera_manager.py` exposes Python-native objects (`NamedTuple`, `dict`, `list`) so consumers do not need to deal with .NET object APIs directly.
|
|
31
31
|
|
|
32
32
|
## Requirements
|
|
33
33
|
|
|
@@ -75,13 +75,13 @@ Notes:
|
|
|
75
75
|
## Run
|
|
76
76
|
|
|
77
77
|
```bash
|
|
78
|
-
python -m app.main
|
|
78
|
+
python -m DirectShow_Wrapper.app.main
|
|
79
79
|
```
|
|
80
80
|
|
|
81
81
|
Alternative:
|
|
82
82
|
|
|
83
83
|
```bash
|
|
84
|
-
python app
|
|
84
|
+
python -m DirectShow_Wrapper.app.main
|
|
85
85
|
```
|
|
86
86
|
|
|
87
87
|
If installed as a package entry point:
|
|
@@ -93,7 +93,7 @@ camera-manager
|
|
|
93
93
|
## Quick API Example
|
|
94
94
|
|
|
95
95
|
```python
|
|
96
|
-
from camera.camera_manager import Camera
|
|
96
|
+
from DirectShow_Wrapper.camera.camera_manager import Camera
|
|
97
97
|
|
|
98
98
|
devices = Camera.get_connected_cameras(get_formats=True, get_ranges=True)
|
|
99
99
|
if not devices:
|
|
@@ -158,7 +158,7 @@ Before publishing an update:
|
|
|
158
158
|
1. Bump `[project].version` in `pyproject.toml`.
|
|
159
159
|
2. Keep `requirements.txt` and `pyproject.toml` dependencies aligned.
|
|
160
160
|
3. Verify `project.urls` in `pyproject.toml` point to the correct repository.
|
|
161
|
-
4. Confirm runtime DLLs are present under `runtime/dotnet`.
|
|
161
|
+
4. Confirm runtime DLLs are present under `DirectShow_Wrapper/runtime/dotnet`.
|
|
162
162
|
5. Sanity test end-to-end:
|
|
163
163
|
- camera enumeration
|
|
164
164
|
- open/close
|
{python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1}/pyproject.toml
RENAMED
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "python-camera-manager-directshow"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.1"
|
|
8
8
|
description = "Python camera manager with DirectShow capability discovery and .NET bridge integration"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -41,10 +41,13 @@ Homepage = "https://github.com/LBlokshtein/python-camera-manager-directshow"
|
|
|
41
41
|
Repository = "https://github.com/LBlokshtein/python-camera-manager-directshow"
|
|
42
42
|
|
|
43
43
|
[project.scripts]
|
|
44
|
-
camera-manager = "app.main:main"
|
|
44
|
+
camera-manager = "DirectShow_Wrapper.app.main:main"
|
|
45
45
|
|
|
46
46
|
[tool.setuptools]
|
|
47
|
-
|
|
47
|
+
include-package-data = true
|
|
48
|
+
|
|
49
|
+
[tool.setuptools.packages.find]
|
|
50
|
+
include = ["DirectShow_Wrapper*"]
|
|
48
51
|
|
|
49
52
|
[tool.setuptools.package-data]
|
|
50
|
-
"runtime.dotnet" = ["*.dll"]
|
|
53
|
+
"DirectShow_Wrapper.runtime.dotnet" = ["*.dll"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-camera-manager-directshow
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: Python camera manager with DirectShow capability discovery and .NET bridge integration
|
|
5
5
|
Author: Lior Blokshtein
|
|
6
6
|
License: MIT
|
|
@@ -42,18 +42,18 @@ This project was created to solve a common limitation in OpenCV camera workflows
|
|
|
42
42
|
|
|
43
43
|
## Architecture
|
|
44
44
|
|
|
45
|
-
- .NET layer in `runtime/dotnet`:
|
|
45
|
+
- .NET layer in `DirectShow_Wrapper/runtime/dotnet`:
|
|
46
46
|
- `DirectShowLib.dll`
|
|
47
47
|
- `DirectShowLibWrapper.dll`
|
|
48
48
|
- Python bridge layer:
|
|
49
|
-
- `camera/camera_inspector_bridge.py`
|
|
50
|
-
- `camera/camera_device_bridge.py`
|
|
49
|
+
- `DirectShow_Wrapper/camera/camera_inspector_bridge.py`
|
|
50
|
+
- `DirectShow_Wrapper/camera/camera_device_bridge.py`
|
|
51
51
|
- Python facade/API:
|
|
52
|
-
- `camera/camera_manager.py`
|
|
52
|
+
- `DirectShow_Wrapper/camera/camera_manager.py`
|
|
53
53
|
- GUI:
|
|
54
|
-
- `GUI/main_GUI.py` (PyQt5)
|
|
54
|
+
- `DirectShow_Wrapper/GUI/main_GUI.py` (PyQt5)
|
|
55
55
|
|
|
56
|
-
`camera/camera_manager.py` exposes Python-native objects (`NamedTuple`, `dict`, `list`) so consumers do not need to deal with .NET object APIs directly.
|
|
56
|
+
`DirectShow_Wrapper/camera/camera_manager.py` exposes Python-native objects (`NamedTuple`, `dict`, `list`) so consumers do not need to deal with .NET object APIs directly.
|
|
57
57
|
|
|
58
58
|
## Requirements
|
|
59
59
|
|
|
@@ -101,13 +101,13 @@ Notes:
|
|
|
101
101
|
## Run
|
|
102
102
|
|
|
103
103
|
```bash
|
|
104
|
-
python -m app.main
|
|
104
|
+
python -m DirectShow_Wrapper.app.main
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
Alternative:
|
|
108
108
|
|
|
109
109
|
```bash
|
|
110
|
-
python app
|
|
110
|
+
python -m DirectShow_Wrapper.app.main
|
|
111
111
|
```
|
|
112
112
|
|
|
113
113
|
If installed as a package entry point:
|
|
@@ -119,7 +119,7 @@ camera-manager
|
|
|
119
119
|
## Quick API Example
|
|
120
120
|
|
|
121
121
|
```python
|
|
122
|
-
from camera.camera_manager import Camera
|
|
122
|
+
from DirectShow_Wrapper.camera.camera_manager import Camera
|
|
123
123
|
|
|
124
124
|
devices = Camera.get_connected_cameras(get_formats=True, get_ranges=True)
|
|
125
125
|
if not devices:
|
|
@@ -184,7 +184,7 @@ Before publishing an update:
|
|
|
184
184
|
1. Bump `[project].version` in `pyproject.toml`.
|
|
185
185
|
2. Keep `requirements.txt` and `pyproject.toml` dependencies aligned.
|
|
186
186
|
3. Verify `project.urls` in `pyproject.toml` point to the correct repository.
|
|
187
|
-
4. Confirm runtime DLLs are present under `runtime/dotnet`.
|
|
187
|
+
4. Confirm runtime DLLs are present under `DirectShow_Wrapper/runtime/dotnet`.
|
|
188
188
|
5. Sanity test end-to-end:
|
|
189
189
|
- camera enumeration
|
|
190
190
|
- open/close
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
LICENSE
|
|
2
|
+
README.md
|
|
3
|
+
pyproject.toml
|
|
4
|
+
DirectShow_Wrapper/__init__.py
|
|
5
|
+
DirectShow_Wrapper/GUI/__init__.py
|
|
6
|
+
DirectShow_Wrapper/GUI/main_GUI.py
|
|
7
|
+
DirectShow_Wrapper/app/__init__.py
|
|
8
|
+
DirectShow_Wrapper/app/main.py
|
|
9
|
+
DirectShow_Wrapper/camera/__init__.py
|
|
10
|
+
DirectShow_Wrapper/camera/camera_device_bridge.py
|
|
11
|
+
DirectShow_Wrapper/camera/camera_inspector_bridge.py
|
|
12
|
+
DirectShow_Wrapper/camera/camera_manager.py
|
|
13
|
+
DirectShow_Wrapper/runtime/__init__.py
|
|
14
|
+
DirectShow_Wrapper/runtime/dotnet/DirectShowLib.dll
|
|
15
|
+
DirectShow_Wrapper/runtime/dotnet/DirectShowLibWrapper.dll
|
|
16
|
+
DirectShow_Wrapper/runtime/dotnet/__init__.py
|
|
17
|
+
python_camera_manager_directshow.egg-info/PKG-INFO
|
|
18
|
+
python_camera_manager_directshow.egg-info/SOURCES.txt
|
|
19
|
+
python_camera_manager_directshow.egg-info/dependency_links.txt
|
|
20
|
+
python_camera_manager_directshow.egg-info/entry_points.txt
|
|
21
|
+
python_camera_manager_directshow.egg-info/requires.txt
|
|
22
|
+
python_camera_manager_directshow.egg-info/top_level.txt
|
python_camera_manager_directshow-0.2.1/python_camera_manager_directshow.egg-info/top_level.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
DirectShow_Wrapper
|
python_camera_manager_directshow-0.2.0/python_camera_manager_directshow.egg-info/SOURCES.txt
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
LICENSE
|
|
2
|
-
README.md
|
|
3
|
-
pyproject.toml
|
|
4
|
-
GUI/__init__.py
|
|
5
|
-
GUI/main_GUI.py
|
|
6
|
-
app/__init__.py
|
|
7
|
-
app/main.py
|
|
8
|
-
camera/__init__.py
|
|
9
|
-
camera/camera_device_bridge.py
|
|
10
|
-
camera/camera_inspector_bridge.py
|
|
11
|
-
camera/camera_manager.py
|
|
12
|
-
python_camera_manager_directshow.egg-info/PKG-INFO
|
|
13
|
-
python_camera_manager_directshow.egg-info/SOURCES.txt
|
|
14
|
-
python_camera_manager_directshow.egg-info/dependency_links.txt
|
|
15
|
-
python_camera_manager_directshow.egg-info/entry_points.txt
|
|
16
|
-
python_camera_manager_directshow.egg-info/requires.txt
|
|
17
|
-
python_camera_manager_directshow.egg-info/top_level.txt
|
|
18
|
-
runtime/__init__.py
|
|
19
|
-
runtime/dotnet/DirectShowLib.dll
|
|
20
|
-
runtime/dotnet/DirectShowLibWrapper.dll
|
|
21
|
-
runtime/dotnet/__init__.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|