pyobjc-framework-ModelIO 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 (47) hide show
  1. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/Lib/ModelIO/_metadata.py +139 -44
  2. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/Lib/pyobjc_framework_ModelIO.egg-info/PKG-INFO +6 -7
  3. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/Lib/pyobjc_framework_ModelIO.egg-info/SOURCES.txt +2 -2
  4. pyobjc_framework_modelio-12.2/Lib/pyobjc_framework_ModelIO.egg-info/pyobjc-build-info.txt +3 -0
  5. pyobjc_framework_modelio-12.2/Lib/pyobjc_framework_ModelIO.egg-info/requires.txt +3 -0
  6. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/Modules/pyobjc-compat.h +24 -50
  7. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PKG-INFO +6 -7
  8. pyobjc_framework_modelio-12.2/metadata/ModelIO.fwinfo +2687 -0
  9. pyobjc_framework_modelio-12.0/metadata/raw/arm64-26.0.fwinfo → pyobjc_framework_modelio-12.2/metadata/raw/arm64-26.5.fwinfo +4592 -176
  10. pyobjc_framework_modelio-12.0/metadata/raw/x86_64-26.0.fwinfo → pyobjc_framework_modelio-12.2/metadata/raw/x86_64-26.5.fwinfo +4592 -176
  11. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/pyobjc_setup.py +4 -5
  12. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/setup.py +1 -1
  13. pyobjc_framework_modelio-12.0/Lib/pyobjc_framework_ModelIO.egg-info/pyobjc-build-info.txt +0 -3
  14. pyobjc_framework_modelio-12.0/Lib/pyobjc_framework_ModelIO.egg-info/requires.txt +0 -3
  15. pyobjc_framework_modelio-12.0/metadata/ModelIO.fwinfo +0 -1406
  16. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/Lib/ModelIO/__init__.py +0 -0
  17. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/Lib/pyobjc_framework_ModelIO.egg-info/dependency_links.txt +0 -0
  18. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/Lib/pyobjc_framework_ModelIO.egg-info/not-zip-safe +0 -0
  19. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/Lib/pyobjc_framework_ModelIO.egg-info/top_level.txt +0 -0
  20. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/License.txt +0 -0
  21. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/MANIFEST.in +0 -0
  22. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/Modules/_ModelIO.m +0 -0
  23. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/Modules/_ModelIO_protocols.m +0 -0
  24. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/Modules/pyobjc-api.h +0 -0
  25. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/__init__.py +0 -0
  26. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdlanimatedvaluetypes.py +0 -0
  27. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdlanimation.py +0 -0
  28. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdlasset.py +0 -0
  29. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdlassetresolver.py +0 -0
  30. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdlcamera.py +0 -0
  31. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdllight.py +0 -0
  32. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdlmaterial.py +0 -0
  33. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdlmesh.py +0 -0
  34. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdlmeshbuffer.py +0 -0
  35. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdlobject.py +0 -0
  36. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdlprimitive.py +0 -0
  37. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdltexture.py +0 -0
  38. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdltransform.py +0 -0
  39. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdltransformstack.py +0 -0
  40. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdltypes.py +0 -0
  41. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdlvaluetypes.py +0 -0
  42. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdlvertexdescriptor.py +0 -0
  43. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_mdlvoxelarray.py +0 -0
  44. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/PyObjCTest/test_modelio.py +0 -0
  45. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/metadata/metadata.ini +0 -0
  46. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/pyproject.toml +0 -0
  47. {pyobjc_framework_modelio-12.0 → pyobjc_framework_modelio-12.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  # This file is generated by objective.metadata
2
2
  #
3
- # Last update: Thu Jul 24 10:41:58 2025
3
+ # Last update: Thu May 28 22:15:45 2026
4
4
  #
5
5
  # flake8: noqa
6
6
 
@@ -121,10 +121,10 @@ try:
121
121
  "full_signature": b"Q@:^{simd_double4x4=[4<4d>]}Q",
122
122
  "arguments": {
123
123
  2: {
124
- "c_array_length_in_arg": 3,
125
124
  "type": b"^{simd_double4x4=[4<4d>]}",
126
- "type_modifier": b"o",
125
+ "c_array_length_in_arg": 3,
127
126
  "c_array_length_in_result": True,
127
+ "type_modifier": b"o",
128
128
  }
129
129
  },
130
130
  },
