pyppbox 3.4b1__tar.gz → 3.5b1__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 (92) hide show
  1. {pyppbox-3.4b1 → pyppbox-3.5b1}/GETSTARTED.md +7 -7
  2. {pyppbox-3.4b1/pyppbox.egg-info → pyppbox-3.5b1}/PKG-INFO +3 -2
  3. {pyppbox-3.4b1 → pyppbox-3.5b1}/README.md +1 -1
  4. {pyppbox-3.4b1 → pyppbox-3.5b1}/RELEASENOTES.md +17 -0
  5. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/__init__.py +1 -1
  6. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/guidemo.py +1 -2
  7. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/utils/evatools.py +14 -6
  8. {pyppbox-3.4b1 → pyppbox-3.5b1/pyppbox.egg-info}/PKG-INFO +3 -2
  9. {pyppbox-3.4b1 → pyppbox-3.5b1}/setup.py +1 -0
  10. {pyppbox-3.4b1 → pyppbox-3.5b1}/LICENSE +0 -0
  11. {pyppbox-3.4b1 → pyppbox-3.5b1}/MANIFEST.in +0 -0
  12. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/config/__init__.py +0 -0
  13. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/config/cfg/cfg.7z +0 -0
  14. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/config/cfg/detectors.yaml +0 -0
  15. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/config/cfg/main.yaml +0 -0
  16. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/config/cfg/reiders.yaml +0 -0
  17. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/config/cfg/trackers.yaml +0 -0
  18. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/config/configtools.py +0 -0
  19. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/config/myconfig.py +0 -0
  20. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/config/strings/strings.yaml +0 -0
  21. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/config/unifiedstrings.py +0 -0
  22. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/data/datasets/.gitignore +0 -0
  23. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/data/logs/.gitignore +0 -0
  24. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/data/modules/.gitignore +0 -0
  25. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/data/res/.gitignore +0 -0
  26. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/data/res/idmap.txt +0 -0
  27. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/__init__.py +0 -0
  28. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/assets/TReID.png +0 -0
  29. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/assets/icon.ico +0 -0
  30. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/assets/settings.ico +0 -0
  31. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/guihub.py +0 -0
  32. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/guitools.py +0 -0
  33. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/tmp/input.tmp +0 -0
  34. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/tmp/ui.tmp +0 -0
  35. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/ui_centroid.py +0 -0
  36. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/ui_deepsort.py +0 -0
  37. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/ui_facenet.py +0 -0
  38. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/ui_gt.py +0 -0
  39. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/ui_launcher.py +0 -0
  40. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/ui_sort.py +0 -0
  41. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/ui_torchreid.py +0 -0
  42. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/ui_yolocls.py +0 -0
  43. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/gui/ui_yoloult.py +0 -0
  44. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/__init__.py +0 -0
  45. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/detectors/__init__.py +0 -0
  46. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/detectors/yolocls/__init__.py +0 -0
  47. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/detectors/yoloult/__init__.py +0 -0
  48. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/reiders/__init__.py +0 -0
  49. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/reiders/facenet/__init__.py +0 -0
  50. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/reiders/facenet/origin/align_dataset_mtcnn.py +0 -0
  51. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/reiders/facenet/origin/detect_face.py +0 -0
  52. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/reiders/facenet/origin/facenet.py +0 -0
  53. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/reiders/torchreid/__init__.py +0 -0
  54. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/reiders/torchreid/model_dict.py +0 -0
  55. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/reiders/torchreid/model_dict.yaml +0 -0
  56. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/reiders/torchreid/utils.py +0 -0
  57. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/__init__.py +0 -0
  58. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/centroid/__init__.py +0 -0
  59. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/deepsort/__init__.py +0 -0
  60. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/deepsort/origin/detection.py +0 -0
  61. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/deepsort/origin/detection_yolo.py +0 -0
  62. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/deepsort/origin/generate_detections.py +0 -0
  63. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/deepsort/origin/iou_matching.py +0 -0
  64. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/deepsort/origin/kalman_filter.py +0 -0
  65. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/deepsort/origin/linear_assignment.py +0 -0
  66. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/deepsort/origin/nn_matching.py +0 -0
  67. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/deepsort/origin/preprocessing.py +0 -0
  68. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/deepsort/origin/track.py +0 -0
  69. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/deepsort/origin/tracker.py +0 -0
  70. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/deepsort/origin/voc_classes.txt +0 -0
  71. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/sort/__init__.py +0 -0
  72. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/modules/trackers/sort/origin/sort.py +0 -0
  73. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/standalone/__init__.py +0 -0
  74. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/standalone/mt.py +0 -0
  75. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/utils/__init__.py +0 -0
  76. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/utils/commontools.py +0 -0
  77. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/utils/gttools.py +0 -0
  78. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/utils/logtools.py +0 -0
  79. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/utils/mot2pyppbox.py +0 -0
  80. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/utils/persontools.py +0 -0
  81. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/utils/restools.py +0 -0
  82. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox/utils/visualizetools.py +0 -0
  83. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox.egg-info/SOURCES.txt +0 -0
  84. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox.egg-info/dependency_links.txt +0 -0
  85. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox.egg-info/requires.txt +0 -0
  86. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyppbox.egg-info/top_level.txt +0 -0
  87. {pyppbox-3.4b1 → pyppbox-3.5b1}/pyproject.toml +0 -0
  88. {pyppbox-3.4b1 → pyppbox-3.5b1}/requirements/README.md +0 -0
  89. {pyppbox-3.4b1 → pyppbox-3.5b1}/requirements/requirements.txt +0 -0
  90. {pyppbox-3.4b1 → pyppbox-3.5b1}/requirements/test_gpu.py +0 -0
  91. {pyppbox-3.4b1 → pyppbox-3.5b1}/setup.cfg +0 -0
  92. {pyppbox-3.4b1 → pyppbox-3.5b1}/setup_extra.yaml +0 -0
