pyobjc-framework-ContactsUI 12.0__tar.gz → 12.2__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 (29) hide show
  1. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/Lib/ContactsUI/_metadata.py +1 -1
  2. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/Lib/pyobjc_framework_ContactsUI.egg-info/PKG-INFO +6 -7
  3. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/Lib/pyobjc_framework_ContactsUI.egg-info/SOURCES.txt +2 -2
  4. pyobjc_framework_contactsui-12.2/Lib/pyobjc_framework_ContactsUI.egg-info/pyobjc-build-info.txt +3 -0
  5. pyobjc_framework_contactsui-12.2/Lib/pyobjc_framework_ContactsUI.egg-info/requires.txt +3 -0
  6. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/Modules/pyobjc-compat.h +24 -50
  7. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/PKG-INFO +6 -7
  8. pyobjc_framework_contactsui-12.0/metadata/raw/arm64-26.0.fwinfo → pyobjc_framework_contactsui-12.2/metadata/raw/arm64-26.5.fwinfo +66 -3
  9. pyobjc_framework_contactsui-12.0/metadata/raw/x86_64-26.0.fwinfo → pyobjc_framework_contactsui-12.2/metadata/raw/x86_64-26.5.fwinfo +66 -3
  10. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/pyobjc_setup.py +4 -5
  11. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/setup.py +1 -1
  12. pyobjc_framework_contactsui-12.0/Lib/pyobjc_framework_ContactsUI.egg-info/pyobjc-build-info.txt +0 -3
  13. pyobjc_framework_contactsui-12.0/Lib/pyobjc_framework_ContactsUI.egg-info/requires.txt +0 -3
  14. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/Lib/ContactsUI/__init__.py +0 -0
  15. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/Lib/pyobjc_framework_ContactsUI.egg-info/dependency_links.txt +0 -0
  16. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/Lib/pyobjc_framework_ContactsUI.egg-info/not-zip-safe +0 -0
  17. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/Lib/pyobjc_framework_ContactsUI.egg-info/top_level.txt +0 -0
  18. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/License.txt +0 -0
  19. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/MANIFEST.in +0 -0
  20. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/Modules/_ContactsUI.m +0 -0
  21. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/Modules/_ContactsUI_protocols.m +0 -0
  22. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/Modules/pyobjc-api.h +0 -0
  23. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/PyObjCTest/__init__.py +0 -0
  24. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/PyObjCTest/test_cncontactpickerdelegate.py +0 -0
  25. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/PyObjCTest/test_contactsui.py +0 -0
  26. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/metadata/ContactsUI.fwinfo +0 -0
  27. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/metadata/metadata.ini +0 -0
  28. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/pyproject.toml +0 -0
  29. {pyobjc_framework_contactsui-12.0 → pyobjc_framework_contactsui-12.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  # This file is generated by objective.metadata
2
2
  #
3
- # Last update: Wed Jul 23 22:20:01 2025
3
+ # Last update: Sun May 24 11:45:28 2026
4
4
  #
5
5
  # flake8: noqa
6
6
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyobjc-framework-ContactsUI
3
- Version: 12.0
3
+ Version: 12.2
4
4
  Summary: Wrappers for the framework ContactsUI on macOS
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren
@@ -17,7 +17,6 @@ Classifier: Operating System :: MacOS :: MacOS X
17
17
  Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
19
  Classifier: Programming Language :: Python :: 3 :: Only
20
- Classifier: Programming Language :: Python :: 3.9
21
20
  Classifier: Programming Language :: Python :: 3.10
22
21
  Classifier: Programming Language :: Python :: 3.11
23
22
  Classifier: Programming Language :: Python :: 3.12
@@ -25,15 +24,15 @@ Classifier: Programming Language :: Python :: 3.13
25
24
  Classifier: Programming Language :: Python :: 3.14
26
25
  Classifier: Programming Language :: Python :: 3.15
27
26
  Classifier: Programming Language :: Python :: Implementation :: CPython
28
- Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
27
+ Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
29
28
  Classifier: Programming Language :: Objective C
30
29
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
31
30
  Classifier: Topic :: Software Development :: User Interfaces
32
- Requires-Python: >=3.9
31
+ Requires-Python: >=3.10
33
32
  Description-Content-Type: text/x-rst; charset=UTF-8
34
- Requires-Dist: pyobjc-core>=12.0
35
- Requires-Dist: pyobjc-framework-Cocoa>=12.0
36
- Requires-Dist: pyobjc-framework-Contacts>=12.0
33
+ Requires-Dist: pyobjc-core>=12.2
34
+ Requires-Dist: pyobjc-framework-Cocoa>=12.2
35
+ Requires-Dist: pyobjc-framework-Contacts>=12.2
37
36
  Dynamic: author
38
37
  Dynamic: author-email
39
38
  Dynamic: classifier
@@ -21,5 +21,5 @@ PyObjCTest/test_cncontactpickerdelegate.py
21
21
  PyObjCTest/test_contactsui.py
22
22
  metadata/ContactsUI.fwinfo
23
23
  metadata/metadata.ini
24
- metadata/raw/arm64-26.0.fwinfo
25
- metadata/raw/x86_64-26.0.fwinfo
24
+ metadata/raw/arm64-26.5.fwinfo
25
+ metadata/raw/x86_64-26.5.fwinfo
@@ -0,0 +1,3 @@
1
+ macOS 26.5 (25F71)
2
+ Apple clang version 21.0.0 (clang-2100.1.1.101)
3
+ SDK: macOS 26.5
@@ -0,0 +1,3 @@
1
+ pyobjc-core>=12.2
2
+ pyobjc-framework-Cocoa>=12.2
3
+ pyobjc-framework-Contacts>=12.2
@@ -22,12 +22,14 @@ NS_ASSUME_NONNULL_BEGIN
22
22
  * Start of compiler definitions
23
23
  *
24
24
  */
25
+ #if 0
25
26
  #ifndef __has_feature
26
27
  #define __has_feature(x) 0
27
28
  #endif
28
29
  #ifndef __has_extension
29
30
  #define __has_extension(x) __has_feature(x)
30
31
  #endif
32
+ #endif
31
33
 
32
34
  #if __has_extension(c_static_assert)
33
35
  #define STATIC_ASSERT(test, message) _Static_assert(test, message)
@@ -55,46 +57,10 @@ NS_ASSUME_NONNULL_BEGIN
55
57
  /*
56
58
  *
57
59
  * Start of compiler support helpers
58
- *
59
- * XXX: Are these needed?
60
60
  */
61
61
 
62
- #ifdef __GNUC__
63
62
  #define unlikely(x) __builtin_expect(!!(x), 0)
64
63
  #define likely(x) __builtin_expect(!!(x), 1)
65
- #else
66
- #define likely(x) x
67
- #define likely(x) x
68
- #endif
69
-
70
- /* On some versions of GCC <limits.h> defines LONG_LONG_MAX but not LLONG_MAX, compensate.
71
- */
72
- #ifndef LLONG_MIN
73
- #ifdef LONG_LONG_MIN
74
- #define LLONG_MIN LONG_LONG_MIN
75
- #define LLONG_MAX LONG_LONG_MAX
76
- #define ULLONG_MAX ULONG_LONG_MAX
77
- #endif
78
- #endif
79
-
80
- /*
81
- *
82
- * End of compiler support helpers
83
- *
84
- * XXX: These two are no longer needed, all supported platforms
85
- * are 64-bit
86
- */
87
-
88
- #if __LP64__
89
- #define Py_ARG_NSInteger "l"
90
- #define Py_ARG_NSUInteger "k"
91
- #else
92
- #define Py_ARG_NSInteger "i"
93
- #define Py_ARG_NSUInteger "I"
94
- #endif
95
-
96
- #define PyObjC__STR(x) #x
97
- #define PyObjC_STR(x) PyObjC__STR(x)
98
64
 
99
65
  /*
100
66
  *
@@ -131,20 +97,6 @@ NS_ASSUME_NONNULL_BEGIN
131
97
 
132
98
  extern int PyObjC_Cmp(PyObject* o1, PyObject* o2, int* result);
133
99
 
134
- /*
135
- * A micro optimization: when using Python 3.3 or later it
136
- * is possible to access a 'char*' with an ASCII representation
137
- * of a unicode object without first converting it to a bytes
138
- * string (if the string can be encoded as ASCII in the first
139
- * place.
140
- *
141
- * This slightly reduces the object allocation rate during
142
- * attribute access.
143
- *
144
- * XXX: Use PyUnicode_AsUTF8 instead.
145
- */
146
- extern const char* _Nullable PyObjC_Unicode_Fast_Bytes(PyObject* object);
147
-
148
100
  #ifdef __clang__
149
101
 
150
102
  #ifndef Py_LIMITED_API
@@ -286,6 +238,23 @@ static inline PyObject* _Nullable PyList_GetItemRef(PyObject* l, Py_ssize_t i)
286
238
  Py_XINCREF(result);
287
239
  return result;
288
240
  }