@@ -136,10 +136,10 @@ try:
136
136
  "full_signature": b"Q@:^{simd_float4x4=[4<4f>]}Q",
137
137
  "arguments": {
138
138
  2: {
139
- "c_array_length_in_arg": 3,
140
139
  "type": b"^{simd_float4x4=[4<4f>]}",
141
- "type_modifier": b"o",
140
+ "c_array_length_in_arg": 3,
142
141
  "c_array_length_in_result": True,
142
+ "type_modifier": b"o",
143
143
  }
144
144
  },
145
145
  },
@@ -261,10 +261,10 @@ try:
261
261
  "full_signature": b"Q@:^{simd_quatd=<4d>}Q",
262
262
  "arguments": {
263
263
  2: {
264
- "c_array_length_in_arg": 3,
265
264
  "type": b"^{simd_quatd=<4d>}",
266
- "type_modifier": b"o",
265
+ "c_array_length_in_arg": 3,
267
266
  "c_array_length_in_result": True,
267
+ "type_modifier": b"o",
268
268
  }
269
269
  },
270
270
  },
@@ -276,10 +276,10 @@ try:
276
276
  "full_signature": b"Q@:^{simd_quatd=<4d>}Qd",
277
277
  "arguments": {
278
278
  2: {
279
- "c_array_length_in_arg": 3,
280
279
  "type": b"^{simd_quatd=<4d>}",
281
- "type_modifier": b"o",
280
+ "c_array_length_in_arg": 3,
282
281
  "c_array_length_in_result": True,
282
+ "type_modifier": b"o",
283
283
  }
284
284
  },
285
285
  },
@@ -291,10 +291,10 @@ try:
291
291
  "full_signature": b"Q@:^{simd_quatf=<4f>}Q",
292
292
  "arguments": {
293
293
  2: {
294
- "c_array_length_in_arg": 3,
295
294
  "type": b"^{simd_quatf=<4f>}",
296
- "type_modifier": b"o",
295
+ "c_array_length_in_arg": 3,
297
296
  "c_array_length_in_result": True,
297
+ "type_modifier": b"o",
298
298
  }
299
299
  },
300
300
  },
@@ -306,10 +306,10 @@ try:
306
306
  "full_signature": b"Q@:^{simd_quatf=<4f>}Qd",
307
307
  "arguments": {
308
308
  2: {
309
- "c_array_length_in_arg": 3,
310
309
  "type": b"^{simd_quatf=<4f>}",
311
- "type_modifier": b"o",
310
+ "c_array_length_in_arg": 3,
312
311
  "c_array_length_in_result": True,
312
+ "type_modifier": b"o",
313
313
  }
314
314
  },
315
315
  },
@@ -405,8 +405,8 @@ try:
405
405
  "arguments": {
406
406
  2: {
407
407
  "c_array_length_in_arg": 3,
408
- "type_modifier": b"o",
409
408
  "c_array_length_in_result": True,
409
+ "type_modifier": b"o",
410
410
  }
411
411
  }
412
412
  },
@@ -418,8 +418,8 @@ try:
418
418
  "arguments": {
419
419
  2: {
420
420
  "c_array_length_in_arg": 3,
421
- "type_modifier": b"o",
422
421
  "c_array_length_in_result": True,
422
+ "type_modifier": b"o",
423
423
  }
424
424
  }
425
425
  },
@@ -503,8 +503,8 @@ try:
503
503
  "arguments": {
504
504
  2: {
505
505
  "c_array_length_in_arg": 3,
506
- "type_modifier": b"o",
507
506
  "c_array_length_in_result": True,
507
+ "type_modifier": b"o",
508
508
  }
509
509
  }
510
510
  },
@@ -516,8 +516,8 @@ try:
516
516
  "arguments": {
517
517
  2: {
518
518
  "c_array_length_in_arg": 3,
519
- "type_modifier": b"o",
520
519
  "c_array_length_in_result": True,
520
+ "type_modifier": b"o",
521
521
  }
522
522
  }
