winrt-Windows.Media.FaceAnalysis 2.2.0__tar.gz → 3.0.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 (22) hide show
  1. {winrt_windows_media_faceanalysis-2.2.0 → winrt_windows_media_faceanalysis-3.0.0}/PKG-INFO +7 -7
  2. winrt_windows_media_faceanalysis-3.0.0/all-requirements.txt +6 -0
  3. {winrt_windows_media_faceanalysis-2.2.0 → winrt_windows_media_faceanalysis-3.0.0}/py.Windows.Media.FaceAnalysis.cpp +164 -71
  4. {winrt_windows_media_faceanalysis-2.2.0 → winrt_windows_media_faceanalysis-3.0.0}/pyproject.toml +2 -2
  5. winrt_windows_media_faceanalysis-3.0.0/pywinrt-version.txt +1 -0
  6. {winrt_windows_media_faceanalysis-2.2.0 → winrt_windows_media_faceanalysis-3.0.0}/requirements.txt +2 -2
  7. {winrt_windows_media_faceanalysis-2.2.0 → winrt_windows_media_faceanalysis-3.0.0}/setup.py +1 -1
  8. winrt_windows_media_faceanalysis-3.0.0/winrt/_winrt_windows_media_faceanalysis.pyi +84 -0
  9. winrt_windows_media_faceanalysis-3.0.0/winrt/windows/media/faceanalysis/__init__.py +15 -0
  10. {winrt_windows_media_faceanalysis-2.2.0 → winrt_windows_media_faceanalysis-3.0.0}/winrt_Windows.Media.FaceAnalysis.egg-info/PKG-INFO +7 -7
  11. winrt_windows_media_faceanalysis-3.0.0/winrt_Windows.Media.FaceAnalysis.egg-info/requires.txt +7 -0
  12. winrt_windows_media_faceanalysis-2.2.0/all-requirements.txt +0 -6
  13. winrt_windows_media_faceanalysis-2.2.0/pywinrt-version.txt +0 -1
  14. winrt_windows_media_faceanalysis-2.2.0/winrt/_winrt_windows_media_faceanalysis.pyi +0 -72
  15. winrt_windows_media_faceanalysis-2.2.0/winrt/windows/media/faceanalysis/__init__.py +0 -14
  16. winrt_windows_media_faceanalysis-2.2.0/winrt_Windows.Media.FaceAnalysis.egg-info/requires.txt +0 -7
  17. {winrt_windows_media_faceanalysis-2.2.0 → winrt_windows_media_faceanalysis-3.0.0}/README.md +0 -0
  18. {winrt_windows_media_faceanalysis-2.2.0 → winrt_windows_media_faceanalysis-3.0.0}/setup.cfg +0 -0
  19. {winrt_windows_media_faceanalysis-2.2.0 → winrt_windows_media_faceanalysis-3.0.0}/winrt/windows/media/faceanalysis/py.typed +0 -0
  20. {winrt_windows_media_faceanalysis-2.2.0 → winrt_windows_media_faceanalysis-3.0.0}/winrt_Windows.Media.FaceAnalysis.egg-info/SOURCES.txt +0 -0
  21. {winrt_windows_media_faceanalysis-2.2.0 → winrt_windows_media_faceanalysis-3.0.0}/winrt_Windows.Media.FaceAnalysis.egg-info/dependency_links.txt +0 -0
  22. {winrt_windows_media_faceanalysis-2.2.0 → winrt_windows_media_faceanalysis-3.0.0}/winrt_Windows.Media.FaceAnalysis.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: winrt-Windows.Media.FaceAnalysis
3
- Version: 2.2.0
3
+ Version: 3.0.0
4
4
  Summary: Python projection of Windows Runtime (WinRT) APIs
5
5
  License: MIT
6
6
  Project-URL: Documentation, https://pywinrt.readthedocs.io
@@ -10,14 +10,14 @@ Classifier: Operating System :: Microsoft :: Windows
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: Implementation :: CPython
12
12
  Classifier: Intended Audience :: Developers
13
- Requires-Python: <3.14,>=3.9
13
+ Requires-Python: >=3.9
14
14
  Description-Content-Type: text/markdown
15
- Requires-Dist: winrt-runtime==2.2.0
15
+ Requires-Dist: winrt-runtime==3.0.0
16
16
  Provides-Extra: all
17
- Requires-Dist: winrt-Windows.Foundation[all]==2.2.0; extra == "all"
18
- Requires-Dist: winrt-Windows.Foundation.Collections[all]==2.2.0; extra == "all"
19
- Requires-Dist: winrt-Windows.Graphics.Imaging[all]==2.2.0; extra == "all"
20
- Requires-Dist: winrt-Windows.Media[all]==2.2.0; extra == "all"
17
+ Requires-Dist: winrt-Windows.Foundation[all]==3.0.0; extra == "all"
18
+ Requires-Dist: winrt-Windows.Foundation.Collections[all]==3.0.0; extra == "all"
19
+ Requires-Dist: winrt-Windows.Graphics.Imaging[all]==3.0.0; extra == "all"
20
+ Requires-Dist: winrt-Windows.Media[all]==3.0.0; extra == "all"
21
21
 
22
22
  <!-- warning: Please don't edit this file. It was automatically generated. -->
23
23
 
@@ -0,0 +1,6 @@
1
+ # WARNING: Please don't edit this file. It was generated by Python/WinRT v3.0.0
2
+
3
+ winrt-Windows.Foundation[all]==3.0.0
4
+ winrt-Windows.Foundation.Collections[all]==3.0.0
5
+ winrt-Windows.Graphics.Imaging[all]==3.0.0
6
+ winrt-Windows.Media[all]==3.0.0
@@ -1,4 +1,4 @@
1
- // WARNING: Please don't edit this file. It was generated by Python/WinRT v2.2.0
1
+ // WARNING: Please don't edit this file. It was generated by Python/WinRT v3.0.0
2
2
 
3
3
  #include "py.Windows.Media.FaceAnalysis.h"
4
4
 
@@ -38,7 +38,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
38
38
  return nullptr;
39
39
  }
40
40
 
41
- return py::convert(self->obj.FaceBox());
41
+ return py::convert([&]()
42
+ {
43
+ auto _gil = release_gil();
44
+ return self->obj.FaceBox();
45
+ }());
42
46
  }
43
47
  catch (...)
44
48
  {
@@ -74,21 +78,18 @@ namespace py::cpp::Windows::Media::FaceAnalysis
74
78
  static PyMethodDef _methods_DetectedFace[] = {
75
79
  { "_assign_array_", _assign_array_DetectedFace, METH_O | METH_STATIC, nullptr },
76
80
  { "_from", reinterpret_cast<PyCFunction>(_from_DetectedFace), METH_O | METH_STATIC, nullptr },
77
- { }
78
- };
81
+ { }};
79
82
 