241
+
242
+ static inline int
243
+ PyDict_SetDefaultRef(PyObject* p, PyObject* key, PyObject* default_value,
244
+ PyObject* _Nonnull* _Nullable result)
245
+ {
246
+ *result = PyDict_SetDefault(p, key, default_value);
247
+ if (*result == NULL) {
248
+ return -1;
249
+ }
250
+ Py_INCREF(*result);
251
+
252
+ /* This does not follow the spec, should return 1 when the key was already
253
+ * in the dict. That part of the API is not used in PyObjC though.
254
+ */
255
+ return 0;
256
+ }
257
+
289
258
  #endif
290
259
 
291
260
  #if PY_VERSION_HEX < 0x030c0000
@@ -392,6 +361,11 @@ PyUnstable_TryIncRef(PyObject* op __attribute__((__unused__)))
392
361
  }
393
362
  #endif
394
363
 
364
+ #if PY_VERSION_HEX < 0x030f00a7
365
+ #define PyAnyDict_CheckExact PyDict_CheckExact
366
+ #define PyAnyDict_Check PyDict_Check
367
+ #endif
368
+
395
369
  NS_ASSUME_NONNULL_END
396
370
 
397
371
  #endif /* PyObjC_COMPAT_H */
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyobjc-framework-ContactsUI
3
- Version: 12.0
3
+ Version: 12.2
4
4
  Summary: Wrappers for the framework ContactsUI on macOS