523
523
  },
@@ -529,8 +529,8 @@ try:
529
529
  "arguments": {
530
530
  2: {
531
531
  "c_array_length_in_arg": 3,
532
- "type_modifier": b"o",
533
532
  "c_array_length_in_result": True,
533
+ "type_modifier": b"o",
534
534
  }
535
535
  }
536
536
  },
@@ -542,8 +542,8 @@ try:
542
542
  "arguments": {
543
543
  2: {
544
544
  "c_array_length_in_arg": 3,
545
- "type_modifier": b"o",
546
545
  "c_array_length_in_result": True,
546
+ "type_modifier": b"o",
547
547
  }
548
548
  }
549
549
  },
@@ -608,8 +608,8 @@ try:
608
608
  "arguments": {
609
609
  2: {
610
610
  "c_array_length_in_arg": 3,
611
- "type_modifier": b"o",
612
611
  "c_array_length_in_result": True,
612
+ "type_modifier": b"o",
613
613
  }
614
614
  }
615
615
  },
@@ -658,10 +658,10 @@ try:
658
658
  "full_signature": b"Q@:^<2d>Q",
659
659
  "arguments": {
660
660
  2: {
661
- "c_array_length_in_arg": 3,
662
661
  "type": b"^<2d>",
663
- "type_modifier": b"o",
662
+ "c_array_length_in_arg": 3,
664
663
  "c_array_length_in_result": True,
664
+ "type_modifier": b"o",
665
665
  }
666
666
  },
667
667
  },
@@ -673,10 +673,10 @@ try:
673
673
  "full_signature": b"Q@:^<2f>Q",
674
674
  "arguments": {
675
675
  2: {
676
- "c_array_length_in_arg": 3,
677
676
  "type": b"^<2f>",
678
- "type_modifier": b"o",
677
+ "c_array_length_in_arg": 3,
679
678
  "c_array_length_in_result": True,
679
+ "type_modifier": b"o",
680
680
  }
681
681
  },
682
682
  },
@@ -764,10 +764,10 @@ try:
764
764
  "full_signature": b"Q@:^<3d>Q",
765
765
  "arguments": {
766
766
  2: {
767
- "c_array_length_in_arg": 3,
768
767
  "type": b"^<3d>",
769
- "type_modifier": b"o",
768
+ "c_array_length_in_arg": 3,
770
769
  "c_array_length_in_result": True,
770
+ "type_modifier": b"o",
771
771
  }
772
772
  },
773
773
  },
@@ -779,10 +779,10 @@ try:
779
779
  "full_signature": b"Q@:^<3f>Q",
780
780
  "arguments": {
781
781
  2: {
782
- "c_array_length_in_arg": 3,
783
782
  "type": b"^<3f>",
784
- "type_modifier": b"o",
783
+ "c_array_length_in_arg": 3,
785
784
  "c_array_length_in_result": True,
785
+ "type_modifier": b"o",
786
786
  }
787
787
  },
788
788
  },
@@ -834,10 +834,10 @@ try:
834
834
  "full_signature": b"Q@:^<3d>Q",
835
835
  "arguments": {
836
836
  2: {
837
- "c_array_length_in_arg": 3,
838
837
  "type": b"^<3d>",
839
- "type_modifier": b"o",
838
+ "c_array_length_in_arg": 3,
840
839
  "c_array_length_in_result": True,
840
+ "type_modifier": b"o",
841
841
  }
842
842
  },
843
843
  },
@@ -849,10 +849,10 @@ try:
849
849
  "full_signature": b"Q@:^<3d>Qd",
850
850
  "arguments": {
851
851
  2: {
852
- "c_array_length_in_arg": 3,
853
852
  "type": b"^<3d>",
854
- "type_modifier": b"o",
853
+ "c_array_length_in_arg": 3,
855
854
  "c_array_length_in_result": True,
855
+ "type_modifier": b"o",
856
856
  }
857
857
  },
858
858
  },
@@ -864,10 +864,10 @@ try:
864
864
  "full_signature": b"Q@:^<3f>Q",
