ImagePRO-Python 1.1.0__tar.gz → 1.2.0__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 (37) hide show
  1. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/PKG-INFO +17 -8
  2. imagepro_python-1.2.0/pyproject.toml +81 -0
  3. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/body_analysis/body_pose_estimation.py +11 -2
  4. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/body_analysis/hand_tracking.py +11 -2
  5. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/face_analysis/eye_status_analysis.py +11 -2
  6. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/face_analysis/face_comparison.py +9 -0
  7. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/face_analysis/face_detection.py +9 -0
  8. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/face_analysis/face_mesh_analysis.py +11 -2
  9. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/face_analysis/head_pose_estimation.py +11 -2
  10. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/object_analysis/object_detection.py +9 -0
  11. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/blur.py +9 -0
  12. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/contrast.py +9 -0
  13. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/crop.py +8 -0
  14. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/dataset_generator.py +12 -4
  15. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/grayscale.py +9 -0
  16. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/histogram.py +9 -0
  17. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/resize.py +9 -0
  18. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/rotate.py +9 -0
  19. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/sharpen.py +9 -0
  20. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO_Python.egg-info/PKG-INFO +17 -8
  21. imagepro_python-1.2.0/src/ImagePRO_Python.egg-info/requires.txt +19 -0
  22. imagepro_python-1.1.0/pyproject.toml +0 -56
  23. imagepro_python-1.1.0/src/ImagePRO_Python.egg-info/requires.txt +0 -13
  24. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/LICENSE +0 -0
  25. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/setup.cfg +0 -0
  26. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/__init__.py +0 -0
  27. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/__init__.py +0 -0
  28. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/body_analysis/__init__.py +0 -0
  29. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/human_analysis/face_analysis/__init__.py +0 -0
  30. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/object_analysis/__init__.py +0 -0
  31. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/pre_processing/__init__.py +0 -0
  32. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/utils/__init__.py +0 -0
  33. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/utils/image.py +0 -0
  34. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO/utils/result.py +0 -0
  35. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO_Python.egg-info/SOURCES.txt +0 -0
  36. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO_Python.egg-info/dependency_links.txt +0 -0
  37. {imagepro_python-1.1.0 → imagepro_python-1.2.0}/src/ImagePRO_Python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ImagePRO-Python
3
- Version: 1.1.0
3
+ Version: 1.2.0
4
4
  Summary: Professional & modular image processing library with OpenCV, MediaPipe, and YOLO integration.
5
5
  Author-email: Parsa Safaie <parsasafaie.2568@proton.me>
6
6
  License: MIT
@@ -13,23 +13,32 @@ Classifier: Development Status :: 4 - Beta
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: Intended Audience :: Science/Research
15
15
  Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.9
16
17
  Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
17
21
  Classifier: License :: OSI Approved :: MIT License
18
22
  Classifier: Operating System :: OS Independent
19
23
  Classifier: Topic :: Scientific/Engineering :: Image Processing
20
24
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
25
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
- Requires-Python: ==3.10.*
26
+ Requires-Python: <3.13,>=3.9
23
27
  Description-Content-Type: text/markdown
24
28
  License-File: LICENSE
25
- Requires-Dist: numpy<2.0,>=1.24
26
- Requires-Dist: opencv-python<5.0,>=4.8
27
- Requires-Dist: matplotlib<3.9.0,>=3.7.0
29
+ Requires-Dist: numpy<3.0,>=1.24
30
+ Requires-Dist: opencv-python<6.0,>=4.8
31
+ Requires-Dist: matplotlib<4.0,>=3.7
28
32
  Provides-Extra: yolo
29
- Requires-Dist: ultralytics<9.0,>=8.2.0; extra == "yolo"
33
+ Requires-Dist: ultralytics<10.0,>=8.2; extra == "yolo"
30
34
  Provides-Extra: mediapipe