5
5
  Home-page: https://github.com/ronaldoussoren/pyobjc
6
6
  Author: Ronald Oussoren
@@ -17,7 +17,6 @@ Classifier: Operating System :: MacOS :: MacOS X
17
17
  Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
19
  Classifier: Programming Language :: Python :: 3 :: Only
20
- Classifier: Programming Language :: Python :: 3.9
21
20
  Classifier: Programming Language :: Python :: 3.10
22
21
  Classifier: Programming Language :: Python :: 3.11
23
22
  Classifier: Programming Language :: Python :: 3.12
@@ -25,15 +24,15 @@ Classifier: Programming Language :: Python :: 3.13
25
24
  Classifier: Programming Language :: Python :: 3.14
26
25
  Classifier: Programming Language :: Python :: 3.15
27
26
  Classifier: Programming Language :: Python :: Implementation :: CPython
28
- Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
27
+ Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
29
28
  Classifier: Programming Language :: Objective C
30
29
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
31
30
  Classifier: Topic :: Software Development :: User Interfaces
32
- Requires-Python: >=3.9
31
+ Requires-Python: >=3.10
33
32
  Description-Content-Type: text/x-rst; charset=UTF-8
34
- Requires-Dist: pyobjc-core>=12.0
35
- Requires-Dist: pyobjc-framework-Cocoa>=12.0
36
- Requires-Dist: pyobjc-framework-Contacts>=12.0
33
+ Requires-Dist: pyobjc-core>=12.2
34
+ Requires-Dist: pyobjc-framework-Cocoa>=12.2
35
+ Requires-Dist: pyobjc-framework-Contacts>=12.2
37
36
  Dynamic: author