865
865
  "arguments": {
866
866
  2: {
867
- "c_array_length_in_arg": 3,
868
867
  "type": b"^<3f>",
869
- "type_modifier": b"o",
868
+ "c_array_length_in_arg": 3,
870
869
  "c_array_length_in_result": True,
870
+ "type_modifier": b"o",
871
871
  }
872
872
  },
873
873
  },
@@ -879,10 +879,10 @@ try:
879
879
  "full_signature": b"Q@:^<3f>Qd",
880
880
  "arguments": {
881
881
  2: {
882
- "c_array_length_in_arg": 3,
883
882
  "type": b"^<3f>",
884
- "type_modifier": b"o",
883
+ "c_array_length_in_arg": 3,
885
884
  "c_array_length_in_result": True,
885
+ "type_modifier": b"o",
886
886
  }
887
887
  },
888
888
  },
@@ -980,10 +980,10 @@ try:
980
980
  "full_signature": b"Q@:^<4d>Q",
981
981
  "arguments": {
982
982
  2: {
983
- "c_array_length_in_arg": 3,
984
983
  "type": b"^<4d>",
985
- "type_modifier": b"o",
984
+ "c_array_length_in_arg": 3,
986
985
  "c_array_length_in_result": True,
986
+ "type_modifier": b"o",
987
987
  }
988
988
  },
989
989
  },
@@ -995,10 +995,10 @@ try:
995
995
  "full_signature": b"Q@:^<4f>Q",
996
996
  "arguments": {
997
997
  2: {
998
- "c_array_length_in_arg": 3,
999
998
  "type": b"^<4f>",
1000
- "type_modifier": b"o",
999
+ "c_array_length_in_arg": 3,
1001
1000
  "c_array_length_in_result": True,
1001
+ "type_modifier": b"o",
1002
1002
  }
1003
1003
  },
1004
1004
  },
@@ -1359,10 +1359,10 @@ try:
1359
1359
  "full_signature": b"Q@:^{simd_double4x4=[4<4d>]}Q",
1360
1360
  "arguments": {
1361
1361
  2: {
1362
- "c_array_length_in_arg": 3,
1363
1362
  "type": b"^{simd_double4x4=[4<4d>]}",
1364
- "type_modifier": b"o",
1363
+ "c_array_length_in_arg": 3,
1365
1364
  "c_array_length_in_result": True,
1365
+ "type_modifier": b"o",
1366
1366
  }
1367
1367
  },
1368
1368
  },
@@ -1374,10 +1374,10 @@ try:
1374
1374
  "full_signature": b"Q@:^{simd_float4x4=[4<4f>]}Q",
1375
1375
  "arguments": {
1376
1376
  2: {
1377
- "c_array_length_in_arg": 3,
1378
1377
  "type": b"^{simd_float4x4=[4<4f>]}",
1379
- "type_modifier": b"o",
1378
+ "c_array_length_in_arg": 3,
1380
1379
  "c_array_length_in_result": True,
1380
+ "type_modifier": b"o",
1381
1381
  }
1382
1382
  },
1383
1383
  },
@@ -2361,6 +2361,7 @@ objc.registerNewKeywordsFromSelector(
2361
2361
  "MDLLightProbe", b"initWithReflectiveTexture:irradianceTexture:"
2362
2362
  )
2363
2363
  objc.registerNewKeywordsFromSelector("MDLMaterial", b"initWithName:scatteringFunction:")
2364
+ objc.registerNewKeywordsFromSelector("MDLMaterialProperty", b"init")
2364
2365
  objc.registerNewKeywordsFromSelector("MDLMaterialProperty", b"initWithName:semantic:")