31
- Requires-Dist: mediapipe<1.0,>=0.10.0; extra == "mediapipe"
35
+ Requires-Dist: mediapipe<1.0,>=0.10; extra == "mediapipe"
32
36
  Provides-Extra: insightface
33
37
  Requires-Dist: insightface<1.0,>=0.7; extra == "insightface"
34
- Requires-Dist: onnxruntime<2.0,>=1.16; extra == "insightface"
38
+ Requires-Dist: onnxruntime<3.0,>=1.16; extra == "insightface"
39
+ Provides-Extra: full
40
+ Requires-Dist: mediapipe<1.0,>=0.10; extra == "full"
41
+ Requires-Dist: ultralytics<10.0,>=8.2; extra == "full"
42
+ Requires-Dist: insightface<1.0,>=0.7; extra == "full"
43
+ Requires-Dist: onnxruntime<3.0,>=1.16; extra == "full"
35
44
  Dynamic: license-file
@@ -0,0 +1,81 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [tool.setuptools.packages.find]
6
+ where = ["src"]
7
+
8
+ [project]
9
+ name = "ImagePRO-Python"
10
+ version = "1.2.0"
11
+ description = "Professional & modular image processing library with OpenCV, MediaPipe, and YOLO integration."
12
+ readme = "README.md"
13
+ requires-python = ">=3.9,<3.13"
14
+ license = { text = "MIT" }
15
+
16
+ authors = [
17
+ { name = "Parsa Safaie", email = "parsasafaie.2568@proton.me" }
18
+ ]
19
+
20
+ keywords = [
21
+ "opencv",
22
+ "mediapipe",
23
+ "computer-vision",
24
+ "face",
25
+ "pose",
26
+ "yolo",
27
+ "image-processing"
28
+ ]
29
+
30
+ classifiers = [
31
+ "Development Status :: 4 - Beta",
32
+ "Intended Audience :: Developers",
33
+ "Intended Audience :: Science/Research",
34
+ "Programming Language :: Python :: 3",
35
+ "Programming Language :: Python :: 3.9",
36
+ "Programming Language :: Python :: 3.10",
37
+ "Programming Language :: Python :: 3.11",
38
+ "Programming Language :: Python :: 3.12",
39
+ "Programming Language :: Python :: 3.13",
40
+ "License :: OSI Approved :: MIT License",
41
+ "Operating System :: OS Independent",
42
+ "Topic :: Scientific/Engineering :: Image Processing",
43
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
44
+ "Topic :: Software Development :: Libraries :: Python Modules"
45
+ ]
46
+
47
+ dependencies = [
48
+ "numpy>=1.24,<3.0",
49
+ "opencv-python>=4.8,<6.0",
50
+ "matplotlib>=3.7,<4.0"
51
+ ]
52
+
53
+ [project.optional-dependencies]
54
+ yolo = [
55
+ "ultralytics>=8.2,<10.0"
56
+ ]
57
+
58
+ mediapipe = [
59
+ "mediapipe>=0.10,<1.0"
60
+ ]
61
+
62
+ insightface = [
63
+ "insightface>=0.7,<1.0",
64
+ "onnxruntime>=1.16,<3.0"
65
+ ]
66
+
67
+ full = [
68
+ "mediapipe>=0.10,<1.0",
69
+ "ultralytics>=8.2,<10.0",
70
+ "insightface>=0.7,<1.0",
71
+ "onnxruntime>=1.16,<3.0"
72
+ ]
73
+
74
+ [project.urls]
75
+ Homepage = "https://github.com/parsasafaie/ImagePRO"
76
+ Repository = "https://github.com/parsasafaie/ImagePRO.git"
77
+ Documentation = "https://github.com/parsasafaie/ImagePRO#readme"
78
+ Issues = "https://github.com/parsasafaie/ImagePRO/issues"
79
+
80
+ [tool.hatch.build.targets.wheel]
81
+ packages = ["src/ImagePRO"]
@@ -1,11 +1,20 @@
1
1
  from __future__ import annotations