38
37
  Dynamic: author-email
39
38
  Dynamic: classifier
@@ -1,7 +1,7 @@
1
1
  // GENERATED FILE DO NOT EDIT
2
2
  //
3
3
  // This file was generated by objective.metadata
4
- // Last update: Wed Jul 23 22:19:53 2025
4
+ // Last update: Sun May 24 11:45:28 2026
5
5
  {
6
6
  "arch": "arm64",
7
7
  "definitions": {
@@ -15,20 +15,29 @@
15
15
  {
16
16
  "args": [
17
17
  {
18
+ "name": "positioningRect",
19
+ "type_name": "NSRect",
18
20
  "typestr": "{CGRect={CGPoint=dd}{CGSize=dd}}",
19
21
  "typestr_special": false
20
22
  },
21
23
  {
24
+ "name": "positioningView",
25
+ "null_accepted": true,
26
+ "type_name": "NSView *",
22
27
  "typestr": "@",
23
28
  "typestr_special": false
24
29
  },
25
30
  {
31
+ "name": "preferredEdge",
32
+ "type_name": "NSRectEdge",
26
33
  "typestr": "Q",
27
34
  "typestr_special": false
28
35
  }
29
36
  ],
30
37
  "class_method": false,
38
+ "introduced": "10.11",
31
39
  "retval": {
40
+ "type_name": "void",
32
41
  "typestr": "v",
33
42
  "typestr_special": false
34
43
  },
@@ -38,7 +47,9 @@
38
47
  {
39
48
  "args": [],
40
49
  "class_method": false,
50
+ "introduced": "10.11",
41
51
  "retval": {
52
+ "type_name": "void",
42
53
  "typestr": "v",
43
54
  "typestr_special": false
44
55
  },
@@ -48,7 +59,9 @@
48
59
  {
49
60
  "args": [],
50
61
  "class_method": false,
62
+ "introduced": "10.11",
51
63
  "retval": {
64
+ "type_name": "NSArray<NSString *> *",
52
65
  "typestr": "@",
53
66
  "typestr_special": false
54
67
  },
@@ -58,12 +71,17 @@
58
71
  {
59
72
  "args": [
60
73
  {
74
+ "name": "displayedKeys",
75
+ "null_accepted": true,
76
+ "type_name": "NSArray<NSString *> *",
61
77
  "typestr": "@",
62
78
  "typestr_special": false
63
79
  }
64
80
  ],
65
81
  "class_method": false,
82
+ "introduced": "10.11",
66
83
  "retval": {
84
+ "type_name": "void",
67
85
  "typestr": "v",
68
86
  "typestr_special": false
69
87
  },
@@ -73,7 +91,9 @@
73
91
  {
74
92
  "args": [],
75
93
  "class_method": false,
94
+ "introduced": "10.11",
76
95
  "retval": {
96
+ "type_name": "id<CNContactPickerDelegate>",
77
97
  "typestr": "@",
78
98
  "typestr_special": false
79
99
  },
@@ -83,12 +103,17 @@
83
103
  {
84
104
  "args": [
85
105
  {
106
+ "name": "delegate",
107
+ "null_accepted": true,
108
+ "type_name": "id<CNContactPickerDelegate>",
86
109
  "typestr": "@",
87
110
  "typestr_special": false
88
111
  }
89
112
  ],
90
113
  "class_method": false,
114
+ "introduced": "10.11",
91
115
  "retval": {
116
+ "type_name": "void",
92
117
  "typestr": "v",
93
118
  "typestr_special": false
94
119
  },
@@ -103,6 +128,7 @@
103
128
  "copy"
104
129
  ],
105
130
  "name": "displayedKeys",
131
+ "type_name": "NSArray<NSString *> *",
106
132
  "typestr": "@",
107
133
  "typestr_special": false
108
134
  },
@@ -111,6 +137,7 @@
111
137
  "weak"
112
138
  ],
113
139
  "name": "delegate",
140
+ "type_name": "id<CNContactPickerDelegate>",
114
141
  "typestr": "@",
115
142
  "typestr_special": false
116
143
  }
@@ -124,7 +151,9 @@
124
151
  {
125
152
  "args": [],
126
153
  "class_method": true,
154
+ "introduced": "10.11",
127
155
  "retval": {
156
+ "type_name": "id<CNKeyDescriptor>",
128
157
  "typestr": "@",
129
158
  "typestr_special": false
130
159
  },
@@ -134,7 +163,9 @@
134
163
  {
135
164
  "args": [],
136
165
  "class_method": false,
166
+ "introduced": "10.11",
137
167
  "retval": {
168
+ "type_name": "CNContact *",
138
169
  "typestr": "@",
139
170
  "typestr_special": false
140
171
  },
@@ -144,12 +175,17 @@
144
175
  {
145
176
  "args": [
146
177
  {
178
+ "name": "contact",
179
+ "null_accepted": true,
180
+ "type_name": "CNContact *",
147
181
  "typestr": "@",
148
182
  "typestr_special": false
149
183
  }
150
184
  ],
151
185
  "class_method": false,
186
+ "introduced": "10.11",
152
187
  "retval": {
188
+ "type_name": "void",
153
189
  "typestr": "v",
154
190
  "typestr_special": false
155
191
  },
@@ -165,6 +201,7 @@
165
201
  "readwrite"
166
202
  ],
167
203
  "name": "contact",
204
+ "type_name": "CNContact *",
168
205
  "typestr": "@",
169
206
  "typestr_special": false
170
207
  }
@@ -186,17 +223,25 @@
186
223
  {
187
224
  "args": [
188
225
  {
226
+ "name": "picker",
227
+ "null_accepted": true,
228
+ "type_name": "CNContactPicker *",
189
229
  "typestr": "@",
190
230
  "typestr_special": false
191
231
  },
192
232
  {
233
+ "name": "contact",
234
+ "null_accepted": true,
235
+ "type_name": "CNContact *",
193
236
  "typestr": "@",
194
237
  "typestr_special": false
195
238
  }
196
239
  ],
197
240
  "class_method": false,
241
+ "introduced": "10.11",
198
242
  "required": false,
199
243
  "retval": {
244
+ "type_name": "void",
200
245
  "typestr": "v",
201
246
  "typestr_special": false
202
247
  },
@@ -206,17 +251,25 @@
206
251
  {
207
252
  "args": [
208
253
  {
254
+ "name": "picker",
255
+ "null_accepted": true,
256
+ "type_name": "CNContactPicker *",
209
257
  "typestr": "@",
210
258
  "typestr_special": false
211
259
  },
212
260
  {
261
+ "name": "contactProperty",
262
+ "null_accepted": true,
263
+ "type_name": "CNContactProperty *",
213
264
  "typestr": "@",
214
265
  "typestr_special": false
215
266
  }
216
267
  ],
217
268
  "class_method": false,
269
+ "introduced": "10.11",
218
270
  "required": false,
219
271
  "retval": {
272
+ "type_name": "void",
220
273
  "typestr": "v",
221
274
  "typestr_special": false
222
275
  },
@@ -226,13 +279,18 @@
226
279
  {
227
280
  "args": [
228
281
  {
282
+ "name": "picker",
283
+ "null_accepted": true,
284
+ "type_name": "CNContactPicker *",
229
285
  "typestr": "@",
230
286
  "typestr_special": false
231
287
  }
232
288
  ],
233
289
  "class_method": false,
290
+ "introduced": "10.11",
234
291
  "required": false,
235
292
  "retval": {
293
+ "type_name": "void",
236
294
  "typestr": "v",
237
295
  "typestr_special": false
238
296
  },
@@ -242,13 +300,18 @@
242
300
  {
243
301
  "args": [
244
302
  {
303
+ "name": "picker",
304
+ "null_accepted": true,
305
+ "type_name": "CNContactPicker *",
245
306
  "typestr": "@",
246
307
  "typestr_special": false
247
308
  }
248
309
  ],
249
310
  "class_method": false,
311
+ "introduced": "10.11",
250
312
  "required": false,
251
313
  "retval": {
314
+ "type_name": "void",
252
315
  "typestr": "v",
253
316
  "typestr_special": false
254
317
  },
@@ -272,6 +335,6 @@
272
335
  "CNContactPickerDelegate.h",
273
336
  "CNContactViewController.h"
274
337
  ],
275
- "release": "10.16",
276
- "sdk": "/Users/ronald/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk"
338
+ "release": "26.5",
339
+ "sdk": "/Users/ronald/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk"
277
340
  }
@@ -1,7 +1,7 @@
1
1
  // GENERATED FILE DO NOT EDIT
2
2
  //
3
3
  // This file was generated by objective.metadata
4
- // Last update: Wed Jul 23 22:19:51 2025
4
+ // Last update: Sun May 24 11:45:25 2026
5
5
  {
6
6
  "arch": "x86_64",
7
7
  "definitions": {
@@ -15,20 +15,29 @@
15
15
  {
16
16
  "args": [
17
17
  {
18
+ "name": "positioningRect",
19
+ "type_name": "NSRect",
18
20
  "typestr": "{CGRect={CGPoint=dd}{CGSize=dd}}",
19
21
  "typestr_special": false
20
22
  },
21
23
  {
24
+ "name": "positioningView",
25
+ "null_accepted": true,
26
+ "type_name": "NSView *",
22
27
  "typestr": "@",
23
28
  "typestr_special": false
24
29
  },
25
30
  {
31
+ "name": "preferredEdge",
32
+ "type_name": "NSRectEdge",
26
33
  "typestr": "Q",
27
34
  "typestr_special": false
28
35
  }
29
36
  ],
30
37
  "class_method": false,
38
+ "introduced": "10.11",
31
39
  "retval": {
40
+ "type_name": "void",
32
41
  "typestr": "v",
33
42
  "typestr_special": false
34
43
  },
@@ -38,7 +47,9 @@
38
47
  {
39
48
  "args": [],
40
49
  "class_method": false,
50
+ "introduced": "10.11",
41
51
  "retval": {
52
+ "type_name": "void",
42
53
  "typestr": "v",
43
54
  "typestr_special": false
44
55
  },
@@ -48,7 +59,9 @@
48
59
  {
49
60
  "args": [],
50
61
  "class_method": false,
62
+ "introduced": "10.11",
51
63
  "retval": {
64
+ "type_name": "NSArray<NSString *> *",
52
65
  "typestr": "@",
53
66
  "typestr_special": false
54
67
  },
@@ -58,12 +71,17 @@
58
71
  {
59
72
  "args": [
60
73
  {
74
+ "name": "displayedKeys",
75
+ "null_accepted": true,
76
+ "type_name": "NSArray<NSString *> *",
61
77
  "typestr": "@",
62
78
  "typestr_special": false
63
79
  }
64
80
  ],
65
81
  "class_method": false,
82
+ "introduced": "10.11",
66
83
  "retval": {
84
+ "type_name": "void",
67
85
  "typestr": "v",
68
86
  "typestr_special": false
69
87
  },
@@ -73,7 +91,9 @@
73
91
  {
74
92
  "args": [],
75
93
  "class_method": false,
94
+ "introduced": "10.11",
76
95
  "retval": {
96
+ "type_name": "id<CNContactPickerDelegate>",
77
97
  "typestr": "@",
78
98
  "typestr_special": false
79
99
  },
@@ -83,12 +103,17 @@
83
103
  {
84
104
  "args": [
85
105
  {
106
+ "name": "delegate",
107
+ "null_accepted": true,
108
+ "type_name": "id<CNContactPickerDelegate>",
86
109
  "typestr": "@",
87
110
  "typestr_special": false
88
111
  }
89
112
  ],
90
113
  "class_method": false,
114
+ "introduced": "10.11",
91
115
  "retval": {
116
+ "type_name": "void",
92
117
  "typestr": "v",
93
118
  "typestr_special": false
94
119
  },
@@ -103,6 +128,7 @@
103
128
  "copy"
104
129
  ],
105
130
  "name": "displayedKeys",
131
+ "type_name": "NSArray<NSString *> *",
106
132
  "typestr": "@",
107
133
  "typestr_special": false
108
134
  },
@@ -111,6 +137,7 @@
111
137
  "weak"
112
138
  ],
113
139
  "name": "delegate",
140
+ "type_name": "id<CNContactPickerDelegate>",
114
141
  "typestr": "@",
115
142
  "typestr_special": false
116
143
  }
@@ -124,7 +151,9 @@
124
151
  {
125
152
  "args": [],
126
153
  "class_method": true,
154
+ "introduced": "10.11",
127
155
  "retval": {
156
+ "type_name": "id<CNKeyDescriptor>",
128
157
  "typestr": "@",
129
158
  "typestr_special": false
130
159
  },
@@ -134,7 +163,9 @@
134
163
  {
135
164
  "args": [],
136
165
  "class_method": false,
166
+ "introduced": "10.11",
137
167
  "retval": {
168
+ "type_name": "CNContact *",
138
169
  "typestr": "@",
139
170
  "typestr_special": false
140
171
  },
@@ -144,12 +175,17 @@
144
175
  {
145
176
  "args": [
146
177
  {
178
+ "name": "contact",
179
+ "null_accepted": true,
180
+ "type_name": "CNContact *",
147
181
  "typestr": "@",
148
182
  "typestr_special": false
149
183
  }
150
184
  ],
151
185
  "class_method": false,
186
+ "introduced": "10.11",
152
187
  "retval": {
188
+ "type_name": "void",
153
189
  "typestr": "v",
154
190
  "typestr_special": false
155
191
  },
@@ -165,6 +201,7 @@
165
201
  "readwrite"
166
202
  ],
167
203
  "name": "contact",
204
+ "type_name": "CNContact *",
168
205
  "typestr": "@",
169
206
  "typestr_special": false
170
207
  }
@@ -186,17 +223,25 @@
186
223
  {
187
224
  "args": [
188
225
  {
226
+ "name": "picker",
227
+ "null_accepted": true,
228
+ "type_name": "CNContactPicker *",
189
229
  "typestr": "@",
190
230
  "typestr_special": false
191
231
  },
192
232
  {
233
+ "name": "contact",
234
+ "null_accepted": true,
235
+ "type_name": "CNContact *",
193
236
  "typestr": "@",
194
237
  "typestr_special": false
195
238
  }
196
239
  ],
197
240
  "class_method": false,
241
+ "introduced": "10.11",
198
242
  "required": false,
199
243
  "retval": {
244
+ "type_name": "void",
200
245
  "typestr": "v",
201
246
  "typestr_special": false
202
247
  },
@@ -206,17 +251,25 @@
206
251
  {
207
252
  "args": [
208
253
  {
254
+ "name": "picker",
255
+ "null_accepted": true,
256
+ "type_name": "CNContactPicker *",
209
257
  "typestr": "@",
210
258
  "typestr_special": false
211
259
  },
212
260
  {
261
+ "name": "contactProperty",
262
+ "null_accepted": true,
263
+ "type_name": "CNContactProperty *",
213
264
  "typestr": "@",
214
265
  "typestr_special": false
215
266
  }
216
267
  ],
217
268
  "class_method": false,
269
+ "introduced": "10.11",
218
270
  "required": false,
219
271
  "retval": {
272
+ "type_name": "void",
220
273
  "typestr": "v",
221
274
  "typestr_special": false
222
275
  },
@@ -226,13 +279,18 @@
226
279
  {
227
280
  "args": [
228
281
  {
282
+ "name": "picker",
283
+ "null_accepted": true,
284
+ "type_name": "CNContactPicker *",
229
285
  "typestr": "@",
230
286
  "typestr_special": false
231
287
  }
232
288
  ],
233
289
  "class_method": false,
290
+ "introduced": "10.11",
234
291
  "required": false,
235
292
  "retval": {
293
+ "type_name": "void",
236
294
  "typestr": "v",
237
295
  "typestr_special": false
238
296
  },
@@ -242,13 +300,18 @@
242
300
  {
243
301
  "args": [
244
302
  {
303
+ "name": "picker",
304
+ "null_accepted": true,
305
+ "type_name": "CNContactPicker *",
245
306
  "typestr": "@",
246
307
  "typestr_special": false
247
308
  }
248
309
  ],
249
310
  "class_method": false,
311
+ "introduced": "10.11",
250
312
  "required": false,
251
313
  "retval": {
314
+ "type_name": "void",
252
315
  "typestr": "v",
253
316
  "typestr_special": false
254
317
  },
@@ -272,6 +335,6 @@
272
335
  "CNContactPickerDelegate.h",
273
336
  "CNContactViewController.h"
274
337
  ],
275
- "release": "10.16",
276
- "sdk": "/Users/ronald/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk"
338
+ "release": "26.5",
339
+ "sdk": "/Users/ronald/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.5.sdk"
277
340
  }
@@ -87,10 +87,10 @@ class oc_egg_info(egg_info.egg_info):
87
87
 
88
88
  def write_build_info(self):
89
89
  macos_version = subprocess.check_output(
90
- ["sw_vers", "-productversion"], text=True
90
+ ["sw_vers", "-productVersion"], text=True
91
91
  ).strip()
92
92
  macos_build = subprocess.check_output(
93
- ["sw_vers", "-buildversion"], text=True
93
+ ["sw_vers", "-buildVersion"], text=True
94
94
  ).strip()
95
95
  clang_version = (
96
96
  subprocess.check_output(["clang", "--version"], text=True)
@@ -228,7 +228,6 @@ Operating System :: MacOS :: MacOS X
228
228
  Programming Language :: Python
229
229
  Programming Language :: Python :: 3
230
230
  Programming Language :: Python :: 3 :: Only
231
- Programming Language :: Python :: 3.9
232
231
  Programming Language :: Python :: 3.10
233
232
  Programming Language :: Python :: 3.11
234
233
  Programming Language :: Python :: 3.12
@@ -236,7 +235,7 @@ Programming Language :: Python :: 3.13
236
235
  Programming Language :: Python :: 3.14
237
236
  Programming Language :: Python :: 3.15
238
237
  Programming Language :: Python :: Implementation :: CPython
239
- Programming Language :: Python :: Free Threading :: 2 - Beta
238
+ Programming Language :: Python :: Free Threading :: 3 - Stable
240
239
  Programming Language :: Objective C
241
240
  Topic :: Software Development :: Libraries :: Python Modules
242
241
  Topic :: Software Development :: User Interfaces
@@ -678,7 +677,7 @@ def setup(
678
677
  zip_safe=False,
679
678
  license="MIT",
680
679
  classifiers=CLASSIFIERS,
681
- python_requires=">=3.9",
680
+ python_requires=">=3.10",
682
681
  keywords=["PyObjC"] + [p for p in k["packages"] if p not in ("PyObjCTools",)],
683
682
  options=options,
684
683
  **k,
@@ -15,7 +15,7 @@ sys.path.insert(0, os.path.dirname(__file__))
15
15
 
16
16
  from pyobjc_setup import Extension, setup # noqa: E402
17
17
 
18
- VERSION = "12.0"
18
+ VERSION = "12.2"
19
19
 
20
20
  setup(
21
21
  name="pyobjc-framework-ContactsUI",
@@ -1,3 +0,0 @@
1
- macOS 26.0.1 (25A362)
2
- Apple clang version 17.0.0 (clang-1700.3.19.1)
3
- SDK: macOS 26.0
@@ -1,3 +0,0 @@
1
- pyobjc-core>=12.0
2
- pyobjc-framework-Cocoa>=12.0
3
- pyobjc-framework-Contacts>=12.0