winrt-Windows.Data.Text 2.1.0__tar.gz → 2.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 (20) hide show
  1. {winrt_windows_data_text-2.1.0 → winrt_windows_data_text-2.2.0}/PKG-INFO +6 -6
  2. winrt_windows_data_text-2.2.0/all-requirements.txt +5 -0
  3. {winrt_windows_data_text-2.1.0 → winrt_windows_data_text-2.2.0}/py.Windows.Data.Text.cpp +474 -73
  4. {winrt_windows_data_text-2.1.0 → winrt_windows_data_text-2.2.0}/pyproject.toml +3 -2
  5. winrt_windows_data_text-2.2.0/pywinrt-version.txt +1 -0
  6. {winrt_windows_data_text-2.1.0 → winrt_windows_data_text-2.2.0}/requirements.txt +2 -2
  7. {winrt_windows_data_text-2.1.0 → winrt_windows_data_text-2.2.0}/winrt/_winrt_windows_data_text.pyi +1 -3
  8. {winrt_windows_data_text-2.1.0 → winrt_windows_data_text-2.2.0}/winrt/windows/data/text/__init__.py +1 -1
  9. {winrt_windows_data_text-2.1.0 → winrt_windows_data_text-2.2.0}/winrt_Windows.Data.Text.egg-info/PKG-INFO +6 -6
  10. winrt_windows_data_text-2.2.0/winrt_Windows.Data.Text.egg-info/requires.txt +6 -0
  11. winrt_windows_data_text-2.1.0/all-requirements.txt +0 -5
  12. winrt_windows_data_text-2.1.0/pywinrt-version.txt +0 -1
  13. winrt_windows_data_text-2.1.0/winrt_Windows.Data.Text.egg-info/requires.txt +0 -6
  14. {winrt_windows_data_text-2.1.0 → winrt_windows_data_text-2.2.0}/README.md +0 -0
  15. {winrt_windows_data_text-2.1.0 → winrt_windows_data_text-2.2.0}/setup.cfg +0 -0
  16. {winrt_windows_data_text-2.1.0 → winrt_windows_data_text-2.2.0}/setup.py +0 -0
  17. {winrt_windows_data_text-2.1.0 → winrt_windows_data_text-2.2.0}/winrt/windows/data/text/py.typed +0 -0
  18. {winrt_windows_data_text-2.1.0 → winrt_windows_data_text-2.2.0}/winrt_Windows.Data.Text.egg-info/SOURCES.txt +0 -0
  19. {winrt_windows_data_text-2.1.0 → winrt_windows_data_text-2.2.0}/winrt_Windows.Data.Text.egg-info/dependency_links.txt +0 -0
  20. {winrt_windows_data_text-2.1.0 → winrt_windows_data_text-2.2.0}/winrt_Windows.Data.Text.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: winrt-Windows.Data.Text
3
- Version: 2.1.0
3
+ Version: 2.2.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,13 +10,13 @@ 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.13,>=3.9
13
+ Requires-Python: <3.14,>=3.9
14
14
  Description-Content-Type: text/markdown
15
- Requires-Dist: winrt-runtime==2.1.0
15
+ Requires-Dist: winrt-runtime==2.2.0
16
16
  Provides-Extra: all
17
- Requires-Dist: winrt-Windows.Foundation[all]==2.1.0; extra == "all"
18
- Requires-Dist: winrt-Windows.Foundation.Collections[all]==2.1.0; extra == "all"
19
- Requires-Dist: winrt-Windows.UI.Text.Core[all]==2.1.0; 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.UI.Text.Core[all]==2.2.0; extra == "all"
20
20
 
21
21
  <!-- warning: Please don't edit this file. It was automatically generated. -->
22
22
 
@@ -0,0 +1,5 @@
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.UI.Text.Core[all]==2.2.0
@@ -1,4 +1,4 @@
1
- // WARNING: Please don't edit this file. It was generated by Python/WinRT v2.1.0
1
+ // WARNING: Please don't edit this file. It was generated by Python/WinRT v2.2.0
2
2
 
3
3
  #include "py.Windows.Data.Text.h"
4
4
 