2
2
 
3
- import cv2
4
- import mediapipe as mp
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[3] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
5
11
 
6
12
  from ImagePRO.utils.image import Image
7
13
  from ImagePRO.utils.result import Result
8
14
 
15
+ import cv2
16
+ import mediapipe as mp
17
+
9
18
  # Constants
10
19
  mp_pose = mp.solutions.pose
11
20
  TOTAL_LANDMARKS = 33
@@ -1,11 +1,20 @@
1
1
  from __future__ import annotations
2
2
 
3
- import cv2
4
- import mediapipe as mp
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[3] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
5
11
 
6
12
  from ImagePRO.utils.image import Image
7
13
  from ImagePRO.utils.result import Result
8
14
 
15
+ import cv2
16
+ import mediapipe as mp
17
+
9
18
  # Constants
10
19
  mp_hands = mp.solutions.hands
11
20
  DEFAULT_MAX_HANDS = 2
@@ -1,12 +1,21 @@
1
1
  from __future__ import annotations
2
2
 
3
- import cv2
4
- import mediapipe as mp
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[3] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
5
11
 
6
12
  from ImagePRO.human_analysis.face_analysis.face_mesh_analysis import analyze_face_mesh
7
13
  from ImagePRO.utils.image import Image
8
14
  from ImagePRO.utils.result import Result
9
15
 
16
+ import cv2
17
+ import mediapipe as mp
18
+
10
19
  # Constants
11
20
  mp_face_mesh = mp.solutions.face_mesh
12
21
  DEFAULT_MIN_CONFIDENCE = 0.7
@@ -1,5 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[3] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
11
+
3
12
  import os
4
13
 
5
14
  import cv2
@@ -1,5 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[3] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
11
+
3
12
  import cv2
4
13
  import mediapipe as mp
5
14
  import numpy as np
@@ -1,11 +1,20 @@
1
1
  from __future__ import annotations
2
2
 
3
- import cv2
4
- import mediapipe as mp
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[3] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
5
11
 
6
12
  from ImagePRO.utils.image import Image
7
13
  from ImagePRO.utils.result import Result
8
14
 
15
+ import cv2
16
+ import mediapipe as mp
17
+
9
18
  # Constants
10
19
  mp_face_mesh = mp.solutions.face_mesh
11
20
  mp_drawing_utils = mp.solutions.drawing_utils
@@ -1,12 +1,21 @@
1
1
  from __future__ import annotations
2
2
 
3
- import cv2
4
- import mediapipe as mp
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[3] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
5
11
 
6
12
  from ImagePRO.human_analysis.face_analysis.face_mesh_analysis import analyze_face_mesh
7
13
  from ImagePRO.utils.image import Image
8
14
  from ImagePRO.utils.result import Result
9
15
 
16
+ import cv2
17
+ import mediapipe as mp
18
+
10
19
  # Constants
11
20
  mp_face_mesh = mp.solutions.face_mesh
12
21
  DEFAULT_MAX_FACES = 1
@@ -1,5 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[2] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
11
+
3
12
  from ultralytics import YOLO
4
13
 
5
14
  from ImagePRO.utils.image import Image
@@ -1,5 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[2] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
11
+
3
12
  import cv2
4
13
 
5
14
  from ImagePRO.utils.image import Image
@@ -1,5 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[2] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
11
+
3
12
  import cv2
4
13
 
5
14
  from ImagePRO.utils.image import Image
@@ -1,5 +1,13 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[2] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
3
11
 
4
12
  from ImagePRO.utils.image import Image
5
13
  from ImagePRO.utils.result import Result
@@ -1,16 +1,24 @@
1
1
  from __future__ import annotations
2
2
 
3
- import random
4
- import time
3
+ import sys
5
4
  from pathlib import Path
6
5
 
