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.
Files changed (27) hide show
  1. python_camera_manager_directshow-0.2.1/DirectShow_Wrapper/__init__.py +9 -0
  2. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/app/main.py +2 -11
  3. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/camera/camera_device_bridge.py +1 -1
  4. {python_camera_manager_directshow-0.2.0/python_camera_manager_directshow.egg-info → python_camera_manager_directshow-0.2.1}/PKG-INFO +11 -11
  5. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1}/README.md +10 -10
  6. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1}/pyproject.toml +7 -4
  7. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/python_camera_manager_directshow.egg-info}/PKG-INFO +11 -11
  8. python_camera_manager_directshow-0.2.1/python_camera_manager_directshow.egg-info/SOURCES.txt +22 -0
  9. python_camera_manager_directshow-0.2.1/python_camera_manager_directshow.egg-info/entry_points.txt +2 -0
  10. python_camera_manager_directshow-0.2.1/python_camera_manager_directshow.egg-info/top_level.txt +1 -0
  11. python_camera_manager_directshow-0.2.0/python_camera_manager_directshow.egg-info/SOURCES.txt +0 -21
  12. python_camera_manager_directshow-0.2.0/python_camera_manager_directshow.egg-info/entry_points.txt +0 -2
  13. python_camera_manager_directshow-0.2.0/python_camera_manager_directshow.egg-info/top_level.txt +0 -4
  14. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/GUI/__init__.py +0 -0
  15. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/GUI/main_GUI.py +0 -0
  16. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/app/__init__.py +0 -0
  17. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/camera/__init__.py +0 -0
  18. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/camera/camera_inspector_bridge.py +0 -0
  19. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/camera/camera_manager.py +0 -0
  20. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/runtime/__init__.py +0 -0
  21. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/runtime/dotnet/DirectShowLib.dll +0 -0
  22. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/runtime/dotnet/DirectShowLibWrapper.dll +0 -0
  23. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1/DirectShow_Wrapper}/runtime/dotnet/__init__.py +0 -0
  24. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1}/LICENSE +0 -0
  25. {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
  26. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1}/python_camera_manager_directshow.egg-info/requires.txt +0 -0
  27. {python_camera_manager_directshow-0.2.0 → python_camera_manager_directshow-0.2.1}/setup.cfg +0 -0
@@ -0,0 +1,9 @@
1
+ from .camera.camera_manager import Camera, CameraDeviceInfo, CameraFormat, CameraRange, DotNetLogType
2
+
3
+ __all__ = [
4
+ "Camera",
5
+ "CameraDeviceInfo",
6
+ "CameraFormat",
7
+ "CameraRange",
8
+ "DotNetLogType",
9
+ ]
@@ -1,16 +1,7 @@
1
- import os
2
- import sys
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 camera.camera_manager import CameraFormat
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.0
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/main.py
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/main.py
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
@@ -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.0"
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
- packages = ["app", "camera", "GUI", "runtime", "runtime.dotnet"]
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.0
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/main.py
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
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ camera-manager = DirectShow_Wrapper.app.main:main
@@ -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
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- camera-manager = app.main:main