2365
2366
  objc.registerNewKeywordsFromSelector(
2366
2367
  "MDLMaterialProperty", b"initWithName:semantic:URL:"
@@ -2389,12 +2390,15 @@ objc.registerNewKeywordsFromSelector(
2389
2390
  objc.registerNewKeywordsFromSelector(
2390
2391
  "MDLMaterialProperty", b"initWithName:semantic:textureSampler:"
2391
2392
  )
2393
+ objc.registerNewKeywordsFromSelector("MDLMaterialPropertyConnection", b"init")
2392
2394
  objc.registerNewKeywordsFromSelector(
2393
2395
  "MDLMaterialPropertyConnection", b"initWithOutput:input:"
2394
2396
  )
2397
+ objc.registerNewKeywordsFromSelector("MDLMaterialPropertyGraph", b"init")
2395
2398
  objc.registerNewKeywordsFromSelector(
2396
2399
  "MDLMaterialPropertyGraph", b"initWithNodes:connections:"
2397
2400
  )
2401
+ objc.registerNewKeywordsFromSelector("MDLMaterialPropertyNode", b"init")
2398
2402
  objc.registerNewKeywordsFromSelector(
2399
2403
  "MDLMaterialPropertyNode", b"initWithInputs:outputs:evaluationFunction:"
2400
2404
  )
@@ -2485,16 +2489,19 @@ objc.registerNewKeywordsFromSelector(
2485
2489
  b"initWithName:indexBuffer:indexCount:indexType:geometryType:material:topology:",
2486
2490
  )
2487
2491
  objc.registerNewKeywordsFromSelector("MDLSubmeshTopology", b"initWithSubmesh:")
2492
+ objc.registerNewKeywordsFromSelector("MDLTexture", b"init")
2488
2493
  objc.registerNewKeywordsFromSelector(
2489
2494
  "MDLTexture",
2490
2495
  b"initWithData:topLeftOrigin:name:dimensions:rowStride:channelCount:channelEncoding:isCube:",
2491
2496
  )
2497
+ objc.registerNewKeywordsFromSelector("MDLTransform", b"init")
2492
2498
  objc.registerNewKeywordsFromSelector("MDLTransform", b"initWithMatrix:")
2493
2499
  objc.registerNewKeywordsFromSelector("MDLTransform", b"initWithMatrix:resetsTransform:")
2494
2500
  objc.registerNewKeywordsFromSelector("MDLTransform", b"initWithTransformComponent:")
2495
2501
  objc.registerNewKeywordsFromSelector(
2496
2502
  "MDLTransform", b"initWithTransformComponent:resetsTransform:"
2497
2503
  )
2504
+ objc.registerNewKeywordsFromSelector("MDLTransformStack", b"init")
2498
2505
  objc.registerNewKeywordsFromSelector("MDLURLTexture", b"initWithURL:name:")
2499
2506
  objc.registerNewKeywordsFromSelector(
2500
2507
  "MDLVertexAttribute", b"initWithName:format:offset:bufferIndex:"
@@ -2517,6 +2524,94 @@ objc.registerNewKeywordsFromSelector(
2517
2524
  objc.registerNewKeywordsFromSelector(
2518
2525
  "MDLVoxelArray", b"initWithData:boundingBox:voxelExtent:"
2519
2526
  )
2527
+
2528
+ objc.registerNewKeywords(
2529
+ "MDLMesh",
2530
+ ("dimensions", "segments", "geometryType", "inwardNormals", "allocator"),
2531
+ "newBoxWithDimensions_segments_geometryType_inwardNormals_allocator_",
2532
+ )
2533
+ objc.registerNewKeywords(
2534
+ "MDLMesh",
2535
+ (
2536
+ "height",
2537
+ "radii",
2538
+ "radialSegments",
2539
+ "verticalSegments",
2540
+ "hemisphereSegments",
2541
+ "geometryType",
2542
+ "inwardNormals",
2543
+ "allocator",
2544
+ ),
2545
+ "newCapsuleWithHeight_radii_radialSegments_verticalSegments_hemisphereSegments_geometryType_inwardNormals_allocator_",
2546
+ )
2547
+ objc.registerNewKeywords(
2548
+ "MDLMesh",
2549
+ (
2550
+ "height",
2551
+ "radii",
2552
+ "radialSegments",
2553
+ "verticalSegments",
2554
+ "geometryType",
2555
+ "inwardNormals",
2556
+ "allocator",
2557
+ ),
2558
+ "newCylinderWithHeight_radii_radialSegments_verticalSegments_geometryType_inwardNormals_allocator_",
2559
+ )
2560
+ objc.registerNewKeywords(
2561
+ "MDLMesh",
2562
+ (
2563
+ "radii",
2564
+ "radialSegments",
2565
+ "verticalSegments",
2566
+ "geometryType",
2567
+ "inwardNormals",
2568
+ "hemisphere",
2569
+ "allocator",
2570
+ ),
2571
+ "newEllipsoidWithRadii_radialSegments_verticalSegments_geometryType_inwardNormals_hemisphere_allocator_",
2572
+ )
2573
+ objc.registerNewKeywords(
2574
+ "MDLMesh",
2575
+ (
2576
+ "height",
2577
+ "radii",
2578
+ "radialSegments",
2579
+ "verticalSegments",
2580
+ "geometryType",
2581
+ "inwardNormals",
2582
+ "allocator",
2583
+ ),
2584
+ "newEllipticalConeWithHeight_radii_radialSegments_verticalSegments_geometryType_inwardNormals_allocator_",
2585
+ )
2586
+ objc.registerNewKeywords(
2587
+ "MDLMesh",
2588
+ ("radius", "inwardNormals", "allocator"),
2589
+ "newIcosahedronWithRadius_inwardNormals_allocator_",
2590
+ )
2591
+ objc.registerNewKeywords(
2592
+ "MDLMesh",
2593
+ ("radius", "inwardNormals", "geometryType", "allocator"),
2594
+ "newIcosahedronWithRadius_inwardNormals_geometryType_allocator_",
2595
+ )
2596
+ objc.registerNewKeywords(
2597
+ "MDLMesh",
2598
+ ("dimensions", "segments", "geometryType", "allocator"),
2599
+ "newPlaneWithDimensions_segments_geometryType_allocator_",
2600
+ )
2601
+ objc.registerNewKeywords(
2602
+ "MDLTexture",
2603
+ ("texture", "name", "dimensions"),
2604
+ "irradianceTextureCubeWithTexture_name_dimensions_",
2605
+ )
2606
+ objc.registerNewKeywords(
2607
+ "MDLTexture",
2608
+ ("texture", "name", "dimensions", "roughness"),
2609
+ "irradianceTextureCubeWithTexture_name_dimensions_roughness_",
2610
+ )
2611
+ objc.registerNewKeywords("MDLTexture", ("imagesNamed",), "textureCubeWithImagesNamed_")
2612
+ objc.registerNewKeywords(
2613
+ "MDLTexture", ("imagesNamed", "bundle"), "textureCubeWithImagesNamed_bundle_"
2614
+ )
2520
2615
  expressions = {}
2521
2616
 
2522
2617
  # END OF FILE
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyobjc-framework-ModelIO
3
- Version: 12.0
3
+ Version: 12.2
4
4
  Summary: Wrappers for the framework ModelIO 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-Quartz>=12.0
33
+ Requires-Dist: pyobjc-core>=12.2
34
+ Requires-Dist: pyobjc-framework-Cocoa>=12.2
35
+ Requires-Dist: pyobjc-framework-Quartz>=12.2
37
36
  Dynamic: author
38
37
  Dynamic: author-email
39
38
  Dynamic: classifier
@@ -38,5 +38,5 @@ PyObjCTest/test_mdlvoxelarray.py
38
38
  PyObjCTest/test_modelio.py
39
39
  metadata/ModelIO.fwinfo
40
40
  metadata/metadata.ini
41
- metadata/raw/arm64-26.0.fwinfo
42
- metadata/raw/x86_64-26.0.fwinfo
41
+ metadata/raw/arm64-26.5.fwinfo
42
+ 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-Quartz>=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-ModelIO
3
- Version: 12.0
3
+ Version: 12.2
4
4
  Summary: Wrappers for the framework ModelIO 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-Quartz>=12.0
33
+ Requires-Dist: pyobjc-core>=12.2
34
+ Requires-Dist: pyobjc-framework-Cocoa>=12.2
35
+ Requires-Dist: pyobjc-framework-Quartz>=12.2
37
36
  Dynamic: author
38
37
  Dynamic: author-email
39
38
  Dynamic: classifier