80
83
  static PyGetSetDef _getset_DetectedFace[] = {
81
84
  { "face_box", reinterpret_cast<getter>(DetectedFace_get_FaceBox), nullptr, nullptr, nullptr },
82
- { }
83
- };
85
+ { }};
84
86
 
85
87
  static PyType_Slot _type_slots_DetectedFace[] = {
86
88
  { Py_tp_new, reinterpret_cast<void*>(_new_DetectedFace) },
87
89
  { Py_tp_dealloc, reinterpret_cast<void*>(_dealloc_DetectedFace) },
88
90
  { Py_tp_methods, reinterpret_cast<void*>(_methods_DetectedFace) },
89
91
  { Py_tp_getset, reinterpret_cast<void*>(_getset_DetectedFace) },
90
- { }
91
- };
92
+ { }};
92
93
 
93
94
  static PyType_Spec type_spec_DetectedFace = {
94
95
  "winrt._winrt_windows_media_faceanalysis.DetectedFace",
@@ -116,7 +117,7 @@ namespace py::cpp::Windows::Media::FaceAnalysis
116
117
 
117
118
  static PyObject* FaceDetector_CreateAsync(PyObject* /*unused*/, PyObject* args) noexcept
118
119
  {
119
- auto arg_count = PyTuple_Size(args);
120
+ auto arg_count = PyTuple_GET_SIZE(args);
120
121
 
121
122
  if (arg_count == 0)
122
123
  {
@@ -135,7 +136,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
135
136
  return nullptr;
136
137
  }
137
138
 
138
- return py::convert(winrt::Windows::Media::FaceAnalysis::FaceDetector::CreateAsync());
139
+ return py::convert([&]()
140
+ {
141
+ auto _gil = release_gil();
142
+ return winrt::Windows::Media::FaceAnalysis::FaceDetector::CreateAsync();
143
+ }());
139
144
  }
140
145
  catch (...)
141
146
  {
@@ -152,7 +157,7 @@ namespace py::cpp::Windows::Media::FaceAnalysis
152
157
 
153
158
  static PyObject* FaceDetector_DetectFacesAsync(py::wrapper::Windows::Media::FaceAnalysis::FaceDetector* self, PyObject* args) noexcept
154
159
  {
155
- auto arg_count = PyTuple_Size(args);
160
+ auto arg_count = PyTuple_GET_SIZE(args);
156
161
 
157
162
  if (arg_count == 1)
158
163
  {
@@ -173,7 +178,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
173
178
 
174
179
  auto param0 = py::convert_to<winrt::Windows::Graphics::Imaging::SoftwareBitmap>(args, 0);
175
180
 
176
- return py::convert(self->obj.DetectFacesAsync(param0));
181
+ return py::convert([&]()
182
+ {
183
+ auto _gil = release_gil();
184
+ return self->obj.DetectFacesAsync(param0);
185
+ }());
177
186
  }
178
187
  catch (...)
179
188
  {
@@ -181,7 +190,18 @@ namespace py::cpp::Windows::Media::FaceAnalysis
181
190
  return nullptr;
182
191
  }
183
192
  }
184
- else if (arg_count == 2)
193
+ else
194
+ {
195
+ py::set_invalid_arg_count_error(arg_count);
196
+ return nullptr;
197
+ }
198
+ }
199
+
200
+ static PyObject* FaceDetector_DetectFacesWithSearchAreaAsync(py::wrapper::Windows::Media::FaceAnalysis::FaceDetector* self, PyObject* args) noexcept
201
+ {
202
+ auto arg_count = PyTuple_GET_SIZE(args);
203
+
204
+ if (arg_count == 2)
185
205
  {
186
206
  try
187
207
  {
@@ -201,7 +221,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
201
221
  auto param0 = py::convert_to<winrt::Windows::Graphics::Imaging::SoftwareBitmap>(args, 0);
202
222
  auto param1 = py::convert_to<winrt::Windows::Graphics::Imaging::BitmapBounds>(args, 1);
203
223
 
204
- return py::convert(self->obj.DetectFacesAsync(param0, param1));
224
+ return py::convert([&]()
225
+ {
226
+ auto _gil = release_gil();
227
+ return self->obj.DetectFacesAsync(param0, param1);
228
+ }());
205
229
  }
206
230
  catch (...)
207
231
  {
@@ -218,7 +242,7 @@ namespace py::cpp::Windows::Media::FaceAnalysis
218
242
 
219
243
  static PyObject* FaceDetector_GetSupportedBitmapPixelFormats(PyObject* /*unused*/, PyObject* args) noexcept
220
244
  {
221
- auto arg_count = PyTuple_Size(args);
245
+ auto arg_count = PyTuple_GET_SIZE(args);
222
246
 
223
247
  if (arg_count == 0)
224
248
  {
@@ -237,7 +261,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
237
261
  return nullptr;
238
262
  }
239
263
 
240
- return py::convert(winrt::Windows::Media::FaceAnalysis::FaceDetector::GetSupportedBitmapPixelFormats());
264
+ return py::convert([&]()
265
+ {
266
+ auto _gil = release_gil();
267
+ return winrt::Windows::Media::FaceAnalysis::FaceDetector::GetSupportedBitmapPixelFormats();
268
+ }());
241
269
  }
242
270
  catch (...)
243
271
  {
@@ -254,7 +282,7 @@ namespace py::cpp::Windows::Media::FaceAnalysis
254
282
 
255
283
  static PyObject* FaceDetector_IsBitmapPixelFormatSupported(PyObject* /*unused*/, PyObject* args) noexcept
256
284
  {
257
- auto arg_count = PyTuple_Size(args);
285
+ auto arg_count = PyTuple_GET_SIZE(args);
258
286
 
259
287
  if (arg_count == 1)
260
288
  {
@@ -275,7 +303,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
275
303
 
276
304
  auto param0 = py::convert_to<winrt::Windows::Graphics::Imaging::BitmapPixelFormat>(args, 0);
277
305
 
278
- return py::convert(winrt::Windows::Media::FaceAnalysis::FaceDetector::IsBitmapPixelFormatSupported(param0));
306
+ return py::convert([&]()
307
+ {
308
+ auto _gil = release_gil();
309
+ return winrt::Windows::Media::FaceAnalysis::FaceDetector::IsBitmapPixelFormatSupported(param0);
310
+ }());
279
311
  }
280
312
  catch (...)
281
313
  {
@@ -307,7 +339,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
307
339
  return nullptr;
308
340
  }
309
341
 
310
- return py::convert(self->obj.MinDetectableFaceSize());
342
+ return py::convert([&]()
343
+ {
344
+ auto _gil = release_gil();
345
+ return self->obj.MinDetectableFaceSize();
346
+ }());
311
347
  }
312
348
  catch (...)
313
349
  {
@@ -318,7 +354,7 @@ namespace py::cpp::Windows::Media::FaceAnalysis
318
354
 
319
355
  static int FaceDetector_put_MinDetectableFaceSize(py::wrapper::Windows::Media::FaceAnalysis::FaceDetector* self, PyObject* arg, void* /*unused*/) noexcept
320
356
  {
321
- if (arg == nullptr)
357
+ if (!arg)
322
358
  {
323
359
  PyErr_SetString(PyExc_AttributeError, "can't delete attribute");
324
360
  return -1;
@@ -341,7 +377,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
341
377
 
342
378
  auto param0 = py::convert_to<winrt::Windows::Graphics::Imaging::BitmapSize>(arg);
343
379
 
344
- self->obj.MinDetectableFaceSize(param0);
380
+ {
381
+ auto _gil = release_gil();
382
+ self->obj.MinDetectableFaceSize(param0);
383
+ }
384
+
345
385
  return 0;
346
386
  }
347
387
  catch (...)
@@ -368,7 +408,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
368
408
  return nullptr;
369
409
  }
370
410
 
371
- return py::convert(self->obj.MaxDetectableFaceSize());
411
+ return py::convert([&]()
412
+ {
413
+ auto _gil = release_gil();
414
+ return self->obj.MaxDetectableFaceSize();
415
+ }());
372
416
  }
373
417
  catch (...)
374
418
  {
@@ -379,7 +423,7 @@ namespace py::cpp::Windows::Media::FaceAnalysis
379
423
 
380
424
  static int FaceDetector_put_MaxDetectableFaceSize(py::wrapper::Windows::Media::FaceAnalysis::FaceDetector* self, PyObject* arg, void* /*unused*/) noexcept
381
425
  {
382
- if (arg == nullptr)
426
+ if (!arg)
383
427
  {
384
428
  PyErr_SetString(PyExc_AttributeError, "can't delete attribute");
385
429
  return -1;
@@ -402,7 +446,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
402
446
 
403
447
  auto param0 = py::convert_to<winrt::Windows::Graphics::Imaging::BitmapSize>(arg);
404
448
 
405
- self->obj.MaxDetectableFaceSize(param0);
449
+ {
450
+ auto _gil = release_gil();
451
+ self->obj.MaxDetectableFaceSize(param0);
452
+ }
453
+
406
454
  return 0;
407
455
  }
408
456
  catch (...)
@@ -429,7 +477,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
429
477
  return nullptr;
430
478
  }
431
479
 
432
- return py::convert(winrt::Windows::Media::FaceAnalysis::FaceDetector::IsSupported());
480
+ return py::convert([&]()
481
+ {
482
+ auto _gil = release_gil();
483
+ return winrt::Windows::Media::FaceAnalysis::FaceDetector::IsSupported();
484
+ }());
433
485
  }
434
486
  catch (...)
435
487
  {
@@ -464,24 +516,22 @@ namespace py::cpp::Windows::Media::FaceAnalysis
464
516
 
465
517
  static PyMethodDef _methods_FaceDetector[] = {
466
518
  { "detect_faces_async", reinterpret_cast<PyCFunction>(FaceDetector_DetectFacesAsync), METH_VARARGS, nullptr },
519
+ { "detect_faces_with_search_area_async", reinterpret_cast<PyCFunction>(FaceDetector_DetectFacesWithSearchAreaAsync), METH_VARARGS, nullptr },
467
520
  { "_assign_array_", _assign_array_FaceDetector, METH_O | METH_STATIC, nullptr },
468
521
  { "_from", reinterpret_cast<PyCFunction>(_from_FaceDetector), METH_O | METH_STATIC, nullptr },
469
- { }
470
- };
522
+ { }};
471
523
 
472
524
  static PyGetSetDef _getset_FaceDetector[] = {
473
525
  { "min_detectable_face_size", reinterpret_cast<getter>(FaceDetector_get_MinDetectableFaceSize), reinterpret_cast<setter>(FaceDetector_put_MinDetectableFaceSize), nullptr, nullptr },
474
526
  { "max_detectable_face_size", reinterpret_cast<getter>(FaceDetector_get_MaxDetectableFaceSize), reinterpret_cast<setter>(FaceDetector_put_MaxDetectableFaceSize), nullptr, nullptr },
475
- { }
476
- };
527
+ { }};
477
528
 
478
529
  static PyType_Slot _type_slots_FaceDetector[] = {
479
530
  { Py_tp_new, reinterpret_cast<void*>(_new_FaceDetector) },
480
531
  { Py_tp_dealloc, reinterpret_cast<void*>(_dealloc_FaceDetector) },
481
532
  { Py_tp_methods, reinterpret_cast<void*>(_methods_FaceDetector) },
482
533
  { Py_tp_getset, reinterpret_cast<void*>(_getset_FaceDetector) },
483
- { }
484
- };
534
+ { }};
485
535
 
486
536
  static PyType_Spec type_spec_FaceDetector = {
487
537
  "winrt._winrt_windows_media_faceanalysis.FaceDetector",
@@ -492,15 +542,13 @@ namespace py::cpp::Windows::Media::FaceAnalysis
492
542
 
493
543
  static PyGetSetDef getset_FaceDetector_Static[] = {
494
544
  { "is_supported", reinterpret_cast<getter>(FaceDetector_get_IsSupported), nullptr, nullptr, nullptr },
495
- { }
496
- };
545
+ { }};
497
546
 
498
547
  static PyMethodDef methods_FaceDetector_Static[] = {
499
548
  { "create_async", reinterpret_cast<PyCFunction>(FaceDetector_CreateAsync), METH_VARARGS, nullptr },
500
549
  { "get_supported_bitmap_pixel_formats", reinterpret_cast<PyCFunction>(FaceDetector_GetSupportedBitmapPixelFormats), METH_VARARGS, nullptr },
501
550
  { "is_bitmap_pixel_format_supported", reinterpret_cast<PyCFunction>(FaceDetector_IsBitmapPixelFormatSupported), METH_VARARGS, nullptr },
502
- { }
503
- };
551
+ { }};
504
552
 
505
553
  static PyType_Slot type_slots_FaceDetector_Static[] =
506
554
  {
@@ -510,14 +558,12 @@ namespace py::cpp::Windows::Media::FaceAnalysis
510
558
  { }
511
559
  };
512
560
 
513
- static PyType_Spec type_spec_FaceDetector_Static =
514
- {
561
+ static PyType_Spec type_spec_FaceDetector_Static = {
515
562
  "winrt._winrt_windows_media_faceanalysis.FaceDetector_Static",
516
563
  static_cast<int>(PyType_Type.tp_basicsize),
517
564
  static_cast<int>(PyType_Type.tp_itemsize),
518
565
  Py_TPFLAGS_DEFAULT,
519
- type_slots_FaceDetector_Static
520
- };
566
+ type_slots_FaceDetector_Static};
521
567
 
522
568
  // ----- FaceTracker class --------------------
523
569
 
@@ -538,7 +584,7 @@ namespace py::cpp::Windows::Media::FaceAnalysis
538
584
 
539
585
  static PyObject* FaceTracker_CreateAsync(PyObject* /*unused*/, PyObject* args) noexcept
540
586
  {
541
- auto arg_count = PyTuple_Size(args);
587
+ auto arg_count = PyTuple_GET_SIZE(args);
542
588
 
543
589
  if (arg_count == 0)
544
590
  {
@@ -557,7 +603,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
557
603
  return nullptr;
558
604
  }
559
605
 
560
- return py::convert(winrt::Windows::Media::FaceAnalysis::FaceTracker::CreateAsync());
606
+ return py::convert([&]()
607
+ {
608
+ auto _gil = release_gil();
609
+ return winrt::Windows::Media::FaceAnalysis::FaceTracker::CreateAsync();
610
+ }());
561
611
  }
562
612
  catch (...)
563
613
  {
@@ -574,7 +624,7 @@ namespace py::cpp::Windows::Media::FaceAnalysis
574
624
 
575
625
  static PyObject* FaceTracker_GetSupportedBitmapPixelFormats(PyObject* /*unused*/, PyObject* args) noexcept
576
626
  {
577
- auto arg_count = PyTuple_Size(args);
627
+ auto arg_count = PyTuple_GET_SIZE(args);
578
628
 
579
629
  if (arg_count == 0)
580
630
  {
@@ -593,7 +643,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
593
643
  return nullptr;
594
644
  }
595
645
 
596
- return py::convert(winrt::Windows::Media::FaceAnalysis::FaceTracker::GetSupportedBitmapPixelFormats());
646
+ return py::convert([&]()
647
+ {
648
+ auto _gil = release_gil();
649
+ return winrt::Windows::Media::FaceAnalysis::FaceTracker::GetSupportedBitmapPixelFormats();
650
+ }());
597
651
  }
598
652
  catch (...)
599
653
  {
@@ -610,7 +664,7 @@ namespace py::cpp::Windows::Media::FaceAnalysis
610
664
 
611
665
  static PyObject* FaceTracker_IsBitmapPixelFormatSupported(PyObject* /*unused*/, PyObject* args) noexcept
612
666
  {
613
- auto arg_count = PyTuple_Size(args);
667
+ auto arg_count = PyTuple_GET_SIZE(args);
614
668
 
615
669
  if (arg_count == 1)
616
670
  {
@@ -631,7 +685,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
631
685
 
632
686
  auto param0 = py::convert_to<winrt::Windows::Graphics::Imaging::BitmapPixelFormat>(args, 0);
633
687
 
634
- return py::convert(winrt::Windows::Media::FaceAnalysis::FaceTracker::IsBitmapPixelFormatSupported(param0));
688
+ return py::convert([&]()
689
+ {
690
+ auto _gil = release_gil();
691
+ return winrt::Windows::Media::FaceAnalysis::FaceTracker::IsBitmapPixelFormatSupported(param0);
692
+ }());
635
693
  }
636
694
  catch (...)
637
695
  {
@@ -648,7 +706,7 @@ namespace py::cpp::Windows::Media::FaceAnalysis
648
706
 
649
707
  static PyObject* FaceTracker_ProcessNextFrameAsync(py::wrapper::Windows::Media::FaceAnalysis::FaceTracker* self, PyObject* args) noexcept
650
708
  {
651
- auto arg_count = PyTuple_Size(args);
709
+ auto arg_count = PyTuple_GET_SIZE(args);
652
710
 
653
711
  if (arg_count == 1)
654
712
  {
@@ -669,7 +727,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
669
727
 
670
728
  auto param0 = py::convert_to<winrt::Windows::Media::VideoFrame>(args, 0);
671
729
 
672
- return py::convert(self->obj.ProcessNextFrameAsync(param0));
730
+ return py::convert([&]()
731
+ {
732
+ auto _gil = release_gil();
733
+ return self->obj.ProcessNextFrameAsync(param0);
734
+ }());
673
735
  }
674
736
  catch (...)
675
737
  {
@@ -701,7 +763,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
701
763
  return nullptr;
702
764
  }
703
765
 
704
- return py::convert(self->obj.MinDetectableFaceSize());
766
+ return py::convert([&]()
767
+ {
768
+ auto _gil = release_gil();
769
+ return self->obj.MinDetectableFaceSize();
770
+ }());
705
771
  }
706
772
  catch (...)
707
773
  {
@@ -712,7 +778,7 @@ namespace py::cpp::Windows::Media::FaceAnalysis
712
778
 
713
779
  static int FaceTracker_put_MinDetectableFaceSize(py::wrapper::Windows::Media::FaceAnalysis::FaceTracker* self, PyObject* arg, void* /*unused*/) noexcept
714
780
  {
715
- if (arg == nullptr)
781
+ if (!arg)
716
782
  {
717
783
  PyErr_SetString(PyExc_AttributeError, "can't delete attribute");
718
784
  return -1;
@@ -735,7 +801,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
735
801
 
736
802
  auto param0 = py::convert_to<winrt::Windows::Graphics::Imaging::BitmapSize>(arg);
737
803
 
738
- self->obj.MinDetectableFaceSize(param0);
804
+ {
805
+ auto _gil = release_gil();
806
+ self->obj.MinDetectableFaceSize(param0);
807
+ }
808
+
739
809
  return 0;
740
810
  }
741
811
  catch (...)
@@ -762,7 +832,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
762
832
  return nullptr;
763
833
  }
764
834
 
765
- return py::convert(self->obj.MaxDetectableFaceSize());
835
+ return py::convert([&]()
836
+ {
837
+ auto _gil = release_gil();
838
+ return self->obj.MaxDetectableFaceSize();
839
+ }());
766
840
  }
767
841
  catch (...)
768
842
  {
@@ -773,7 +847,7 @@ namespace py::cpp::Windows::Media::FaceAnalysis
773
847
 
774
848
  static int FaceTracker_put_MaxDetectableFaceSize(py::wrapper::Windows::Media::FaceAnalysis::FaceTracker* self, PyObject* arg, void* /*unused*/) noexcept
775
849
  {
776
- if (arg == nullptr)
850
+ if (!arg)
777
851
  {
778
852
  PyErr_SetString(PyExc_AttributeError, "can't delete attribute");
779
853
  return -1;
@@ -796,7 +870,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
796
870
 
797
871
  auto param0 = py::convert_to<winrt::Windows::Graphics::Imaging::BitmapSize>(arg);
798
872
 
799
- self->obj.MaxDetectableFaceSize(param0);
873
+ {
874
+ auto _gil = release_gil();
875
+ self->obj.MaxDetectableFaceSize(param0);
876
+ }
877
+
800
878
  return 0;
801
879
  }
802
880
  catch (...)
@@ -823,7 +901,11 @@ namespace py::cpp::Windows::Media::FaceAnalysis
823
901
  return nullptr;
824
902
  }
825
903
 
826
- return py::convert(winrt::Windows::Media::FaceAnalysis::FaceTracker::IsSupported());
904
+ return py::convert([&]()
905
+ {
906
+ auto _gil = release_gil();
907
+ return winrt::Windows::Media::FaceAnalysis::FaceTracker::IsSupported();
908
+ }());
827
909
  }
828
910
  catch (...)
829
911
  {
@@ -860,22 +942,19 @@ namespace py::cpp::Windows::Media::FaceAnalysis
860
942
  { "process_next_frame_async", reinterpret_cast<PyCFunction>(FaceTracker_ProcessNextFrameAsync), METH_VARARGS, nullptr },
861
943
  { "_assign_array_", _assign_array_FaceTracker, METH_O | METH_STATIC, nullptr },
862
944
  { "_from", reinterpret_cast<PyCFunction>(_from_FaceTracker), METH_O | METH_STATIC, nullptr },
863
- { }
864
- };
945
+ { }};
865
946
 
866
947
  static PyGetSetDef _getset_FaceTracker[] = {
867
948
  { "min_detectable_face_size", reinterpret_cast<getter>(FaceTracker_get_MinDetectableFaceSize), reinterpret_cast<setter>(FaceTracker_put_MinDetectableFaceSize), nullptr, nullptr },
868
949
  { "max_detectable_face_size", reinterpret_cast<getter>(FaceTracker_get_MaxDetectableFaceSize), reinterpret_cast<setter>(FaceTracker_put_MaxDetectableFaceSize), nullptr, nullptr },
869
- { }
870
- };
950
+ { }};
871
951
 
872
952
  static PyType_Slot _type_slots_FaceTracker[] = {
873
953
  { Py_tp_new, reinterpret_cast<void*>(_new_FaceTracker) },
874
954
  { Py_tp_dealloc, reinterpret_cast<void*>(_dealloc_FaceTracker) },
875
955
  { Py_tp_methods, reinterpret_cast<void*>(_methods_FaceTracker) },
876
956
  { Py_tp_getset, reinterpret_cast<void*>(_getset_FaceTracker) },
877
- { }
878
- };
957
+ { }};
879
958
 
880
959
  static PyType_Spec type_spec_FaceTracker = {
881
960
  "winrt._winrt_windows_media_faceanalysis.FaceTracker",
@@ -886,15 +965,13 @@ namespace py::cpp::Windows::Media::FaceAnalysis
886
965
 
887
966
  static PyGetSetDef getset_FaceTracker_Static[] = {
888
967
  { "is_supported", reinterpret_cast<getter>(FaceTracker_get_IsSupported), nullptr, nullptr, nullptr },
889
- { }
890
- };
968
+ { }};
891
969
 
892
970
  static PyMethodDef methods_FaceTracker_Static[] = {
893
971
  { "create_async", reinterpret_cast<PyCFunction>(FaceTracker_CreateAsync), METH_VARARGS, nullptr },
894
972
  { "get_supported_bitmap_pixel_formats", reinterpret_cast<PyCFunction>(FaceTracker_GetSupportedBitmapPixelFormats), METH_VARARGS, nullptr },
895
973
  { "is_bitmap_pixel_format_supported", reinterpret_cast<PyCFunction>(FaceTracker_IsBitmapPixelFormatSupported), METH_VARARGS, nullptr },
896
- { }
897
- };
974
+ { }};
898
975
 
899
976
  static PyType_Slot type_slots_FaceTracker_Static[] =
900
977
  {
@@ -904,14 +981,12 @@ namespace py::cpp::Windows::Media::FaceAnalysis
904
981
  { }
905
982
  };
906
983
 
907
- static PyType_Spec type_spec_FaceTracker_Static =
908
- {
984
+ static PyType_Spec type_spec_FaceTracker_Static = {
909
985
  "winrt._winrt_windows_media_faceanalysis.FaceTracker_Static",
910
986
  static_cast<int>(PyType_Type.tp_basicsize),
911
987
  static_cast<int>(PyType_Type.tp_itemsize),
912
988
  Py_TPFLAGS_DEFAULT,
913
- type_slots_FaceTracker_Static
914
- };
989
+ type_slots_FaceTracker_Static};
915
990
 
916
991
  // ----- Windows.Media.FaceAnalysis Initialization --------------------
917
992
 
@@ -945,6 +1020,12 @@ PyMODINIT_FUNC PyInit__winrt_windows_media_faceanalysis(void) noexcept
945
1020
  return nullptr;
946
1021
  }
947
1022
 
1023
+ auto inspectable_meta_type = py::get_inspectable_meta_type();
1024
+ if (!inspectable_meta_type)
1025
+ {
1026
+ return nullptr;
1027
+ }
1028
+
948
1029
  auto object_type = py::get_object_type();
949
1030
  if (!object_type)
950
1031
  {
@@ -958,13 +1039,19 @@ PyMODINIT_FUNC PyInit__winrt_windows_media_faceanalysis(void) noexcept
958
1039
  return nullptr;
959
1040
  }
960
1041
 
961
- py::pytype_handle DetectedFace_type{py::register_python_type(module.get(), &type_spec_DetectedFace, object_bases.get(), nullptr)};
1042
+ py::pytype_handle DetectedFace_type{py::register_python_type(module.get(), &type_spec_DetectedFace, object_bases.get(), inspectable_meta_type)};
962
1043
  if (!DetectedFace_type)
963
1044
  {
964
1045
  return nullptr;
965
1046
  }
966
1047
 
967
- py::pyobj_handle type_FaceDetector_Static{PyType_FromSpec(&type_spec_FaceDetector_Static)};
1048
+ py::pyobj_handle FaceDetector_Static_bases{PyTuple_Pack(1, reinterpret_cast<PyObject*>(inspectable_meta_type))};
1049
+ if (!FaceDetector_Static_bases)
1050
+ {
1051
+ return nullptr;
1052
+ }
1053
+
1054
+ py::pyobj_handle type_FaceDetector_Static{PyType_FromSpecWithBases(&type_spec_FaceDetector_Static, FaceDetector_Static_bases.get())};
968
1055
  if (!type_FaceDetector_Static)
969
1056
  {
970
1057
  return nullptr;
@@ -976,7 +1063,13 @@ PyMODINIT_FUNC PyInit__winrt_windows_media_faceanalysis(void) noexcept
976
1063
  return nullptr;
977
1064
  }
978
1065
 
979
- py::pyobj_handle type_FaceTracker_Static{PyType_FromSpec(&type_spec_FaceTracker_Static)};
1066
+ py::pyobj_handle FaceTracker_Static_bases{PyTuple_Pack(1, reinterpret_cast<PyObject*>(inspectable_meta_type))};
1067
+ if (!FaceTracker_Static_bases)
1068
+ {
1069
+ return nullptr;
1070
+ }
1071
+
1072
+ py::pyobj_handle type_FaceTracker_Static{PyType_FromSpecWithBases(&type_spec_FaceTracker_Static, FaceTracker_Static_bases.get())};
980
1073
  if (!type_FaceTracker_Static)
981
1074
  {
982
1075
  return nullptr;
@@ -16,7 +16,7 @@ classifiers = [
16
16
  "Intended Audience :: Developers",
17
17
  ]
18
18
  dynamic = ["version", "dependencies", "optional-dependencies"]
19
- requires-python = ">=3.9,<3.14"
19
+ requires-python = ">=3.9"
20
20
 
21
21
  [project.urls]
22
22
  # Homepage = "https://github.com/pywinrt/pywinrt"
@@ -34,7 +34,7 @@ optional-dependencies.all = { file = "all-requirements.txt" }
34
34
 
35
35
  [tool.cibuildwheel]
36
36
  # use local winrt-sdk build dependency
37
- environment = { PYTHONPATH="../winrt-sdk/src" }
37
+ environment = { PYTHONPATH="../../winrt-sdk/src" }
38
38
  # don't install winrt-sdk from PyPI
39
39
  build-frontend = { name = "build[uv]", args = ["--skip-dependency-check", "--no-isolation"] }
40
40
  before-build = "uv pip install setuptools"
@@ -1,3 +1,3 @@
1
- # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.2.0
1
+ # WARNING: Please don't edit this file. It was generated by Python/WinRT v3.0.0
2
2
 
3
- winrt-runtime==2.2.0
3
+ winrt-runtime==3.0.0
@@ -19,7 +19,7 @@ class build_ext_ex(build_ext):
19
19
 
20
20
 
21
21
  setup(
22
- cmdclass = {'build_ext': build_ext_ex},
22
+ cmdclass={"build_ext": build_ext_ex},
23
23
  ext_modules=[
24
24
  Extension(
25
25
  "winrt._winrt_windows_media_faceanalysis",
@@ -0,0 +1,84 @@
1
+ # WARNING: Please don't edit this file. It was generated by Python/WinRT v3.0.0
2
+
3
+ import datetime
4
+ import sys
5
+ import types
6
+ import typing
7
+ import uuid as _uuid
8
+ from builtins import property as _property
9
+
10
+ import winrt._winrt
11
+ import winrt.system
12
+ import winrt.windows.foundation as windows_foundation
13
+ import winrt.windows.foundation.collections as windows_foundation_collections
14
+ import winrt.windows.graphics.imaging as windows_graphics_imaging
15
+ import winrt.windows.media as windows_media
16
+
17
+ Self = typing.TypeVar('Self')
18
+
19
+ @typing.final
20
+ class DetectedFace(winrt.system.Object):
21
+ # Windows.Graphics.Imaging.BitmapBounds Windows.Media.FaceAnalysis.DetectedFace::get_FaceBox()
22
+ @_property
23
+ def face_box(self) -> windows_graphics_imaging.BitmapBounds: ...
24
+
25
+ @typing.final
26
+ class FaceDetector_Static(winrt._winrt.IInspectable_Static):
27
+ # Windows.Foundation.IAsyncOperation`1<Windows.Media.FaceAnalysis.FaceDetector> Windows.Media.FaceAnalysis.FaceDetector::CreateAsync()
28
+ def create_async(cls) -> windows_foundation.IAsyncOperation[FaceDetector]: ...
29
+ # Windows.Foundation.Collections.IVectorView`1<Windows.Graphics.Imaging.BitmapPixelFormat> Windows.Media.FaceAnalysis.FaceDetector::GetSupportedBitmapPixelFormats()
30
+ def get_supported_bitmap_pixel_formats(cls) -> typing.Sequence[windows_graphics_imaging.BitmapPixelFormat]: ...
31
+ # System.Boolean Windows.Media.FaceAnalysis.FaceDetector::IsBitmapPixelFormatSupported(Windows.Graphics.Imaging.BitmapPixelFormat)
32
+ def is_bitmap_pixel_format_supported(cls, bitmap_pixel_format: windows_graphics_imaging.BitmapPixelFormat, /) -> bool: ...
33
+ # System.Boolean Windows.Media.FaceAnalysis.FaceDetector::get_IsSupported()
34
+ @_property
35
+ def is_supported(cls) -> bool: ...
36
+
37
+ @typing.final
38
+ class FaceDetector(winrt.system.Object, metaclass=FaceDetector_Static):
39
+ # Windows.Foundation.IAsyncOperation`1<Windows.Foundation.Collections.IVector`1<Windows.Media.FaceAnalysis.DetectedFace>> Windows.Media.FaceAnalysis.FaceDetector::DetectFacesAsync(Windows.Graphics.Imaging.SoftwareBitmap)
40
+ def detect_faces_async(self, image: windows_graphics_imaging.SoftwareBitmap, /) -> windows_foundation.IAsyncOperation[typing.MutableSequence[DetectedFace]]: ...
41
+ # Windows.Foundation.IAsyncOperation`1<Windows.Foundation.Collections.IVector`1<Windows.Media.FaceAnalysis.DetectedFace>> Windows.Media.FaceAnalysis.FaceDetector::DetectFacesAsync(Windows.Graphics.Imaging.SoftwareBitmap,Windows.Graphics.Imaging.BitmapBounds)
42
+ def detect_faces_with_search_area_async(self, image: windows_graphics_imaging.SoftwareBitmap, search_area: typing.Union[windows_graphics_imaging.BitmapBounds, typing.Tuple[winrt.system.UInt32, winrt.system.UInt32, winrt.system.UInt32, winrt.system.UInt32]], /) -> windows_foundation.IAsyncOperation[typing.MutableSequence[DetectedFace]]: ...
43
+ # Windows.Graphics.Imaging.BitmapSize Windows.Media.FaceAnalysis.FaceDetector::get_MinDetectableFaceSize()
44
+ @_property
45
+ def min_detectable_face_size(self) -> windows_graphics_imaging.BitmapSize: ...
46
+ # System.Void Windows.Media.FaceAnalysis.FaceDetector::put_MinDetectableFaceSize(Windows.Graphics.Imaging.BitmapSize)
47
+ @min_detectable_face_size.setter
48
+ def min_detectable_face_size(self, value: typing.Union[windows_graphics_imaging.BitmapSize, typing.Tuple[winrt.system.UInt32, winrt.system.UInt32]]) -> None: ...
49
+ # Windows.Graphics.Imaging.BitmapSize Windows.Media.FaceAnalysis.FaceDetector::get_MaxDetectableFaceSize()
50
+ @_property
51
+ def max_detectable_face_size(self) -> windows_graphics_imaging.BitmapSize: ...
52
+ # System.Void Windows.Media.FaceAnalysis.FaceDetector::put_MaxDetectableFaceSize(Windows.Graphics.Imaging.BitmapSize)
53
+ @max_detectable_face_size.setter
54
+ def max_detectable_face_size(self, value: typing.Union[windows_graphics_imaging.BitmapSize, typing.Tuple[winrt.system.UInt32, winrt.system.UInt32]]) -> None: ...
55
+
56
+ @typing.final
57
+ class FaceTracker_Static(winrt._winrt.IInspectable_Static):
58
+ # Windows.Foundation.IAsyncOperation`1<Windows.Media.FaceAnalysis.FaceTracker> Windows.Media.FaceAnalysis.FaceTracker::CreateAsync()
59
+ def create_async(cls) -> windows_foundation.IAsyncOperation[FaceTracker]: ...
60
+ # Windows.Foundation.Collections.IVectorView`1<Windows.Graphics.Imaging.BitmapPixelFormat> Windows.Media.FaceAnalysis.FaceTracker::GetSupportedBitmapPixelFormats()
61
+ def get_supported_bitmap_pixel_formats(cls) -> typing.Sequence[windows_graphics_imaging.BitmapPixelFormat]: ...
62
+ # System.Boolean Windows.Media.FaceAnalysis.FaceTracker::IsBitmapPixelFormatSupported(Windows.Graphics.Imaging.BitmapPixelFormat)
63
+ def is_bitmap_pixel_format_supported(cls, bitmap_pixel_format: windows_graphics_imaging.BitmapPixelFormat, /) -> bool: ...
64
+ # System.Boolean Windows.Media.FaceAnalysis.FaceTracker::get_IsSupported()
65
+ @_property
66
+ def is_supported(cls) -> bool: ...
67
+
68
+ @typing.final
69
+ class FaceTracker(winrt.system.Object, metaclass=FaceTracker_Static):
70
+ # Windows.Foundation.IAsyncOperation`1<Windows.Foundation.Collections.IVector`1<Windows.Media.FaceAnalysis.DetectedFace>> Windows.Media.FaceAnalysis.FaceTracker::ProcessNextFrameAsync(Windows.Media.VideoFrame)
71
+ def process_next_frame_async(self, video_frame: windows_media.VideoFrame, /) -> windows_foundation.IAsyncOperation[typing.MutableSequence[DetectedFace]]: ...
72
+ # Windows.Graphics.Imaging.BitmapSize Windows.Media.FaceAnalysis.FaceTracker::get_MinDetectableFaceSize()
73
+ @_property
74
+ def min_detectable_face_size(self) -> windows_graphics_imaging.BitmapSize: ...
75
+ # System.Void Windows.Media.FaceAnalysis.FaceTracker::put_MinDetectableFaceSize(Windows.Graphics.Imaging.BitmapSize)
76
+ @min_detectable_face_size.setter
77
+ def min_detectable_face_size(self, value: typing.Union[windows_graphics_imaging.BitmapSize, typing.Tuple[winrt.system.UInt32, winrt.system.UInt32]]) -> None: ...
78
+ # Windows.Graphics.Imaging.BitmapSize Windows.Media.FaceAnalysis.FaceTracker::get_MaxDetectableFaceSize()
79
+ @_property
80
+ def max_detectable_face_size(self) -> windows_graphics_imaging.BitmapSize: ...
81
+ # System.Void Windows.Media.FaceAnalysis.FaceTracker::put_MaxDetectableFaceSize(Windows.Graphics.Imaging.BitmapSize)
82
+ @max_detectable_face_size.setter
83
+ def max_detectable_face_size(self, value: typing.Union[windows_graphics_imaging.BitmapSize, typing.Tuple[winrt.system.UInt32, winrt.system.UInt32]]) -> None: ...
84
+
@@ -0,0 +1,15 @@
1
+ # WARNING: Please don't edit this file. It was generated by Python/WinRT v3.0.0
2
+
3
+ import winrt.system
4
+ from winrt._winrt_windows_media_faceanalysis import (
5
+ DetectedFace,
6
+ FaceDetector,
7
+ FaceTracker,
8
+ )
9
+
10
+ __all__ = [
11
+ "DetectedFace",
12
+ "FaceDetector",
13
+ "FaceTracker",
14
+ ]
15
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: winrt-Windows.Media.FaceAnalysis
3
- Version: 2.2.0
3
+ Version: 3.0.0
4
4
  Summary: Python projection of Windows Runtime (WinRT) APIs
5
5
  License: MIT
6
6
  Project-URL: Documentation, https://pywinrt.readthedocs.io
@@ -10,14 +10,14 @@ Classifier: Operating System :: Microsoft :: Windows
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: Implementation :: CPython
12
12
  Classifier: Intended Audience :: Developers
13
- Requires-Python: <3.14,>=3.9
13
+ Requires-Python: >=3.9
14
14
  Description-Content-Type: text/markdown
15
- Requires-Dist: winrt-runtime==2.2.0
15
+ Requires-Dist: winrt-runtime==3.0.0
16
16
  Provides-Extra: all
17
- Requires-Dist: winrt-Windows.Foundation[all]==2.2.0; extra == "all"
18
- Requires-Dist: winrt-Windows.Foundation.Collections[all]==2.2.0; extra == "all"
19
- Requires-Dist: winrt-Windows.Graphics.Imaging[all]==2.2.0; extra == "all"
20
- Requires-Dist: winrt-Windows.Media[all]==2.2.0; extra == "all"
17
+ Requires-Dist: winrt-Windows.Foundation[all]==3.0.0; extra == "all"
18
+ Requires-Dist: winrt-Windows.Foundation.Collections[all]==3.0.0; extra == "all"
19
+ Requires-Dist: winrt-Windows.Graphics.Imaging[all]==3.0.0; extra == "all"
20
+ Requires-Dist: winrt-Windows.Media[all]==3.0.0; extra == "all"
21
21
 
22
22
  <!-- warning: Please don't edit this file. It was automatically generated. -->
23
23
 
@@ -0,0 +1,7 @@
1
+ winrt-runtime==3.0.0
2
+
3
+ [all]
4
+ winrt-Windows.Foundation[all]==3.0.0
5
+ winrt-Windows.Foundation.Collections[all]==3.0.0
6
+ winrt-Windows.Graphics.Imaging[all]==3.0.0
7
+ winrt-Windows.Media[all]==3.0.0
@@ -1,6 +0,0 @@
1
- # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.2.0
2
-
3
- winrt-Windows.Foundation[all]==2.2.0
4
- winrt-Windows.Foundation.Collections[all]==2.2.0
5
- winrt-Windows.Graphics.Imaging[all]==2.2.0
6
- winrt-Windows.Media[all]==2.2.0
@@ -1,72 +0,0 @@
1
- # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.2.0
2
-
3
- import datetime
4
- import sys
5
- import types
6
- import typing
7
- import uuid as _uuid
8
- from builtins import property as _property
9
-
10
- import winrt._winrt
11
- import winrt.system
12
- import winrt.windows.foundation as windows_foundation
13
- import winrt.windows.foundation.collections as windows_foundation_collections
14
- import winrt.windows.graphics.imaging as windows_graphics_imaging
15
- import winrt.windows.media as windows_media
16
-
17
- Self = typing.TypeVar('Self')
18
-
19
- @typing.final
20
- class DetectedFace(winrt.system.Object):
21
- @staticmethod
22
- def _from(obj: winrt.system.Object, /) -> DetectedFace: ...
23
- @_property
24
- def face_box(self) -> windows_graphics_imaging.BitmapBounds: ...
25
-
26
- @typing.final
27
- class FaceDetector_Static(type):
28
- def create_async(cls) -> windows_foundation.IAsyncOperation[FaceDetector]: ...
29
- def get_supported_bitmap_pixel_formats(cls) -> typing.Optional[windows_foundation_collections.IVectorView[windows_graphics_imaging.BitmapPixelFormat]]: ...
30
- def is_bitmap_pixel_format_supported(cls, bitmap_pixel_format: windows_graphics_imaging.BitmapPixelFormat, /) -> bool: ...
31
- @_property
32
- def is_supported(cls) -> bool: ...
33
-
34
- @typing.final
35
- class FaceDetector(winrt.system.Object, metaclass=FaceDetector_Static):
36
- @staticmethod
37
- def _from(obj: winrt.system.Object, /) -> FaceDetector: ...
38
- @typing.overload
39
- def detect_faces_async(self, image: typing.Optional[windows_graphics_imaging.SoftwareBitmap], /) -> windows_foundation.IAsyncOperation[windows_foundation_collections.IVector[DetectedFace]]: ...
40
- @typing.overload
41
- def detect_faces_async(self, image: typing.Optional[windows_graphics_imaging.SoftwareBitmap], search_area: windows_graphics_imaging.BitmapBounds, /) -> windows_foundation.IAsyncOperation[windows_foundation_collections.IVector[DetectedFace]]: ...
42
- @_property
43
- def min_detectable_face_size(self) -> windows_graphics_imaging.BitmapSize: ...
44
- @min_detectable_face_size.setter
45
- def min_detectable_face_size(self, value: windows_graphics_imaging.BitmapSize) -> None: ...
46
- @_property
47
- def max_detectable_face_size(self) -> windows_graphics_imaging.BitmapSize: ...
48
- @max_detectable_face_size.setter
49
- def max_detectable_face_size(self, value: windows_graphics_imaging.BitmapSize) -> None: ...
50
-
51
- @typing.final
52
- class FaceTracker_Static(type):
53
- def create_async(cls) -> windows_foundation.IAsyncOperation[FaceTracker]: ...
54
- def get_supported_bitmap_pixel_formats(cls) -> typing.Optional[windows_foundation_collections.IVectorView[windows_graphics_imaging.BitmapPixelFormat]]: ...
55
- def is_bitmap_pixel_format_supported(cls, bitmap_pixel_format: windows_graphics_imaging.BitmapPixelFormat, /) -> bool: ...
56
- @_property
57
- def is_supported(cls) -> bool: ...
58
-
59
- @typing.final
60
- class FaceTracker(winrt.system.Object, metaclass=FaceTracker_Static):
61
- @staticmethod
62
- def _from(obj: winrt.system.Object, /) -> FaceTracker: ...
63
- def process_next_frame_async(self, video_frame: typing.Optional[windows_media.VideoFrame], /) -> windows_foundation.IAsyncOperation[windows_foundation_collections.IVector[DetectedFace]]: ...
64
- @_property
65
- def min_detectable_face_size(self) -> windows_graphics_imaging.BitmapSize: ...
66
- @min_detectable_face_size.setter
67
- def min_detectable_face_size(self, value: windows_graphics_imaging.BitmapSize) -> None: ...
68
- @_property
69
- def max_detectable_face_size(self) -> windows_graphics_imaging.BitmapSize: ...
70
- @max_detectable_face_size.setter
71
- def max_detectable_face_size(self, value: windows_graphics_imaging.BitmapSize) -> None: ...
72
-
@@ -1,14 +0,0 @@
1
- # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.2.0
2
-
3
- import winrt.system
4
- from winrt import _winrt_windows_media_faceanalysis
5
-
6
- __all__ = [
7
- "DetectedFace",
8
- "FaceDetector",
9
- "FaceTracker",
10
- ]
11
-
12
- DetectedFace = _winrt_windows_media_faceanalysis.DetectedFace
13
- FaceDetector = _winrt_windows_media_faceanalysis.FaceDetector
14
- FaceTracker = _winrt_windows_media_faceanalysis.FaceTracker
@@ -1,7 +0,0 @@
1
- winrt-runtime==2.2.0
2
-
3
- [all]
4
- winrt-Windows.Foundation[all]==2.2.0
5
- winrt-Windows.Foundation.Collections[all]==2.2.0
6
- winrt-Windows.Graphics.Imaging[all]==2.2.0
7
- winrt-Windows.Media[all]==2.2.0