7
- import cv2
8
- import mediapipe as mp
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[2] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
9
11
 
10
12
  from ImagePRO.human_analysis.face_analysis.face_detection import detect_faces
11
13
  from ImagePRO.pre_processing import blur, grayscale, rotate, sharpen, resize
12
14
  from ImagePRO.utils.image import Image
13
15
 
16
+ import random
17
+ import time
18
+
19
+ import cv2
20
+ import mediapipe as mp
21
+
14
22
  # Constants
15
23
  DEFAULT_NUM_IMAGES = 200
16
24
  DEFAULT_START_INDEX = 0
@@ -1,5 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[2] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
11
+
3
12
  import cv2
4
13
 
5
14
  from ImagePRO.utils.image import Image
@@ -1,5 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[2] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
11
+
3
12
  import cv2
4
13
  import matplotlib.pyplot as plt
5
14
 
@@ -1,5 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[2] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
11
+
3
12
  import cv2
4
13
 
5
14
  from ImagePRO.utils.image import Image
@@ -1,5 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[2] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
11
+
3
12
  import cv2
4
13
  import numpy as np
5
14
 
@@ -1,5 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import sys
4
+ from pathlib import Path
5
+
6
+ # Add src directory to path for absolute imports
7
+ _file_path = Path(__file__).resolve()
8
+ _src_path = _file_path.parents[2] # Go up to src directory
9
+ if str(_src_path) not in sys.path:
10
+ sys.path.insert(0, str(_src_path))
11
+
3
12
  import cv2
4
13
  import numpy as np
5
14
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ImagePRO-Python
3
- Version: 1.1.0
3
+ Version: 1.2.0
4
4
  Summary: Professional & modular image processing library with OpenCV, MediaPipe, and YOLO integration.
5
5
  Author-email: Parsa Safaie <parsasafaie.2568@proton.me>
6
6
  License: MIT
@@ -13,23 +13,32 @@ Classifier: Development Status :: 4 - Beta
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: Intended Audience :: Science/Research
15
15
  Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.9
16
17
  Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
17
21
  Classifier: License :: OSI Approved :: MIT License
18
22
  Classifier: Operating System :: OS Independent
19
23
  Classifier: Topic :: Scientific/Engineering :: Image Processing
20
24
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
25
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
- Requires-Python: ==3.10.*
26
+ Requires-Python: <3.13,>=3.9
23
27
  Description-Content-Type: text/markdown
24
28
  License-File: LICENSE
25
- Requires-Dist: numpy<2.0,>=1.24
26
- Requires-Dist: opencv-python<5.0,>=4.8
27
- Requires-Dist: matplotlib<3.9.0,>=3.7.0
29
+ Requires-Dist: numpy<3.0,>=1.24
30
+ Requires-Dist: opencv-python<6.0,>=4.8
31
+ Requires-Dist: matplotlib<4.0,>=3.7
28
32
  Provides-Extra: yolo
29
- Requires-Dist: ultralytics<9.0,>=8.2.0; extra == "yolo"
33
+ Requires-Dist: ultralytics<10.0,>=8.2; extra == "yolo"
30
34
  Provides-Extra: mediapipe
31
- Requires-Dist: mediapipe<1.0,>=0.10.0; extra == "mediapipe"
35
+ Requires-Dist: mediapipe<1.0,>=0.10; extra == "mediapipe"
32
36
  Provides-Extra: insightface
33
37
  Requires-Dist: insightface<1.0,>=0.7; extra == "insightface"
34
- Requires-Dist: onnxruntime<2.0,>=1.16; extra == "insightface"
38
+ Requires-Dist: onnxruntime<3.0,>=1.16; extra == "insightface"
39
+ Provides-Extra: full
40
+ Requires-Dist: mediapipe<1.0,>=0.10; extra == "full"
41
+ Requires-Dist: ultralytics<10.0,>=8.2; extra == "full"
42
+ Requires-Dist: insightface<1.0,>=0.7; extra == "full"
43
+ Requires-Dist: onnxruntime<3.0,>=1.16; extra == "full"
35
44
  Dynamic: license-file