@@ -11,12 +11,12 @@ All requirements are not strictly limited. However, some specific modules might
11
11
  * Prerequisite:
12
12
  - (Optional) For NVIDIA GPU: [CUDA Toolkit 11.x/12.x](https://developer.nvidia.com/cuda-downloads) with default installation path
13
13
  - (Optional) For NVIDIA GPU: [cuDNN 8.x.x](https://developer.nvidia.com/rdp/cudnn-download) with default installation path
14
- - Python [[3.9-3.11]](https://www.python.org/downloads/)
14
+ - Python [[3.9-3.12]](https://www.python.org/downloads/)
15
15
  - Local pyppbox repo: `git clone https://github.com/rathaumons/pyppbox.git`
16
16
 
17
17
  * Before you install dependencies/requirements:
18
18
  - For Linux, recommend changing `python3` to `python`: `sudo apt install python-is-python3`
19
- - If you prefer conda + Python [3.9-3.11]: `conda create --name pyppbox_env python=3.11`
19
+ - If you prefer conda + Python [3.9-3.12]: `conda create --name pyppbox_env python=3.11`
20
20
  - If you don't know whether to install only Tensorflow or PyTorch or both -> Check [Supported Modules](https://rathaumons.github.io/pyppbox/pyppbox/modules.html)
21
21
  - For Tensorflow with GPU support -> [See here](https://www.tensorflow.org/install/pip)
22
22
 
@@ -90,11 +90,11 @@ You need to install the main package which is `pyppbox` and the data for the mod
90
90
  - Download the latest from [releases](https://github.com/rathaumons/pyppbox-data/releases)
91
91
  - Or install the ones you need directly:
92
92
  ```
93
- pip install https://github.com/rathaumons/pyppbox-data/releases/download/v1.1.0/pyppbox_data_yolocls-1.1.0-py3-none-any.whl
94
- pip install https://github.com/rathaumons/pyppbox-data/releases/download/v1.1.0/pyppbox_data_yoloult-1.1.0-py3-none-any.whl
95
- pip install https://github.com/rathaumons/pyppbox-data/releases/download/v1.1.0/pyppbox_data_deepsort-1.1.0-py3-none-any.whl
96
- pip install https://github.com/rathaumons/pyppbox-data/releases/download/v1.1.0/pyppbox_data_facenet-1.1.0-py3-none-any.whl
97
- pip install https://github.com/rathaumons/pyppbox-data/releases/download/v1.1.0/pyppbox_data_torchreid-1.1.0-py3-none-any.whl
93
+ pip install https://github.com/rathaumons/pyppbox-data/releases/download/v1.1.1/pyppbox_data_yolocls-1.1.1-py3-none-any.whl
94
+ pip install https://github.com/rathaumons/pyppbox-data/releases/download/v1.1.1/pyppbox_data_yoloult-1.1.1-py3-none-any.whl
95
+ pip install https://github.com/rathaumons/pyppbox-data/releases/download/v1.1.1/pyppbox_data_deepsort-1.1.1-py3-none-any.whl
96
+ pip install https://github.com/rathaumons/pyppbox-data/releases/download/v1.1.1/pyppbox_data_facenet-1.1.1-py3-none-any.whl
97
+ pip install https://github.com/rathaumons/pyppbox-data/releases/download/v1.1.1/pyppbox_data_torchreid-1.1.1-py3-none-any.whl
98
98
  ```
99
99
 
100
100
  * Install [`pyppbox-data-gta5`](https://github.com/rathaumons/PoseTReID_DATASET#-introducing-pyppbox-data-gta5)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyppbox
3
- Version: 3.4b1
3
+ Version: 3.5b1
4
4
  Summary: Toolbox for people detecting, tracking, and re-identifying.
5
5
  Home-page: https://github.com/rathaumons/pyppbox
6
6
  Author: Ratha SIV
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3 :: Only
20
20
  Classifier: Programming Language :: Python :: 3.9
21
21
  Classifier: Programming Language :: Python :: 3.10
22
22
  Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
23
24
  Classifier: Topic :: Scientific/Engineering
24
25
  Classifier: Topic :: Scientific/Engineering :: Image Recognition
25
26
  Classifier: Topic :: Software Development
@@ -74,7 +75,7 @@ Requires-Dist: pyppbox-ultralytics>=8.0.218
74
75
 
75
76
  </div>
76
77
 
77
- ***pyppbox*** is an all-in-one Python toolbox which can be used for detecting, tracking, and re-identifying people with only a few lines of codes. It is originally made for [***PoseTReID framework***](https://github.com/rathaumons/PoseTReID_DATASET) which can effectively track specific/certain people across multiple cameras or video scenes in distributed contexts of people interaction spaces such as malls or amusement parks, etc.
78
+ ***pyppbox*** is an all-in-one Python toolbox which can be used for detecting, tracking, and re-identifying people with only a few lines of code. It is originally made for [***PoseTReID framework***](https://github.com/rathaumons/PoseTReID_DATASET) which can effectively track specific/certain people across multiple cameras or video scenes in distributed contexts of people interaction spaces such as malls or amusement parks, etc.
78
79
 
79
80
  * ` pyppbox = Python + People + Toolbox `
80
81
  * Design for both short and long term people detecting, tracking, and re-identifying.
@@ -12,7 +12,7 @@
12
12
 
13
13
  </div>
14
14
 
15
- ***pyppbox*** is an all-in-one Python toolbox which can be used for detecting, tracking, and re-identifying people with only a few lines of codes. It is originally made for [***PoseTReID framework***](https://github.com/rathaumons/PoseTReID_DATASET) which can effectively track specific/certain people across multiple cameras or video scenes in distributed contexts of people interaction spaces such as malls or amusement parks, etc.
15
+ ***pyppbox*** is an all-in-one Python toolbox which can be used for detecting, tracking, and re-identifying people with only a few lines of code. It is originally made for [***PoseTReID framework***](https://github.com/rathaumons/PoseTReID_DATASET) which can effectively track specific/certain people across multiple cameras or video scenes in distributed contexts of people interaction spaces such as malls or amusement parks, etc.
16
16
 
17
17
  * ` pyppbox = Python + People + Toolbox `
18
18
  * Design for both short and long term people detecting, tracking, and re-identifying.
@@ -2,6 +2,23 @@
2
2
 
3
3
  ## **pyppbox V3 - Make Simpler and Faster**
4
4
 
5
+ * `pyppbox` [v3.5b1](https://github.com/rathaumons/pyppbox/tree/v3.5b1)
6
+
7
+ - Add Python 3.12 support
8
+ - Change GUI Demo title
9
+ - Update documentations
10
+ - Update and improve GitHub workflows
11
+ - **Known issue/limitation**:
12
+ - You tell me :)
13
+
14
+ * `pyppbox` [v3.4b2](https://github.com/rathaumons/pyppbox/tree/v3.4b2)
15
+
16
+ - Add freedom of input video without GT (Ground-truth) in GUI demo
17
+ - Update GitHub workflows
18
+ - Update and improve documentations
19
+ - **Known issue/limitation**:
20
+ - You tell me :)
21
+
5
22
  * `pyppbox` [v3.4b1](https://github.com/rathaumons/pyppbox/tree/v3.4b1)
6
23
 
7
24
  - Remove `findRepspointList()` from `pyppbox.utils.persontools`
@@ -47,7 +47,7 @@ from pyppbox.gui.guitools import (
47
47
  )
48
48
 
49
49
 
50
- __version__ = '3.4b1'
50
+ __version__ = '3.5b1'
51
51
  __author__ = 'Ratha SIV'
52
52
  __description__ = 'Toolbox for people detecting, tracking, and re-identifying.'
53
53
  __homepage__ = 'https://rathaumons.github.io/pyppbox'
@@ -62,11 +62,10 @@ eva.setGTByGTMap(gt_map_txt=gt_map_txt, input_video=input_source, id_mode=id_mod
62
62
  resIO = ResIO()
63
63
 
64
64
  # Title
65
- title = "DEMO:"
65
+ title = "(PYPPBOX v" + getVersionString() + ") DEMO:"
66
66
  title = title + " DT=" + cfg.mcfg.detector
67
67
  title = title + ", TK=" + cfg.mcfg.tracker
68
68
  title = title + ", RI=" + cfg.mcfg.reider
69
- title = title + " (PYPPBOX v" + getVersionString() + ")"
70
69
 
71
70
  # Count ReID
72
71
  total_reid = 0
@@ -65,6 +65,7 @@ class MyEVA(object):
65
65
  self.current_frame = 0
66
66
  self.frame_to_check = 0
67
67
  self.id_mode = "deepid"
68
+ self.no_gt = False
68
69
 
69
70
  def setGTByGTMap(self, gt_map_txt, input_video, id_mode="deepid"):
70
71
  """Set a GT (Ground-truth) text file by give the GT mapping file :obj:`gt_map_txt` and
@@ -96,8 +97,10 @@ class MyEVA(object):
96
97
  else:
97
98
  msg = ("MyEVA : setGTByGTMap() -> There is no GT file for the input '" +
98
99
  str(input_video) + "'")
99
- add_error_log(msg)
100
- raise ValueError(msg)
100
+ # add_error_log(msg)
101
+ # raise ValueError(msg)
102
+ add_warning_log(msg)
103
+ self.no_gt = True
101
104
 
102
105
 
103
106
  def setGTByKnownGTFile(self, gt_file, id_mode="deepid"):
@@ -125,8 +128,10 @@ class MyEVA(object):
125
128
  else:
126
129
  msg = ("MyEVA : setGTByKnownGTFile() -> The input gt_file='" +
127
130
  str(gt_file) + "' does not exist")
128
- add_error_log(msg)
129
- raise ValueError(msg)
131
+ # add_error_log(msg)
132
+ # raise ValueError(msg)
133
+ add_warning_log(msg)
134
+ self.no_gt = True
130
135
 
131
136
  def __checkInReID__(self):
132
137
  self.reid_count += 1
@@ -298,8 +303,11 @@ class MyEVA(object):
298
303
  score : float
299
304
  Score of the evaluation, between 0 and 1 -> (Total ID - Wrong ID - Missed Detection) / Total ID.
300
305
  """
301
- self.score = float((self.gt_interpreter.total_detections - self.diff_count -
302
- self.missed_detect) / self.gt_interpreter.total_detections)
306
+ if self.no_gt:
307
+ self.score = 0.0
308
+ else:
309
+ self.score = float((self.gt_interpreter.total_detections - self.diff_count -
310
+ self.missed_detect) / self.gt_interpreter.total_detections)
303
311
  if print_summary:
304
312
  msg = ("\n#####################################################################\n\n" +
305
313
  " Summary: \n\n" +
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyppbox
3
- Version: 3.4b1
3
+ Version: 3.5b1
4
4
  Summary: Toolbox for people detecting, tracking, and re-identifying.
5
5
  Home-page: https://github.com/rathaumons/pyppbox
6
6
  Author: Ratha SIV
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3 :: Only
20
20
  Classifier: Programming Language :: Python :: 3.9
21
21
  Classifier: Programming Language :: Python :: 3.10
22
22
  Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
23
24
  Classifier: Topic :: Scientific/Engineering
24
25
  Classifier: Topic :: Scientific/Engineering :: Image Recognition
25
26
  Classifier: Topic :: Software Development
@@ -74,7 +75,7 @@ Requires-Dist: pyppbox-ultralytics>=8.0.218
74
75
 
75
76
  </div>
76
77
 
77
- ***pyppbox*** is an all-in-one Python toolbox which can be used for detecting, tracking, and re-identifying people with only a few lines of codes. It is originally made for [***PoseTReID framework***](https://github.com/rathaumons/PoseTReID_DATASET) which can effectively track specific/certain people across multiple cameras or video scenes in distributed contexts of people interaction spaces such as malls or amusement parks, etc.
78
+ ***pyppbox*** is an all-in-one Python toolbox which can be used for detecting, tracking, and re-identifying people with only a few lines of code. It is originally made for [***PoseTReID framework***](https://github.com/rathaumons/PoseTReID_DATASET) which can effectively track specific/certain people across multiple cameras or video scenes in distributed contexts of people interaction spaces such as malls or amusement parks, etc.
78
79
 
79
80
  * ` pyppbox = Python + People + Toolbox `
80
81
  * Design for both short and long term people detecting, tracking, and re-identifying.
@@ -79,6 +79,7 @@ def main_setup():
79
79
  "Programming Language :: Python :: 3.9",
80
80
  "Programming Language :: Python :: 3.10",
81
81
  "Programming Language :: Python :: 3.11",
82
+ "Programming Language :: Python :: 3.12",
82
83
  "Topic :: Scientific/Engineering",
83
84
  "Topic :: Scientific/Engineering :: Image Recognition",
84
85
  "Topic :: Software Development",
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