@@ -25,7 +25,14 @@ namespace py::cpp::Windows::Data::Text
25
25
  {
26
26
  try
27
27
  {
28
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.AlternateWordForm", L"AlternateText"))
28
+ static std::optional<bool> is_property_present{};
29
+
30
+ if (!is_property_present.has_value())
31
+ {
32
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.AlternateWordForm", L"AlternateText");
33
+ }
34
+
35
+ if (!is_property_present.value())
29
36
  {
30
37
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
31
38
  return nullptr;
@@ -44,7 +51,14 @@ namespace py::cpp::Windows::Data::Text
44
51
  {
45
52
  try
46
53
  {
47
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.AlternateWordForm", L"NormalizationFormat"))
54
+ static std::optional<bool> is_property_present{};
55
+
56
+ if (!is_property_present.has_value())
57
+ {
58
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.AlternateWordForm", L"NormalizationFormat");
59
+ }
60
+
61
+ if (!is_property_present.value())
48
62
  {
49
63
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
50
64
  return nullptr;
@@ -63,7 +77,14 @@ namespace py::cpp::Windows::Data::Text
63
77
  {
64
78
  try
65
79
  {
66
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.AlternateWordForm", L"SourceTextSegment"))
80
+ static std::optional<bool> is_property_present{};
81
+
82
+ if (!is_property_present.has_value())
83
+ {
84
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.AlternateWordForm", L"SourceTextSegment");
85
+ }
86
+
87
+ if (!is_property_present.value())
67
88
  {
68
89
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
69
90
  return nullptr;
@@ -151,7 +172,14 @@ namespace py::cpp::Windows::Data::Text
151
172
  {
152
173
  try
153
174
  {
154
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.SelectableWordSegment", L"SourceTextSegment"))
175
+ static std::optional<bool> is_property_present{};
176
+
177
+ if (!is_property_present.has_value())
178
+ {
179
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.SelectableWordSegment", L"SourceTextSegment");
180
+ }
181
+
182
+ if (!is_property_present.value())
155
183
  {
156
184
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
157
185
  return nullptr;
@@ -170,7 +198,14 @@ namespace py::cpp::Windows::Data::Text
170
198
  {
171
199
  try
172
200
  {
173
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.SelectableWordSegment", L"Text"))
201
+ static std::optional<bool> is_property_present{};
202
+
203
+ if (!is_property_present.has_value())
204
+ {
205
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.SelectableWordSegment", L"Text");
206
+ }
207
+
208
+ if (!is_property_present.value())
174
209
  {
175
210
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
176
211
  return nullptr;
@@ -253,7 +288,7 @@ namespace py::cpp::Windows::Data::Text
253
288
  {
254
289
  auto param0 = py::convert_to<winrt::hstring>(args, 0);
255
290
 
256
- winrt::Windows::Data::Text::SelectableWordsSegmenter instance{ param0 };
291
+ winrt::Windows::Data::Text::SelectableWordsSegmenter instance{param0};
257
292
  return py::wrap(instance, type);
258
293
  }
259
294
  catch (...)
@@ -285,7 +320,14 @@ namespace py::cpp::Windows::Data::Text
285
320
  {
286
321
  try
287
322
  {
288
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.SelectableWordsSegmenter", L"GetTokenAt", 2))
323
+ static std::optional<bool> is_overload_present{};
324
+
325
+ if (!is_overload_present.has_value())
326
+ {
327
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.SelectableWordsSegmenter", L"GetTokenAt", 2);
328
+ }
329
+
330
+ if (!is_overload_present.value())
289
331
  {
290
332
  py::set_arg_count_version_error(2);
291
333
  return nullptr;
@@ -317,7 +359,14 @@ namespace py::cpp::Windows::Data::Text
317
359
  {
318
360
  try
319
361
  {
320
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.SelectableWordsSegmenter", L"GetTokens", 1))
362
+ static std::optional<bool> is_overload_present{};
363
+
364
+ if (!is_overload_present.has_value())
365
+ {
366
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.SelectableWordsSegmenter", L"GetTokens", 1);
367
+ }
368
+
369
+ if (!is_overload_present.value())
321
370
  {
322
371
  py::set_arg_count_version_error(1);
323
372
  return nullptr;
@@ -348,7 +397,14 @@ namespace py::cpp::Windows::Data::Text
348
397
  {
349
398
  try
350
399
  {
351
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.SelectableWordsSegmenter", L"Tokenize", 3))
400
+ static std::optional<bool> is_overload_present{};
401
+
402
+ if (!is_overload_present.has_value())
403
+ {
404
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.SelectableWordsSegmenter", L"Tokenize", 3);
405
+ }
406
+
407
+ if (!is_overload_present.value())
352
408
  {
353
409
  py::set_arg_count_version_error(3);
354
410
  return nullptr;
@@ -378,7 +434,14 @@ namespace py::cpp::Windows::Data::Text
378
434
  {
379
435
  try
380
436
  {
381
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.SelectableWordsSegmenter", L"ResolvedLanguage"))
437
+ static std::optional<bool> is_property_present{};
438
+
439
+ if (!is_property_present.has_value())
440
+ {
441
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.SelectableWordsSegmenter", L"ResolvedLanguage");
442
+ }
443
+
444
+ if (!is_property_present.value())
382
445
  {
383
446
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
384
447
  return nullptr;
@@ -463,7 +526,7 @@ namespace py::cpp::Windows::Data::Text
463
526
  {
464
527
  auto param0 = py::convert_to<winrt::hstring>(args, 0);
465
528
 
466
- winrt::Windows::Data::Text::SemanticTextQuery instance{ param0 };
529
+ winrt::Windows::Data::Text::SemanticTextQuery instance{param0};
467
530
  return py::wrap(instance, type);
468
531
  }
469
532
  catch (...)
@@ -479,7 +542,7 @@ namespace py::cpp::Windows::Data::Text
479
542
  auto param0 = py::convert_to<winrt::hstring>(args, 0);
480
543
  auto param1 = py::convert_to<winrt::hstring>(args, 1);
481
544
 
482
- winrt::Windows::Data::Text::SemanticTextQuery instance{ param0, param1 };
545
+ winrt::Windows::Data::Text::SemanticTextQuery instance{param0, param1};
483
546
  return py::wrap(instance, type);
484
547
  }
485
548
  catch (...)
@@ -511,7 +574,14 @@ namespace py::cpp::Windows::Data::Text
511
574
  {
512
575
  try
513
576
  {
514
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.SemanticTextQuery", L"Find", 1))
577
+ static std::optional<bool> is_overload_present{};
578
+
579
+ if (!is_overload_present.has_value())
580
+ {
581
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.SemanticTextQuery", L"Find", 1);
582
+ }
583
+
584
+ if (!is_overload_present.value())
515
585
  {
516
586
  py::set_arg_count_version_error(1);
517
587
  return nullptr;
@@ -542,7 +612,14 @@ namespace py::cpp::Windows::Data::Text
542
612
  {
543
613
  try
544
614
  {
545
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.SemanticTextQuery", L"FindInProperty", 2))
615
+ static std::optional<bool> is_overload_present{};
616
+
617
+ if (!is_overload_present.has_value())
618
+ {
619
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.SemanticTextQuery", L"FindInProperty", 2);
620
+ }
621
+
622
+ if (!is_overload_present.value())
546
623
  {
547
624
  py::set_arg_count_version_error(2);
548
625
  return nullptr;
@@ -634,7 +711,7 @@ namespace py::cpp::Windows::Data::Text
634
711
  {
635
712
  auto param0 = py::convert_to<winrt::hstring>(args, 0);
636
713
 
637
- winrt::Windows::Data::Text::TextConversionGenerator instance{ param0 };
714
+ winrt::Windows::Data::Text::TextConversionGenerator instance{param0};
638
715
  return py::wrap(instance, type);
639
716
  }
640
717
  catch (...)
@@ -666,7 +743,14 @@ namespace py::cpp::Windows::Data::Text
666
743
  {
667
744
  try
668
745
  {
669
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextConversionGenerator", L"GetCandidatesAsync", 1))
746
+ static std::optional<bool> is_overload_present{};
747
+
748
+ if (!is_overload_present.has_value())
749
+ {
750
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextConversionGenerator", L"GetCandidatesAsync", 1);
751
+ }
752
+
753
+ if (!is_overload_present.value())
670
754
  {
671
755
  py::set_arg_count_version_error(1);
672
756
  return nullptr;
@@ -686,7 +770,14 @@ namespace py::cpp::Windows::Data::Text
686
770
  {
687
771
  try
688
772
  {
689
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextConversionGenerator", L"GetCandidatesAsync", 2))
773
+ static std::optional<bool> is_overload_present{};
774
+
775
+ if (!is_overload_present.has_value())
776
+ {
777
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextConversionGenerator", L"GetCandidatesAsync", 2);
778
+ }
779
+
780
+ if (!is_overload_present.value())
690
781
  {
691
782
  py::set_arg_count_version_error(2);
692
783
  return nullptr;
@@ -714,7 +805,14 @@ namespace py::cpp::Windows::Data::Text
714
805
  {
715
806
  try
716
807
  {
717
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextConversionGenerator", L"LanguageAvailableButNotInstalled"))
808
+ static std::optional<bool> is_property_present{};
809
+
810
+ if (!is_property_present.has_value())
811
+ {
812
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextConversionGenerator", L"LanguageAvailableButNotInstalled");
813
+ }
814
+
815
+ if (!is_property_present.value())
718
816
  {
719
817
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
720
818
  return nullptr;
@@ -733,7 +831,14 @@ namespace py::cpp::Windows::Data::Text
733
831
  {
734
832
  try
735
833
  {
736
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextConversionGenerator", L"ResolvedLanguage"))
834
+ static std::optional<bool> is_property_present{};
835
+
836
+ if (!is_property_present.has_value())
837
+ {
838
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextConversionGenerator", L"ResolvedLanguage");
839
+ }
840
+
841
+ if (!is_property_present.value())
737
842
  {
738
843
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
739
844
  return nullptr;
@@ -821,7 +926,14 @@ namespace py::cpp::Windows::Data::Text
821
926
  {
822
927
  try
823
928
  {
824
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextPhoneme", L"DisplayText"))
929
+ static std::optional<bool> is_property_present{};
930
+
931
+ if (!is_property_present.has_value())
932
+ {
933
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextPhoneme", L"DisplayText");
934
+ }
935
+
936
+ if (!is_property_present.value())
825
937
  {
826
938
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
827
939
  return nullptr;
@@ -840,7 +952,14 @@ namespace py::cpp::Windows::Data::Text
840
952
  {
841
953
  try
842
954
  {
843
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextPhoneme", L"ReadingText"))
955
+ static std::optional<bool> is_property_present{};
956
+
957
+ if (!is_property_present.has_value())
958
+ {
959
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextPhoneme", L"ReadingText");
960
+ }
961
+
962
+ if (!is_property_present.value())
844
963
  {
845
964
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
846
965
  return nullptr;
@@ -923,7 +1042,7 @@ namespace py::cpp::Windows::Data::Text
923
1042
  {
924
1043
  auto param0 = py::convert_to<winrt::hstring>(args, 0);
925
1044
 
926
- winrt::Windows::Data::Text::TextPredictionGenerator instance{ param0 };
1045
+ winrt::Windows::Data::Text::TextPredictionGenerator instance{param0};
927
1046
  return py::wrap(instance, type);
928
1047
  }
929
1048
  catch (...)
@@ -955,7 +1074,14 @@ namespace py::cpp::Windows::Data::Text
955
1074
  {
956
1075
  try
957
1076
  {
958
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextPredictionGenerator", L"GetCandidatesAsync", 1))
1077
+ static std::optional<bool> is_overload_present{};
1078
+
1079
+ if (!is_overload_present.has_value())
1080
+ {
1081
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextPredictionGenerator", L"GetCandidatesAsync", 1);
1082
+ }
1083
+
1084
+ if (!is_overload_present.value())
959
1085
  {
960
1086
  py::set_arg_count_version_error(1);
961
1087
  return nullptr;
@@ -975,7 +1101,14 @@ namespace py::cpp::Windows::Data::Text
975
1101
  {
976
1102
  try
977
1103
  {
978
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextPredictionGenerator", L"GetCandidatesAsync", 2))
1104
+ static std::optional<bool> is_overload_present{};
1105
+
1106
+ if (!is_overload_present.has_value())
1107
+ {
1108
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextPredictionGenerator", L"GetCandidatesAsync", 2);
1109
+ }
1110
+
1111
+ if (!is_overload_present.value())
979
1112
  {
980
1113
  py::set_arg_count_version_error(2);
981
1114
  return nullptr;
@@ -996,7 +1129,14 @@ namespace py::cpp::Windows::Data::Text
996
1129
  {
997
1130
  try
998
1131
  {
999
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextPredictionGenerator", L"GetCandidatesAsync", 4))
1132
+ static std::optional<bool> is_overload_present{};
1133
+
1134
+ if (!is_overload_present.has_value())
1135
+ {
1136
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextPredictionGenerator", L"GetCandidatesAsync", 4);
1137
+ }
1138
+
1139
+ if (!is_overload_present.value())
1000
1140
  {
1001
1141
  py::set_arg_count_version_error(4);
1002
1142
  return nullptr;
@@ -1030,7 +1170,14 @@ namespace py::cpp::Windows::Data::Text
1030
1170
  {
1031
1171
  try
1032
1172
  {
1033
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextPredictionGenerator", L"GetNextWordCandidatesAsync", 2))
1173
+ static std::optional<bool> is_overload_present{};
1174
+
1175
+ if (!is_overload_present.has_value())
1176
+ {
1177
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextPredictionGenerator", L"GetNextWordCandidatesAsync", 2);
1178
+ }
1179
+
1180
+ if (!is_overload_present.value())
1034
1181
  {
1035
1182
  py::set_arg_count_version_error(2);
1036
1183
  return nullptr;
@@ -1058,7 +1205,14 @@ namespace py::cpp::Windows::Data::Text
1058
1205
  {
1059
1206
  try
1060
1207
  {
1061
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextPredictionGenerator", L"LanguageAvailableButNotInstalled"))
1208
+ static std::optional<bool> is_property_present{};
1209
+
1210
+ if (!is_property_present.has_value())
1211
+ {
1212
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextPredictionGenerator", L"LanguageAvailableButNotInstalled");
1213
+ }
1214
+
1215
+ if (!is_property_present.value())
1062
1216
  {
1063
1217
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1064
1218
  return nullptr;
@@ -1077,7 +1231,14 @@ namespace py::cpp::Windows::Data::Text
1077
1231
  {
1078
1232
  try
1079
1233
  {
1080
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextPredictionGenerator", L"ResolvedLanguage"))
1234
+ static std::optional<bool> is_property_present{};
1235
+
1236
+ if (!is_property_present.has_value())
1237
+ {
1238
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextPredictionGenerator", L"ResolvedLanguage");
1239
+ }
1240
+
1241
+ if (!is_property_present.value())
1081
1242
  {
1082
1243
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1083
1244
  return nullptr;
@@ -1096,7 +1257,14 @@ namespace py::cpp::Windows::Data::Text
1096
1257
  {
1097
1258
  try
1098
1259
  {
1099
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextPredictionGenerator", L"InputScope"))
1260
+ static std::optional<bool> is_property_present{};
1261
+
1262
+ if (!is_property_present.has_value())
1263
+ {
1264
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextPredictionGenerator", L"InputScope");
1265
+ }
1266
+
1267
+ if (!is_property_present.value())
1100
1268
  {
1101
1269
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1102
1270
  return nullptr;
@@ -1121,7 +1289,14 @@ namespace py::cpp::Windows::Data::Text
1121
1289
 
1122
1290
  try
1123
1291
  {
1124
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextPredictionGenerator", L"InputScope"))
1292
+ static std::optional<bool> is_property_present{};
1293
+
1294
+ if (!is_property_present.has_value())
1295
+ {
1296
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextPredictionGenerator", L"InputScope");
1297
+ }
1298
+
1299
+ if (!is_property_present.value())
1125
1300
  {
1126
1301
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1127
1302
  return -1;
@@ -1210,7 +1385,7 @@ namespace py::cpp::Windows::Data::Text
1210
1385
  {
1211
1386
  auto param0 = py::convert_to<winrt::hstring>(args, 0);
1212
1387
 
1213
- winrt::Windows::Data::Text::TextReverseConversionGenerator instance{ param0 };
1388
+ winrt::Windows::Data::Text::TextReverseConversionGenerator instance{param0};
1214
1389
  return py::wrap(instance, type);
1215
1390
  }
1216
1391
  catch (...)
@@ -1242,7 +1417,14 @@ namespace py::cpp::Windows::Data::Text
1242
1417
  {
1243
1418
  try
1244
1419
  {
1245
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextReverseConversionGenerator", L"ConvertBackAsync", 1))
1420
+ static std::optional<bool> is_overload_present{};
1421
+
1422
+ if (!is_overload_present.has_value())
1423
+ {
1424
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextReverseConversionGenerator", L"ConvertBackAsync", 1);
1425
+ }
1426
+
1427
+ if (!is_overload_present.value())
1246
1428
  {
1247
1429
  py::set_arg_count_version_error(1);
1248
1430
  return nullptr;
@@ -1273,7 +1455,14 @@ namespace py::cpp::Windows::Data::Text
1273
1455
  {
1274
1456
  try
1275
1457
  {
1276
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextReverseConversionGenerator", L"GetPhonemesAsync", 1))
1458
+ static std::optional<bool> is_overload_present{};
1459
+
1460
+ if (!is_overload_present.has_value())
1461
+ {
1462
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.TextReverseConversionGenerator", L"GetPhonemesAsync", 1);
1463
+ }
1464
+
1465
+ if (!is_overload_present.value())
1277
1466
  {
1278
1467
  py::set_arg_count_version_error(1);
1279
1468
  return nullptr;
@@ -1300,7 +1489,14 @@ namespace py::cpp::Windows::Data::Text
1300
1489
  {
1301
1490
  try
1302
1491
  {
1303
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextReverseConversionGenerator", L"LanguageAvailableButNotInstalled"))
1492
+ static std::optional<bool> is_property_present{};
1493
+
1494
+ if (!is_property_present.has_value())
1495
+ {
1496
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextReverseConversionGenerator", L"LanguageAvailableButNotInstalled");
1497
+ }
1498
+
1499
+ if (!is_property_present.value())
1304
1500
  {
1305
1501
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1306
1502
  return nullptr;
@@ -1319,7 +1515,14 @@ namespace py::cpp::Windows::Data::Text
1319
1515
  {
1320
1516
  try
1321
1517
  {
1322
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextReverseConversionGenerator", L"ResolvedLanguage"))
1518
+ static std::optional<bool> is_property_present{};
1519
+
1520
+ if (!is_property_present.has_value())
1521
+ {
1522
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.TextReverseConversionGenerator", L"ResolvedLanguage");
1523
+ }
1524
+
1525
+ if (!is_property_present.value())
1323
1526
  {
1324
1527
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
1325
1528
  return nullptr;
@@ -1404,7 +1607,14 @@ namespace py::cpp::Windows::Data::Text
1404
1607
  {
1405
1608
  try
1406
1609
  {
1407
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"GetCodepointFromSurrogatePair", 2))
1610
+ static std::optional<bool> is_overload_present{};
1611
+
1612
+ if (!is_overload_present.has_value())
1613
+ {
1614
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"GetCodepointFromSurrogatePair", 2);
1615
+ }
1616
+
1617
+ if (!is_overload_present.value())
1408
1618
  {
1409
1619
  py::set_arg_count_version_error(2);
1410
1620
  return nullptr;
@@ -1436,7 +1646,14 @@ namespace py::cpp::Windows::Data::Text
1436
1646
  {
1437
1647
  try
1438
1648
  {
1439
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"GetGeneralCategory", 1))
1649
+ static std::optional<bool> is_overload_present{};
1650
+
1651
+ if (!is_overload_present.has_value())
1652
+ {
1653
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"GetGeneralCategory", 1);
1654
+ }
1655
+
1656
+ if (!is_overload_present.value())
1440
1657
  {
1441
1658
  py::set_arg_count_version_error(1);
1442
1659
  return nullptr;
@@ -1467,7 +1684,14 @@ namespace py::cpp::Windows::Data::Text
1467
1684
  {
1468
1685
  try
1469
1686
  {
1470
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"GetNumericType", 1))
1687
+ static std::optional<bool> is_overload_present{};
1688
+
1689
+ if (!is_overload_present.has_value())
1690
+ {
1691
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"GetNumericType", 1);
1692
+ }
1693
+
1694
+ if (!is_overload_present.value())
1471
1695
  {
1472
1696
  py::set_arg_count_version_error(1);
1473
1697
  return nullptr;
@@ -1498,7 +1722,14 @@ namespace py::cpp::Windows::Data::Text
1498
1722
  {
1499
1723
  try
1500
1724
  {
1501
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"GetSurrogatePairFromCodepoint", 1))
1725
+ static std::optional<bool> is_overload_present{};
1726
+
1727
+ if (!is_overload_present.has_value())
1728
+ {
1729
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"GetSurrogatePairFromCodepoint", 1);
1730
+ }
1731
+
1732
+ if (!is_overload_present.value())
1502
1733
  {
1503
1734
  py::set_arg_count_version_error(1);
1504
1735
  return nullptr;
@@ -1543,7 +1774,14 @@ namespace py::cpp::Windows::Data::Text
1543
1774
  {
1544
1775
  try
1545
1776
  {
1546
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsAlphabetic", 1))
1777
+ static std::optional<bool> is_overload_present{};
1778
+
1779
+ if (!is_overload_present.has_value())
1780
+ {
1781
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsAlphabetic", 1);
1782
+ }
1783
+
1784
+ if (!is_overload_present.value())
1547
1785
  {
1548
1786
  py::set_arg_count_version_error(1);
1549
1787
  return nullptr;
@@ -1574,7 +1812,14 @@ namespace py::cpp::Windows::Data::Text
1574
1812
  {
1575
1813
  try
1576
1814
  {
1577
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsCased", 1))
1815
+ static std::optional<bool> is_overload_present{};
1816
+
1817
+ if (!is_overload_present.has_value())
1818
+ {
1819
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsCased", 1);
1820
+ }
1821
+
1822
+ if (!is_overload_present.value())
1578
1823
  {
1579
1824
  py::set_arg_count_version_error(1);
1580
1825
  return nullptr;
@@ -1605,7 +1850,14 @@ namespace py::cpp::Windows::Data::Text
1605
1850
  {
1606
1851
  try
1607
1852
  {
1608
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsGraphemeBase", 1))
1853
+ static std::optional<bool> is_overload_present{};
1854
+
1855
+ if (!is_overload_present.has_value())
1856
+ {
1857
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsGraphemeBase", 1);
1858
+ }
1859
+
1860
+ if (!is_overload_present.value())
1609
1861
  {
1610
1862
  py::set_arg_count_version_error(1);
1611
1863
  return nullptr;
@@ -1636,7 +1888,14 @@ namespace py::cpp::Windows::Data::Text
1636
1888
  {
1637
1889
  try
1638
1890
  {
1639
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsGraphemeExtend", 1))
1891
+ static std::optional<bool> is_overload_present{};
1892
+
1893
+ if (!is_overload_present.has_value())
1894
+ {
1895
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsGraphemeExtend", 1);
1896
+ }
1897
+
1898
+ if (!is_overload_present.value())
1640
1899
  {
1641
1900
  py::set_arg_count_version_error(1);
1642
1901
  return nullptr;
@@ -1667,7 +1926,14 @@ namespace py::cpp::Windows::Data::Text
1667
1926
  {
1668
1927
  try
1669
1928
  {
1670
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsHighSurrogate", 1))
1929
+ static std::optional<bool> is_overload_present{};
1930
+
1931
+ if (!is_overload_present.has_value())
1932
+ {
1933
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsHighSurrogate", 1);
1934
+ }
1935
+
1936
+ if (!is_overload_present.value())
1671
1937
  {
1672
1938
  py::set_arg_count_version_error(1);
1673
1939
  return nullptr;
@@ -1698,7 +1964,14 @@ namespace py::cpp::Windows::Data::Text
1698
1964
  {
1699
1965
  try
1700
1966
  {
1701
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsIdContinue", 1))
1967
+ static std::optional<bool> is_overload_present{};
1968
+
1969
+ if (!is_overload_present.has_value())
1970
+ {
1971
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsIdContinue", 1);
1972
+ }
1973
+
1974
+ if (!is_overload_present.value())
1702
1975
  {
1703
1976
  py::set_arg_count_version_error(1);
1704
1977
  return nullptr;
@@ -1729,7 +2002,14 @@ namespace py::cpp::Windows::Data::Text
1729
2002
  {
1730
2003
  try
1731
2004
  {
1732
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsIdStart", 1))
2005
+ static std::optional<bool> is_overload_present{};
2006
+
2007
+ if (!is_overload_present.has_value())
2008
+ {
2009
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsIdStart", 1);
2010
+ }
2011
+
2012
+ if (!is_overload_present.value())
1733
2013
  {
1734
2014
  py::set_arg_count_version_error(1);
1735
2015
  return nullptr;
@@ -1760,7 +2040,14 @@ namespace py::cpp::Windows::Data::Text
1760
2040
  {
1761
2041
  try
1762
2042
  {
1763
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsLowSurrogate", 1))
2043
+ static std::optional<bool> is_overload_present{};
2044
+
2045
+ if (!is_overload_present.has_value())
2046
+ {
2047
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsLowSurrogate", 1);
2048
+ }
2049
+
2050
+ if (!is_overload_present.value())
1764
2051
  {
1765
2052
  py::set_arg_count_version_error(1);
1766
2053
  return nullptr;
@@ -1791,7 +2078,14 @@ namespace py::cpp::Windows::Data::Text
1791
2078
  {
1792
2079
  try
1793
2080
  {
1794
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsLowercase", 1))
2081
+ static std::optional<bool> is_overload_present{};
2082
+
2083
+ if (!is_overload_present.has_value())
2084
+ {
2085
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsLowercase", 1);
2086
+ }
2087
+
2088
+ if (!is_overload_present.value())
1795
2089
  {
1796
2090
  py::set_arg_count_version_error(1);
1797
2091
  return nullptr;
@@ -1822,7 +2116,14 @@ namespace py::cpp::Windows::Data::Text
1822
2116
  {
1823
2117
  try
1824
2118
  {
1825
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsNoncharacter", 1))
2119
+ static std::optional<bool> is_overload_present{};
2120
+
2121
+ if (!is_overload_present.has_value())
2122
+ {
2123
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsNoncharacter", 1);
2124
+ }
2125
+
2126
+ if (!is_overload_present.value())
1826
2127
  {
1827
2128
  py::set_arg_count_version_error(1);
1828
2129
  return nullptr;
@@ -1853,7 +2154,14 @@ namespace py::cpp::Windows::Data::Text
1853
2154
  {
1854
2155
  try
1855
2156
  {
1856
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsSupplementary", 1))
2157
+ static std::optional<bool> is_overload_present{};
2158
+
2159
+ if (!is_overload_present.has_value())
2160
+ {
2161
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsSupplementary", 1);
2162
+ }
2163
+
2164
+ if (!is_overload_present.value())
1857
2165
  {
1858
2166
  py::set_arg_count_version_error(1);
1859
2167
  return nullptr;
@@ -1884,7 +2192,14 @@ namespace py::cpp::Windows::Data::Text
1884
2192
  {
1885
2193
  try
1886
2194
  {
1887
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsUppercase", 1))
2195
+ static std::optional<bool> is_overload_present{};
2196
+
2197
+ if (!is_overload_present.has_value())
2198
+ {
2199
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsUppercase", 1);
2200
+ }
2201
+
2202
+ if (!is_overload_present.value())
1888
2203
  {
1889
2204
  py::set_arg_count_version_error(1);
1890
2205
  return nullptr;
@@ -1915,7 +2230,14 @@ namespace py::cpp::Windows::Data::Text
1915
2230
  {
1916
2231
  try
1917
2232
  {
1918
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsWhitespace", 1))
2233
+ static std::optional<bool> is_overload_present{};
2234
+
2235
+ if (!is_overload_present.has_value())
2236
+ {
2237
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.UnicodeCharacters", L"IsWhitespace", 1);
2238
+ }
2239
+
2240
+ if (!is_overload_present.value())
1919
2241
  {
1920
2242
  py::set_arg_count_version_error(1);
1921
2243
  return nullptr;
@@ -2023,7 +2345,14 @@ namespace py::cpp::Windows::Data::Text
2023
2345
  {
2024
2346
  try
2025
2347
  {
2026
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.WordSegment", L"AlternateForms"))
2348
+ static std::optional<bool> is_property_present{};
2349
+
2350
+ if (!is_property_present.has_value())
2351
+ {
2352
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.WordSegment", L"AlternateForms");
2353
+ }
2354
+
2355
+ if (!is_property_present.value())
2027
2356
  {
2028
2357
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
2029
2358
  return nullptr;
@@ -2042,7 +2371,14 @@ namespace py::cpp::Windows::Data::Text
2042
2371
  {
2043
2372
  try
2044
2373
  {
2045
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.WordSegment", L"SourceTextSegment"))
2374
+ static std::optional<bool> is_property_present{};
2375
+
2376
+ if (!is_property_present.has_value())
2377
+ {
2378
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.WordSegment", L"SourceTextSegment");
2379
+ }
2380
+
2381
+ if (!is_property_present.value())
2046
2382
  {
2047
2383
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
2048
2384
  return nullptr;
@@ -2061,7 +2397,14 @@ namespace py::cpp::Windows::Data::Text
2061
2397
  {
2062
2398
  try
2063
2399
  {
2064
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.WordSegment", L"Text"))
2400
+ static std::optional<bool> is_property_present{};
2401
+
2402
+ if (!is_property_present.has_value())
2403
+ {
2404
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.WordSegment", L"Text");
2405
+ }
2406
+
2407
+ if (!is_property_present.value())
2065
2408
  {
2066
2409
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
2067
2410
  return nullptr;
@@ -2145,7 +2488,7 @@ namespace py::cpp::Windows::Data::Text
2145
2488
  {
2146
2489
  auto param0 = py::convert_to<winrt::hstring>(args, 0);
2147
2490
 
2148
- winrt::Windows::Data::Text::WordsSegmenter instance{ param0 };
2491
+ winrt::Windows::Data::Text::WordsSegmenter instance{param0};
2149
2492
  return py::wrap(instance, type);
2150
2493
  }
2151
2494
  catch (...)
@@ -2177,7 +2520,14 @@ namespace py::cpp::Windows::Data::Text
2177
2520
  {
2178
2521
  try
2179
2522
  {
2180
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.WordsSegmenter", L"GetTokenAt", 2))
2523
+ static std::optional<bool> is_overload_present{};
2524
+
2525
+ if (!is_overload_present.has_value())
2526
+ {
2527
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.WordsSegmenter", L"GetTokenAt", 2);
2528
+ }
2529
+
2530
+ if (!is_overload_present.value())
2181
2531
  {
2182
2532
  py::set_arg_count_version_error(2);
2183
2533
  return nullptr;
@@ -2209,7 +2559,14 @@ namespace py::cpp::Windows::Data::Text
2209
2559
  {
2210
2560
  try
2211
2561
  {
2212
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.WordsSegmenter", L"GetTokens", 1))
2562
+ static std::optional<bool> is_overload_present{};
2563
+
2564
+ if (!is_overload_present.has_value())
2565
+ {
2566
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.WordsSegmenter", L"GetTokens", 1);
2567
+ }
2568
+
2569
+ if (!is_overload_present.value())
2213
2570
  {
2214
2571
  py::set_arg_count_version_error(1);
2215
2572
  return nullptr;
@@ -2240,7 +2597,14 @@ namespace py::cpp::Windows::Data::Text
2240
2597
  {
2241
2598
  try
2242
2599
  {
2243
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.WordsSegmenter", L"Tokenize", 3))
2600
+ static std::optional<bool> is_overload_present{};
2601
+
2602
+ if (!is_overload_present.has_value())
2603
+ {
2604
+ is_overload_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.Data.Text.WordsSegmenter", L"Tokenize", 3);
2605
+ }
2606
+
2607
+ if (!is_overload_present.value())
2244
2608
  {
2245
2609
  py::set_arg_count_version_error(3);
2246
2610
  return nullptr;
@@ -2270,7 +2634,14 @@ namespace py::cpp::Windows::Data::Text
2270
2634
  {
2271
2635
  try
2272
2636
  {
2273
- if (!winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.WordsSegmenter", L"ResolvedLanguage"))
2637
+ static std::optional<bool> is_property_present{};
2638
+
2639
+ if (!is_property_present.has_value())
2640
+ {
2641
+ is_property_present = winrt::Windows::Foundation::Metadata::ApiInformation::IsPropertyPresent(L"Windows.Data.Text.WordsSegmenter", L"ResolvedLanguage");
2642
+ }
2643
+
2644
+ if (!is_property_present.value())
2274
2645
  {
2275
2646
  PyErr_SetString(PyExc_AttributeError, "property is not available in this version of Windows");
2276
2647
  return nullptr;
@@ -2517,6 +2888,23 @@ namespace py::cpp::Windows::Data::Text
2517
2888
  }
2518
2889
  }
2519
2890
 
2891
+ static PyObject* _repr_TextSegment(PyObject* self) noexcept
2892
+ {
2893
+ py::pyobj_handle StartPosition{PyObject_GetAttrString(self, "start_position")};
2894
+ if (!StartPosition)
2895
+ {
2896
+ return nullptr;
2897
+ }
2898
+
2899
+ py::pyobj_handle Length{PyObject_GetAttrString(self, "length")};
2900
+ if (!Length)
2901
+ {
2902
+ return nullptr;
2903
+ }
2904
+
2905
+ return PyUnicode_FromFormat("TextSegment(start_position=%R, length=%R)", StartPosition.get(), Length.get());
2906
+ }
2907
+
2520
2908
  static PyType_Slot _type_slots_TextSegment[] = {
2521
2909
  { Py_tp_new, reinterpret_cast<void*>(_new_TextSegment) },
2522
2910
  { Py_tp_init, reinterpret_cast<void*>(_init_TextSegment) },
@@ -2524,6 +2912,7 @@ namespace py::cpp::Windows::Data::Text
2524
2912
  { Py_tp_methods, reinterpret_cast<void*>(_methods_TextSegment) },
2525
2913
  { Py_tp_getset, reinterpret_cast<void*>(_getset_TextSegment) },
2526
2914
  { Py_tp_richcompare, reinterpret_cast<void*>(_richcompare_TextSegment) },
2915
+ { Py_tp_repr, reinterpret_cast<void*>(_repr_TextSegment) },
2527
2916
  { }
2528
2917
  };
2529
2918
 
@@ -2579,42 +2968,50 @@ PyMODINIT_FUNC PyInit__winrt_windows_data_text(void) noexcept
2579
2968
  return nullptr;
2580
2969
  }
2581
2970
 
2582
- if (py::register_python_type(module.get(), &type_spec_AlternateWordForm, object_bases.get(), nullptr) == -1)
2971
+ py::pytype_handle AlternateWordForm_type{py::register_python_type(module.get(), &type_spec_AlternateWordForm, object_bases.get(), nullptr)};
2972
+ if (!AlternateWordForm_type)
2583
2973
  {
2584
2974
  return nullptr;
2585
2975
  }
2586
2976
 
2587
- if (py::register_python_type(module.get(), &type_spec_SelectableWordSegment, object_bases.get(), nullptr) == -1)
2977
+ py::pytype_handle SelectableWordSegment_type{py::register_python_type(module.get(), &type_spec_SelectableWordSegment, object_bases.get(), nullptr)};
2978
+ if (!SelectableWordSegment_type)
2588
2979
  {
2589
2980
  return nullptr;
2590
2981
  }
2591
2982
 
2592
- if (py::register_python_type(module.get(), &type_spec_SelectableWordsSegmenter, object_bases.get(), nullptr) == -1)
2983
+ py::pytype_handle SelectableWordsSegmenter_type{py::register_python_type(module.get(), &type_spec_SelectableWordsSegmenter, object_bases.get(), nullptr)};
2984
+ if (!SelectableWordsSegmenter_type)
2593
2985
  {
2594
2986
  return nullptr;
2595
2987
  }
2596
2988
 
2597
- if (py::register_python_type(module.get(), &type_spec_SemanticTextQuery, object_bases.get(), nullptr) == -1)
2989
+ py::pytype_handle SemanticTextQuery_type{py::register_python_type(module.get(), &type_spec_SemanticTextQuery, object_bases.get(), nullptr)};
2990
+ if (!SemanticTextQuery_type)
2598
2991
  {
2599
2992
  return nullptr;
2600
2993
  }
2601
2994
 
2602
- if (py::register_python_type(module.get(), &type_spec_TextConversionGenerator, object_bases.get(), nullptr) == -1)
2995
+ py::pytype_handle TextConversionGenerator_type{py::register_python_type(module.get(), &type_spec_TextConversionGenerator, object_bases.get(), nullptr)};
2996
+ if (!TextConversionGenerator_type)
2603
2997
  {
2604
2998
  return nullptr;
2605
2999
  }
2606
3000
 
2607
- if (py::register_python_type(module.get(), &type_spec_TextPhoneme, object_bases.get(), nullptr) == -1)
3001
+ py::pytype_handle TextPhoneme_type{py::register_python_type(module.get(), &type_spec_TextPhoneme, object_bases.get(), nullptr)};
3002
+ if (!TextPhoneme_type)
2608
3003
  {
2609
3004
  return nullptr;
2610
3005
  }
2611
3006
 
2612
- if (py::register_python_type(module.get(), &type_spec_TextPredictionGenerator, object_bases.get(), nullptr) == -1)
3007
+ py::pytype_handle TextPredictionGenerator_type{py::register_python_type(module.get(), &type_spec_TextPredictionGenerator, object_bases.get(), nullptr)};
3008
+ if (!TextPredictionGenerator_type)
2613
3009
  {
2614
3010
  return nullptr;
2615
3011
  }
2616
3012
 
2617
- if (py::register_python_type(module.get(), &type_spec_TextReverseConversionGenerator, object_bases.get(), nullptr) == -1)
3013
+ py::pytype_handle TextReverseConversionGenerator_type{py::register_python_type(module.get(), &type_spec_TextReverseConversionGenerator, object_bases.get(), nullptr)};
3014
+ if (!TextReverseConversionGenerator_type)
2618
3015
  {
2619
3016
  return nullptr;
2620
3017
  }
@@ -2625,22 +3022,26 @@ PyMODINIT_FUNC PyInit__winrt_windows_data_text(void) noexcept
2625
3022
  return nullptr;
2626
3023
  }
2627
3024
 
2628
- if (py::register_python_type(module.get(), &type_spec_UnicodeCharacters, object_bases.get(), reinterpret_cast<PyTypeObject*>(type_UnicodeCharacters_Static.get())) == -1)
3025
+ py::pytype_handle UnicodeCharacters_type{py::register_python_type(module.get(), &type_spec_UnicodeCharacters, object_bases.get(), reinterpret_cast<PyTypeObject*>(type_UnicodeCharacters_Static.get()))};
3026
+ if (!UnicodeCharacters_type)
2629
3027
  {
2630
3028
  return nullptr;
2631
3029
  }
2632
3030
 
2633
- if (py::register_python_type(module.get(), &type_spec_WordSegment, object_bases.get(), nullptr) == -1)
3031
+ py::pytype_handle WordSegment_type{py::register_python_type(module.get(), &type_spec_WordSegment, object_bases.get(), nullptr)};
3032
+ if (!WordSegment_type)
2634
3033
  {
2635
3034
  return nullptr;
2636
3035
  }
2637
3036
 
2638
- if (py::register_python_type(module.get(), &type_spec_WordsSegmenter, object_bases.get(), nullptr) == -1)
3037
+ py::pytype_handle WordsSegmenter_type{py::register_python_type(module.get(), &type_spec_WordsSegmenter, object_bases.get(), nullptr)};
3038
+ if (!WordsSegmenter_type)
2639
3039
  {
2640
3040
  return nullptr;
2641
3041
  }
2642
3042
 
2643
- if (py::register_python_type(module.get(), &type_spec_TextSegment, nullptr, nullptr) == -1)
3043
+ py::pytype_handle TextSegment_type{py::register_python_type(module.get(), &type_spec_TextSegment, nullptr, nullptr)};
3044
+ if (!TextSegment_type)
2644
3045
  {
2645
3046
  return nullptr;
2646
3047
  }
@@ -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.13"
19
+ requires-python = ">=3.9,<3.14"
20
20
 
21
21
  [project.urls]
22
22
  # Homepage = "https://github.com/pywinrt/pywinrt"
@@ -36,7 +36,8 @@ optional-dependencies.all = { file = "all-requirements.txt" }
36
36
  # use local winrt-sdk build dependency
37
37
  environment = { PYTHONPATH="../winrt-sdk/src" }
38
38
  # don't install winrt-sdk from PyPI
39
- build-frontend = { name = "build", args = ["--skip-dependency-check", "--no-isolation"] }
39
+ build-frontend = { name = "build[uv]", args = ["--skip-dependency-check", "--no-isolation"] }
40
+ before-build = "uv pip install setuptools"
40
41
  # don't build for PyPy
41
42
  skip = "pp*"
42
43
  # suppress warnings about ARM64 testing
@@ -0,0 +1 @@
1
+ 2.2.0
@@ -1,3 +1,3 @@
1
- # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.1.0
1
+ # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.2.0
2
2
 
3
- winrt-runtime==2.1.0
3
+ winrt-runtime==2.2.0
@@ -1,4 +1,4 @@
1
- # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.1.0
1
+ # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.2.0
2
2
 
3
3
  import datetime
4
4
  import sys
@@ -23,8 +23,6 @@ class TextSegment:
23
23
  start_position: winrt.system.UInt32
24
24
  length: winrt.system.UInt32
25
25
  def __init__(self, start_position: winrt.system.UInt32, length: winrt.system.UInt32) -> None: ...
26
- def __eq__(self, other: object, /) -> bool: ...
27
- def __ne__(self, other: object, /) -> bool: ...
28
26
 
29
27
  @typing.final
30
28
  class AlternateWordForm(winrt.system.Object):
@@ -1,4 +1,4 @@
1
- # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.1.0
1
+ # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.2.0
2
2
 
3
3
  import enum
4
4
  import typing
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: winrt-Windows.Data.Text
3
- Version: 2.1.0
3
+ Version: 2.2.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,13 +10,13 @@ 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.13,>=3.9
13
+ Requires-Python: <3.14,>=3.9
14
14
  Description-Content-Type: text/markdown
15
- Requires-Dist: winrt-runtime==2.1.0
15
+ Requires-Dist: winrt-runtime==2.2.0
16
16
  Provides-Extra: all
17
- Requires-Dist: winrt-Windows.Foundation[all]==2.1.0; extra == "all"
18
- Requires-Dist: winrt-Windows.Foundation.Collections[all]==2.1.0; extra == "all"
19
- Requires-Dist: winrt-Windows.UI.Text.Core[all]==2.1.0; 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.UI.Text.Core[all]==2.2.0; extra == "all"
20
20
 
21
21
  <!-- warning: Please don't edit this file. It was automatically generated. -->
22
22
 
@@ -0,0 +1,6 @@
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.UI.Text.Core[all]==2.2.0
@@ -1,5 +0,0 @@
1
- # WARNING: Please don't edit this file. It was generated by Python/WinRT v2.1.0
2
-
3
- winrt-Windows.Foundation[all]==2.1.0
4
- winrt-Windows.Foundation.Collections[all]==2.1.0
5
- winrt-Windows.UI.Text.Core[all]==2.1.0
@@ -1 +0,0 @@
1
- 2.1.0
@@ -1,6 +0,0 @@
1
- winrt-runtime==2.1.0
2
-
3
- [all]
4
- winrt-Windows.Foundation[all]==2.1.0
5
- winrt-Windows.Foundation.Collections[all]==2.1.0
6
- winrt-Windows.UI.Text.Core[all]==2.1.0