@@ -0,0 +1,19 @@
1
+ numpy<3.0,>=1.24
2
+ opencv-python<6.0,>=4.8
3
+ matplotlib<4.0,>=3.7
4
+
5
+ [full]
6
+ mediapipe<1.0,>=0.10
7
+ ultralytics<10.0,>=8.2
8
+ insightface<1.0,>=0.7
9
+ onnxruntime<3.0,>=1.16
10
+
11
+ [insightface]
12
+ insightface<1.0,>=0.7
13
+ onnxruntime<3.0,>=1.16
14
+
15
+ [mediapipe]
16
+ mediapipe<1.0,>=0.10
17
+
18
+ [yolo]
19
+ ultralytics<10.0,>=8.2
@@ -1,56 +0,0 @@
1
- [build-system]
2
- requires = ["setuptools>=61", "wheel"]
3
- build-backend = "setuptools.build_meta"
4
-
5
- [tool.setuptools.packages.find]
6
- where = ["src"]
7
-
8
- [project]
9
- name = "ImagePRO-Python"
10
- version = "1.1.0"
11
- description = "Professional & modular image processing library with OpenCV, MediaPipe, and YOLO integration."
12
- readme = "README.md"
13
- requires-python = "==3.10.*"
14
- license = {text = "MIT"}
15
- authors = [{name = "Parsa Safaie", email = "parsasafaie.2568@proton.me"}]
16
- keywords = ["opencv", "mediapipe", "computer-vision", "face", "pose", "yolo", "image-processing"]
17
- classifiers = [
18
- "Development Status :: 4 - Beta",
19
- "Intended Audience :: Developers",
20
- "Intended Audience :: Science/Research",
21
- "Programming Language :: Python :: 3",
22
- "Programming Language :: Python :: 3.10",
23
- "License :: OSI Approved :: MIT License",
24
- "Operating System :: OS Independent",
25
- "Topic :: Scientific/Engineering :: Image Processing",
26
- "Topic :: Scientific/Engineering :: Artificial Intelligence",
27
- "Topic :: Software Development :: Libraries :: Python Modules",
28
- ]
29
-
30
- dependencies = [
31
- "numpy>=1.24,<2.0",
32
- "opencv-python>=4.8,<5.0",
33
- "matplotlib>=3.7.0,<3.9.0"
34
- ]
35
-
36
- [project.optional-dependencies]
37
- yolo = [
38
- "ultralytics>=8.2.0,<9.0"
39
- ]
40
- mediapipe = [
41
- "mediapipe>=0.10.0,<1.0"
42
- ]
43
- insightface = [
44
- "insightface>=0.7,<1.0",
45
- "onnxruntime>=1.16,<2.0"
46
- ]
47
-
48
-
49
- [project.urls]
50
- Homepage = "https://github.com/parsasafaie/ImagePRO"
51
- Repository = "https://github.com/parsasafaie/ImagePRO.git"
52
- Documentation = "https://github.com/parsasafaie/ImagePRO#readme"
53
- Issues = "https://github.com/parsasafaie/ImagePRO/issues"
54
-
55
- [tool.hatch.build.targets.wheel]
56
- packages = ["src/ImagePRO"]
@@ -1,13 +0,0 @@
1
- numpy<2.0,>=1.24
2
- opencv-python<5.0,>=4.8
3
- matplotlib<3.9.0,>=3.7.0
4
-
5
- [insightface]
6
- insightface<1.0,>=0.7
7
- onnxruntime<2.0,>=1.16
8
-
9
- [mediapipe]
10
- mediapipe<1.0,>=0.10.0
11
-
12
- [yolo]
13
- ultralytics<9.0,>=8.2.0
File without changes