pyobjc-framework-SoundAnalysis 11.0__tar.gz → 12.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.
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/Lib/SoundAnalysis/_metadata.py +11 -6
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/Lib/pyobjc_framework_SoundAnalysis.egg-info/PKG-INFO +19 -6
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/Lib/pyobjc_framework_SoundAnalysis.egg-info/SOURCES.txt +3 -8
- pyobjc_framework_soundanalysis-12.0/Lib/pyobjc_framework_SoundAnalysis.egg-info/pyobjc-build-info.txt +3 -0
- pyobjc_framework_soundanalysis-12.0/Lib/pyobjc_framework_SoundAnalysis.egg-info/requires.txt +2 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/License.txt +1 -1
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/PKG-INFO +19 -6
- pyobjc_framework_soundanalysis-12.0/PyObjCTest/__init__.py +1 -0
- pyobjc_framework_soundanalysis-12.0/PyObjCTest/test_snclassificationresult.py +12 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/PyObjCTest/test_snclassifysoundrequest.py +10 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/PyObjCTest/test_sntimedurationconstraint.py +12 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/metadata/SoundAnalysis.fwinfo +50 -0
- pyobjc_framework_soundanalysis-11.0/metadata/raw/arm64-15.0.fwinfo → pyobjc_framework_soundanalysis-12.0/metadata/raw/arm64-26.0.fwinfo +10 -10
- pyobjc_framework_soundanalysis-11.0/metadata/raw/x86_64-15.0.fwinfo → pyobjc_framework_soundanalysis-12.0/metadata/raw/x86_64-26.0.fwinfo +10 -10
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/pyobjc_setup.py +9 -41
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/setup.py +1 -1
- pyobjc_framework_soundanalysis-11.0/Lib/pyobjc_framework_SoundAnalysis.egg-info/pyobjc-build-info.txt +0 -3
- pyobjc_framework_soundanalysis-11.0/Lib/pyobjc_framework_SoundAnalysis.egg-info/requires.txt +0 -2
- pyobjc_framework_soundanalysis-11.0/PyObjCTest/__init__.py +0 -1
- pyobjc_framework_soundanalysis-11.0/metadata/raw/arm64-12.3.fwinfo +0 -834
- pyobjc_framework_soundanalysis-11.0/metadata/raw/arm64-14.5.fwinfo +0 -839
- pyobjc_framework_soundanalysis-11.0/metadata/raw/x86_64-10.15.fwinfo +0 -574
- pyobjc_framework_soundanalysis-11.0/metadata/raw/x86_64-10.16.fwinfo +0 -591
- pyobjc_framework_soundanalysis-11.0/metadata/raw/x86_64-12.3.fwinfo +0 -834
- pyobjc_framework_soundanalysis-11.0/metadata/raw/x86_64-14.5.fwinfo +0 -839
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/Lib/SoundAnalysis/__init__.py +0 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/Lib/pyobjc_framework_SoundAnalysis.egg-info/dependency_links.txt +0 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/Lib/pyobjc_framework_SoundAnalysis.egg-info/not-zip-safe +0 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/Lib/pyobjc_framework_SoundAnalysis.egg-info/top_level.txt +0 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/MANIFEST.in +0 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/PyObjCTest/test_snanalyzer.py +0 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/PyObjCTest/test_snerror.py +0 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/PyObjCTest/test_snrequest.py +0 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/PyObjCTest/test_snresult.py +0 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/PyObjCTest/test_sntypes.py +0 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/PyObjCTest/test_soundanalysis.py +0 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/metadata/metadata.ini +0 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/pyproject.toml +0 -0
- {pyobjc_framework_soundanalysis-11.0 → pyobjc_framework_soundanalysis-12.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# This file is generated by objective.metadata
|
|
2
2
|
#
|
|
3
|
-
# Last update:
|
|
3
|
+
# Last update: Thu Jul 24 14:26:56 2025
|
|
4
4
|
#
|
|
5
5
|
# flake8: noqa
|
|
6
6
|
|
|
@@ -95,10 +95,15 @@ try:
|
|
|
95
95
|
b"addRequest:withObserver:error:",
|
|
96
96
|
{"retval": {"type": b"Z"}, "arguments": {4: {"type_modifier": b"o"}}},
|
|
97
97
|
)
|
|
98
|
+
r(
|
|
99
|
+
b"SNClassificationResult",
|
|
100
|
+
b"analyzeWithCompletionHandler:",
|
|
101
|
+
{"retval": {"type": "{_CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"}},
|
|
102
|
+
)
|
|
98
103
|
r(
|
|
99
104
|
b"SNClassificationResult",
|
|
100
105
|
b"timeRange",
|
|
101
|
-
{"retval": {"type":
|
|
106
|
+
{"retval": {"type": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"}},
|
|
102
107
|
)
|
|
103
108
|
r(
|
|
104
109
|
b"SNClassifySoundRequest",
|
|
@@ -113,22 +118,22 @@ try:
|
|
|
113
118
|
r(
|
|
114
119
|
b"SNClassifySoundRequest",
|
|
115
120
|
b"setWindowDuration:",
|
|
116
|
-
{"arguments": {2: {"type":
|
|
121
|
+
{"arguments": {2: {"type": "{CMTime=qiIq}"}}},
|
|
117
122
|
)
|
|
118
123
|
r(
|
|
119
124
|
b"SNClassifySoundRequest",
|
|
120
125
|
b"windowDuration",
|
|
121
|
-
{"retval": {"type":
|
|
126
|
+
{"retval": {"type": "{CMTime=qiIq}"}},
|
|
122
127
|
)
|
|
123
128
|
r(
|
|
124
129
|
b"SNTimeDurationConstraint",
|
|
125
130
|
b"durationRange",
|
|
126
|
-
{"retval": {"type":
|
|
131
|
+
{"retval": {"type": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"}},
|
|
127
132
|
)
|
|
128
133
|
r(
|
|
129
134
|
b"SNTimeDurationConstraint",
|
|
130
135
|
b"initWithDurationRange:",
|
|
131
|
-
{"arguments": {2: {"type":
|
|
136
|
+
{"arguments": {2: {"type": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"}}},
|
|
132
137
|
)
|
|
133
138
|
finally:
|
|
134
139
|
objc._updatingMetadata(False)
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: pyobjc-framework-SoundAnalysis
|
|
3
|
-
Version:
|
|
3
|
+
Version: 12.0
|
|
4
4
|
Summary: Wrappers for the framework SoundAnalysis on macOS
|
|
5
5
|
Home-page: https://github.com/ronaldoussoren/pyobjc
|
|
6
6
|
Author: Ronald Oussoren
|
|
7
7
|
Author-email: pyobjc-dev@lists.sourceforge.net
|
|
8
|
-
License: MIT
|
|
8
|
+
License: MIT
|
|
9
9
|
Keywords: PyObjC,SoundAnalysis
|
|
10
10
|
Platform: MacOS X (>=10.15)
|
|
11
11
|
Classifier: Development Status :: 5 - Production/Stable
|
|
12
12
|
Classifier: Environment :: Console
|
|
13
13
|
Classifier: Environment :: MacOS X :: Cocoa
|
|
14
14
|
Classifier: Intended Audience :: Developers
|
|
15
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
16
15
|
Classifier: Natural Language :: English
|
|
17
16
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
18
17
|
Classifier: Programming Language :: Python
|
|
@@ -24,14 +23,28 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.12
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.13
|
|
26
25
|
Classifier: Programming Language :: Python :: 3.14
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
27
27
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
28
|
+
Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
|
|
28
29
|
Classifier: Programming Language :: Objective C
|
|
29
30
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
30
31
|
Classifier: Topic :: Software Development :: User Interfaces
|
|
31
32
|
Requires-Python: >=3.9
|
|
32
33
|
Description-Content-Type: text/x-rst; charset=UTF-8
|
|
33
|
-
Requires-Dist: pyobjc-core>=
|
|
34
|
-
Requires-Dist: pyobjc-framework-Cocoa>=
|
|
34
|
+
Requires-Dist: pyobjc-core>=12.0
|
|
35
|
+
Requires-Dist: pyobjc-framework-Cocoa>=12.0
|
|
36
|
+
Dynamic: author
|
|
37
|
+
Dynamic: author-email
|
|
38
|
+
Dynamic: classifier
|
|
39
|
+
Dynamic: description
|
|
40
|
+
Dynamic: description-content-type
|
|
41
|
+
Dynamic: home-page
|
|
42
|
+
Dynamic: keywords
|
|
43
|
+
Dynamic: license
|
|
44
|
+
Dynamic: platform
|
|
45
|
+
Dynamic: requires-dist
|
|
46
|
+
Dynamic: requires-python
|
|
47
|
+
Dynamic: summary
|
|
35
48
|
Project-URL: Documentation, https://pyobjc.readthedocs.io/en/latest/
|
|
36
49
|
Project-URL: Issue tracker, https://github.com/ronaldoussoren/pyobjc/issues
|
|
37
50
|
Project-URL: Repository, https://github.com/ronaldoussoren/pyobjc
|
|
@@ -14,6 +14,7 @@ Lib/pyobjc_framework_SoundAnalysis.egg-info/requires.txt
|
|
|
14
14
|
Lib/pyobjc_framework_SoundAnalysis.egg-info/top_level.txt
|
|
15
15
|
PyObjCTest/__init__.py
|
|
16
16
|
PyObjCTest/test_snanalyzer.py
|
|
17
|
+
PyObjCTest/test_snclassificationresult.py
|
|
17
18
|
PyObjCTest/test_snclassifysoundrequest.py
|
|
18
19
|
PyObjCTest/test_snerror.py
|
|
19
20
|
PyObjCTest/test_snrequest.py
|
|
@@ -23,11 +24,5 @@ PyObjCTest/test_sntypes.py
|
|
|
23
24
|
PyObjCTest/test_soundanalysis.py
|
|
24
25
|
metadata/SoundAnalysis.fwinfo
|
|
25
26
|
metadata/metadata.ini
|
|
26
|
-
metadata/raw/arm64-
|
|
27
|
-
metadata/raw/
|
|
28
|
-
metadata/raw/arm64-15.0.fwinfo
|
|
29
|
-
metadata/raw/x86_64-10.15.fwinfo
|
|
30
|
-
metadata/raw/x86_64-10.16.fwinfo
|
|
31
|
-
metadata/raw/x86_64-12.3.fwinfo
|
|
32
|
-
metadata/raw/x86_64-14.5.fwinfo
|
|
33
|
-
metadata/raw/x86_64-15.0.fwinfo
|
|
27
|
+
metadata/raw/arm64-26.0.fwinfo
|
|
28
|
+
metadata/raw/x86_64-26.0.fwinfo
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
(This is the MIT license, note that libffi-src is a separate product with its own license)
|
|
2
2
|
|
|
3
3
|
Copyright 2002, 2003 - Bill Bumgarner, Ronald Oussoren, Steve Majewski, Lele Gaifax, et.al.
|
|
4
|
-
Copyright 2003-
|
|
4
|
+
Copyright 2003-2025 - Ronald Oussoren
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
7
7
|
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: pyobjc-framework-SoundAnalysis
|
|
3
|
-
Version:
|
|
3
|
+
Version: 12.0
|
|
4
4
|
Summary: Wrappers for the framework SoundAnalysis on macOS
|
|
5
5
|
Home-page: https://github.com/ronaldoussoren/pyobjc
|
|
6
6
|
Author: Ronald Oussoren
|
|
7
7
|
Author-email: pyobjc-dev@lists.sourceforge.net
|
|
8
|
-
License: MIT
|
|
8
|
+
License: MIT
|
|
9
9
|
Keywords: PyObjC,SoundAnalysis
|
|
10
10
|
Platform: MacOS X (>=10.15)
|
|
11
11
|
Classifier: Development Status :: 5 - Production/Stable
|
|
12
12
|
Classifier: Environment :: Console
|
|
13
13
|
Classifier: Environment :: MacOS X :: Cocoa
|
|
14
14
|
Classifier: Intended Audience :: Developers
|
|
15
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
16
15
|
Classifier: Natural Language :: English
|
|
17
16
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
18
17
|
Classifier: Programming Language :: Python
|
|
@@ -24,14 +23,28 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.12
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.13
|
|
26
25
|
Classifier: Programming Language :: Python :: 3.14
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
27
27
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
28
|
+
Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
|
|
28
29
|
Classifier: Programming Language :: Objective C
|
|
29
30
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
30
31
|
Classifier: Topic :: Software Development :: User Interfaces
|
|
31
32
|
Requires-Python: >=3.9
|
|
32
33
|
Description-Content-Type: text/x-rst; charset=UTF-8
|
|
33
|
-
Requires-Dist: pyobjc-core>=
|
|
34
|
-
Requires-Dist: pyobjc-framework-Cocoa>=
|
|
34
|
+
Requires-Dist: pyobjc-core>=12.0
|
|
35
|
+
Requires-Dist: pyobjc-framework-Cocoa>=12.0
|
|
36
|
+
Dynamic: author
|
|
37
|
+
Dynamic: author-email
|
|
38
|
+
Dynamic: classifier
|
|
39
|
+
Dynamic: description
|
|
40
|
+
Dynamic: description-content-type
|
|
41
|
+
Dynamic: home-page
|
|
42
|
+
Dynamic: keywords
|
|
43
|
+
Dynamic: license
|
|
44
|
+
Dynamic: platform
|
|
45
|
+
Dynamic: requires-dist
|
|
46
|
+
Dynamic: requires-python
|
|
47
|
+
Dynamic: summary
|
|
35
48
|
|
|
36
49
|
|
|
37
50
|
Wrappers for the "SoundAnalysis" framework on macOS.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Test suite"""
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import SoundAnalysis
|
|
2
|
+
import CoreMedia
|
|
3
|
+
from PyObjCTools.TestSupport import TestCase, min_os_level
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class TestSNAnalyzer(TestCase):
|
|
7
|
+
@min_os_level("10.15")
|
|
8
|
+
def test_methods10_15(self):
|
|
9
|
+
self.assertResultHasType(
|
|
10
|
+
SoundAnalysis.SNClassificationResult.timeRange,
|
|
11
|
+
CoreMedia.CMTimeRange.__typestr__,
|
|
12
|
+
)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import SoundAnalysis
|
|
2
|
+
import CoreMedia
|
|
2
3
|
from PyObjCTools.TestSupport import TestCase, min_os_level
|
|
3
4
|
|
|
4
5
|
|
|
@@ -8,6 +9,15 @@ class TestSNClassifySoundRequest(TestCase):
|
|
|
8
9
|
self.assertArgIsOut(
|
|
9
10
|
SoundAnalysis.SNClassifySoundRequest.initWithMLModel_error_, 1
|
|
10
11
|
)
|
|
12
|
+
self.assertResultHasType(
|
|
13
|
+
SoundAnalysis.SNClassifySoundRequest.windowDuration,
|
|
14
|
+
CoreMedia.CMTime.__typestr__,
|
|
15
|
+
)
|
|
16
|
+
self.assertArgHasType(
|
|
17
|
+
SoundAnalysis.SNClassifySoundRequest.setWindowDuration_,
|
|
18
|
+
0,
|
|
19
|
+
CoreMedia.CMTime.__typestr__,
|
|
20
|
+
)
|
|
11
21
|
|
|
12
22
|
@min_os_level("12.0")
|
|
13
23
|
def test_methods12_0(self):
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import SoundAnalysis
|
|
2
|
+
import CoreMedia
|
|
2
3
|
from PyObjCTools.TestSupport import TestCase
|
|
3
4
|
|
|
4
5
|
|
|
@@ -9,3 +10,14 @@ class TestSNTimeDurationConstraint(TestCase):
|
|
|
9
10
|
def test_constants(self):
|
|
10
11
|
self.assertEqual(SoundAnalysis.SNTimeDurationConstraintTypeEnumerated, 1)
|
|
11
12
|
self.assertEqual(SoundAnalysis.SNTimeDurationConstraintTypeRange, 2)
|
|
13
|
+
|
|
14
|
+
def test_methods(self):
|
|
15
|
+
self.assertResultHasType(
|
|
16
|
+
SoundAnalysis.SNTimeDurationConstraint.durationRange,
|
|
17
|
+
CoreMedia.CMTimeRange.__typestr__,
|
|
18
|
+
)
|
|
19
|
+
self.assertArgHasType(
|
|
20
|
+
SoundAnalysis.SNTimeDurationConstraint.initWithDurationRange_,
|
|
21
|
+
0,
|
|
22
|
+
CoreMedia.CMTimeRange.__typestr__,
|
|
23
|
+
)
|
|
@@ -6,6 +6,42 @@
|
|
|
6
6
|
"SNClassifierIdentifier": { "type": "@", "type_name": "NSString" }
|
|
7
7
|
},
|
|
8
8
|
"classes": {
|
|
9
|
+
"SNTimeDurationConstraint": {
|
|
10
|
+
"methods": [
|
|
11
|
+
{
|
|
12
|
+
"retval": {
|
|
13
|
+
"type_override": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"
|
|
14
|
+
},
|
|
15
|
+
"class_method": false,
|
|
16
|
+
"selector": "durationRange"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"args": {
|
|
20
|
+
"0": { "type_override": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}" }
|
|
21
|
+
},
|
|
22
|
+
"class_method": false,
|
|
23
|
+
"selector": "initWithDurationRange:"
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"SNClassificationResult": {
|
|
28
|
+
"methods": [
|
|
29
|
+
{
|
|
30
|
+
"retval": {
|
|
31
|
+
"type_override": "{_CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"
|
|
32
|
+
},
|
|
33
|
+
"class_method": false,
|
|
34
|
+
"selector": "analyzeWithCompletionHandler:"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"retval": {
|
|
38
|
+
"type_override": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}"
|
|
39
|
+
},
|
|
40
|
+
"class_method": false,
|
|
41
|
+
"selector": "timeRange"
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
},
|
|
9
45
|
"SNAudioFileAnalyzer": {
|
|
10
46
|
"methods": [
|
|
11
47
|
{
|
|
@@ -58,6 +94,20 @@
|
|
|
58
94
|
},
|
|
59
95
|
"class_method": false,
|
|
60
96
|
"selector": "initWithMLModel:error:"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"args": {
|
|
100
|
+
"0": { "type_override": "{CMTime=qiIq}" }
|
|
101
|
+
},
|
|
102
|
+
"class_method": false,
|
|
103
|
+
"selector": "setWindowDuration:"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"retval": {
|
|
107
|
+
"type_override": "{CMTime=qiIq}"
|
|
108
|
+
},
|
|
109
|
+
"class_method": false,
|
|
110
|
+
"selector": "windowDuration"
|
|
61
111
|
}
|
|
62
112
|
]
|
|
63
113
|
}
|
|
@@ -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:
|
|
4
|
+
// Last update: Thu Jul 24 14:26:48 2025
|
|
5
5
|
{
|
|
6
6
|
"arch": "arm64",
|
|
7
7
|
"definitions": {
|
|
@@ -378,7 +378,7 @@
|
|
|
378
378
|
"class_method": false,
|
|
379
379
|
"retval": {
|
|
380
380
|
"typestr": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}",
|
|
381
|
-
"typestr_special":
|
|
381
|
+
"typestr_special": true
|
|
382
382
|
},
|
|
383
383
|
"selector": "timeRange",
|
|
384
384
|
"visibility": "public"
|
|
@@ -401,7 +401,7 @@
|
|
|
401
401
|
],
|
|
402
402
|
"name": "timeRange",
|
|
403
403
|
"typestr": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}",
|
|
404
|
-
"typestr_special":
|
|
404
|
+
"typestr_special": true
|
|
405
405
|
}
|
|
406
406
|
],
|
|
407
407
|
"protocols": [
|
|
@@ -502,7 +502,7 @@
|
|
|
502
502
|
"class_method": false,
|
|
503
503
|
"retval": {
|
|
504
504
|
"typestr": "{CMTime=qiIq}",
|
|
505
|
-
"typestr_special":
|
|
505
|
+
"typestr_special": true
|
|
506
506
|
},
|
|
507
507
|
"selector": "windowDuration",
|
|
508
508
|
"visibility": "public"
|
|
@@ -511,7 +511,7 @@
|
|
|
511
511
|
"args": [
|
|
512
512
|
{
|
|
513
513
|
"typestr": "{CMTime=qiIq}",
|
|
514
|
-
"typestr_special":
|
|
514
|
+
"typestr_special": true
|
|
515
515
|
}
|
|
516
516
|
],
|
|
517
517
|
"class_method": false,
|
|
@@ -561,7 +561,7 @@
|
|
|
561
561
|
],
|
|
562
562
|
"name": "windowDuration",
|
|
563
563
|
"typestr": "{CMTime=qiIq}",
|
|
564
|
-
"typestr_special":
|
|
564
|
+
"typestr_special": true
|
|
565
565
|
},
|
|
566
566
|
{
|
|
567
567
|
"attributes": [
|
|
@@ -609,7 +609,7 @@
|
|
|
609
609
|
"args": [
|
|
610
610
|
{
|
|
611
611
|
"typestr": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}",
|
|
612
|
-
"typestr_special":
|
|
612
|
+
"typestr_special": true
|
|
613
613
|
}
|
|
614
614
|
],
|
|
615
615
|
"class_method": false,
|
|
@@ -665,7 +665,7 @@
|
|
|
665
665
|
"class_method": false,
|
|
666
666
|
"retval": {
|
|
667
667
|
"typestr": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}",
|
|
668
|
-
"typestr_special":
|
|
668
|
+
"typestr_special": true
|
|
669
669
|
},
|
|
670
670
|
"selector": "durationRange",
|
|
671
671
|
"visibility": "public"
|
|
@@ -698,7 +698,7 @@
|
|
|
698
698
|
],
|
|
699
699
|
"name": "durationRange",
|
|
700
700
|
"typestr": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}",
|
|
701
|
-
"typestr_special":
|
|
701
|
+
"typestr_special": true
|
|
702
702
|
}
|
|
703
703
|
],
|
|
704
704
|
"protocols": [],
|
|
@@ -835,5 +835,5 @@
|
|
|
835
835
|
"SNTypes.h"
|
|
836
836
|
],
|
|
837
837
|
"release": "10.16",
|
|
838
|
-
"sdk": "/Users/ronald/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
|
|
838
|
+
"sdk": "/Users/ronald/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk"
|
|
839
839
|
}
|
|
@@ -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:
|
|
4
|
+
// Last update: Thu Jul 24 14:26:46 2025
|
|
5
5
|
{
|
|
6
6
|
"arch": "x86_64",
|
|
7
7
|
"definitions": {
|
|
@@ -378,7 +378,7 @@
|
|
|
378
378
|
"class_method": false,
|
|
379
379
|
"retval": {
|
|
380
380
|
"typestr": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}",
|
|
381
|
-
"typestr_special":
|
|
381
|
+
"typestr_special": true
|
|
382
382
|
},
|
|
383
383
|
"selector": "timeRange",
|
|
384
384
|
"visibility": "public"
|
|
@@ -401,7 +401,7 @@
|
|
|
401
401
|
],
|
|
402
402
|
"name": "timeRange",
|
|
403
403
|
"typestr": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}",
|
|
404
|
-
"typestr_special":
|
|
404
|
+
"typestr_special": true
|
|
405
405
|
}
|
|
406
406
|
],
|
|
407
407
|
"protocols": [
|
|
@@ -502,7 +502,7 @@
|
|
|
502
502
|
"class_method": false,
|
|
503
503
|
"retval": {
|
|
504
504
|
"typestr": "{CMTime=qiIq}",
|
|
505
|
-
"typestr_special":
|
|
505
|
+
"typestr_special": true
|
|
506
506
|
},
|
|
507
507
|
"selector": "windowDuration",
|
|
508
508
|
"visibility": "public"
|
|
@@ -511,7 +511,7 @@
|
|
|
511
511
|
"args": [
|
|
512
512
|
{
|
|
513
513
|
"typestr": "{CMTime=qiIq}",
|
|
514
|
-
"typestr_special":
|
|
514
|
+
"typestr_special": true
|
|
515
515
|
}
|
|
516
516
|
],
|
|
517
517
|
"class_method": false,
|
|
@@ -561,7 +561,7 @@
|
|
|
561
561
|
],
|
|
562
562
|
"name": "windowDuration",
|
|
563
563
|
"typestr": "{CMTime=qiIq}",
|
|
564
|
-
"typestr_special":
|
|
564
|
+
"typestr_special": true
|
|
565
565
|
},
|
|
566
566
|
{
|
|
567
567
|
"attributes": [
|
|
@@ -609,7 +609,7 @@
|
|
|
609
609
|
"args": [
|
|
610
610
|
{
|
|
611
611
|
"typestr": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}",
|
|
612
|
-
"typestr_special":
|
|
612
|
+
"typestr_special": true
|
|
613
613
|
}
|
|
614
614
|
],
|
|
615
615
|
"class_method": false,
|
|
@@ -665,7 +665,7 @@
|
|
|
665
665
|
"class_method": false,
|
|
666
666
|
"retval": {
|
|
667
667
|
"typestr": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}",
|
|
668
|
-
"typestr_special":
|
|
668
|
+
"typestr_special": true
|
|
669
669
|
},
|
|
670
670
|
"selector": "durationRange",
|
|
671
671
|
"visibility": "public"
|
|
@@ -698,7 +698,7 @@
|
|
|
698
698
|
],
|
|
699
699
|
"name": "durationRange",
|
|
700
700
|
"typestr": "{CMTimeRange={CMTime=qiIq}{CMTime=qiIq}}",
|
|
701
|
-
"typestr_special":
|
|
701
|
+
"typestr_special": true
|
|
702
702
|
}
|
|
703
703
|
],
|
|
704
704
|
"protocols": [],
|
|
@@ -835,5 +835,5 @@
|
|
|
835
835
|
"SNTypes.h"
|
|
836
836
|
],
|
|
837
837
|
"release": "10.16",
|
|
838
|
-
"sdk": "/Users/ronald/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
|
|
838
|
+
"sdk": "/Users/ronald/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk"
|
|
839
839
|
}
|
|
@@ -11,12 +11,11 @@ To change this file:
|
|
|
11
11
|
|
|
12
12
|
__all__ = ("setup", "Extension", "Command")
|
|
13
13
|
|
|
14
|
+
import importlib
|
|
14
15
|
import os
|
|
15
|
-
import pkg_resources
|
|
16
16
|
import plistlib
|
|
17
17
|
import re
|
|
18
18
|
import shlex
|
|
19
|
-
import shutil
|
|
20
19
|
import subprocess
|
|
21
20
|
import sys
|
|
22
21
|
import tempfile
|
|
@@ -138,10 +137,6 @@ class oc_test(Command):
|
|
|
138
137
|
self.verbosity = int(self.verbosity)
|
|
139
138
|
|
|
140
139
|
def cleanup_environment(self):
|
|
141
|
-
from pkg_resources import add_activation_listener
|
|
142
|
-
|
|
143
|
-
add_activation_listener(lambda dist: dist.activate())
|
|
144
|
-
|
|
145
140
|
ei_cmd = self.get_finalized_command("egg_info")
|
|
146
141
|
egg_name = ei_cmd.egg_name.replace("-", "_")
|
|
147
142
|
|
|
@@ -155,12 +150,9 @@ class oc_test(Command):
|
|
|
155
150
|
log.info(f"removing installed {dirname!r} from sys.path before testing")
|
|
156
151
|
sys.path.remove(dirname)
|
|
157
152
|
|
|
158
|
-
|
|
153
|
+
importlib.invalidate_caches()
|
|
159
154
|
|
|
160
155
|
def add_project_to_sys_path(self):
|
|
161
|
-
from pkg_resources import normalize_path, add_activation_listener
|
|
162
|
-
from pkg_resources import working_set, require
|
|
163
|
-
|
|
164
156
|
self.reinitialize_command("egg_info")
|
|
165
157
|
self.run_command("egg_info")
|
|
166
158
|
self.reinitialize_command("build_ext", inplace=1)
|
|
@@ -173,20 +165,16 @@ class oc_test(Command):
|
|
|
173
165
|
del sys.modules["PyObjCTools"]
|
|
174
166
|
|
|
175
167
|
ei_cmd = self.get_finalized_command("egg_info")
|
|
176
|
-
sys.path.insert(0,
|
|
168
|
+
sys.path.insert(0, os.path.abspath(ei_cmd.egg_base))
|
|
177
169
|
sys.path.insert(1, os.path.dirname(__file__))
|
|
178
170
|
|
|
179
|
-
|
|
180
|
-
working_set.__init__()
|
|
181
|
-
require(f"{ei_cmd.egg_name}=={ei_cmd.egg_version}")
|
|
171
|
+
importlib.invalidate_caches()
|
|
182
172
|
|
|
183
173
|
def remove_from_sys_path(self):
|
|
184
|
-
from pkg_resources import working_set
|
|
185
|
-
|
|
186
174
|
sys.path[:] = self.__old_path
|
|
187
175
|
sys.modules.clear()
|
|
188
176
|
sys.modules.update(self.__old_modules)
|
|
189
|
-
|
|
177
|
+
importlib.invalidate_caches()
|
|
190
178
|
|
|
191
179
|
def run(self):
|
|
192
180
|
self.cleanup_environment()
|
|
@@ -235,7 +223,6 @@ Development Status :: 5 - Production/Stable
|
|
|
235
223
|
Environment :: Console
|
|
236
224
|
Environment :: MacOS X :: Cocoa
|
|
237
225
|
Intended Audience :: Developers
|
|
238
|
-
License :: OSI Approved :: MIT License
|
|
239
226
|
Natural Language :: English
|
|
240
227
|
Operating System :: MacOS :: MacOS X
|
|
241
228
|
Programming Language :: Python
|
|
@@ -247,7 +234,9 @@ Programming Language :: Python :: 3.11
|
|
|
247
234
|
Programming Language :: Python :: 3.12
|
|
248
235
|
Programming Language :: Python :: 3.13
|
|
249
236
|
Programming Language :: Python :: 3.14
|
|
237
|
+
Programming Language :: Python :: 3.15
|
|
250
238
|
Programming Language :: Python :: Implementation :: CPython
|
|
239
|
+
Programming Language :: Python :: Free Threading :: 2 - Beta
|
|
251
240
|
Programming Language :: Objective C
|
|
252
241
|
Topic :: Software Development :: Libraries :: Python Modules
|
|
253
242
|
Topic :: Software Development :: User Interfaces
|
|
@@ -450,28 +439,7 @@ class pyobjc_build_ext(build_ext.build_ext):
|
|
|
450
439
|
# in 2.3 and later the headers are in the egg,
|
|
451
440
|
# before that we ship a copy.
|
|
452
441
|
if os.path.exists("Modules") and not os.path.isfile("Modules/pyobjc-api.h"):
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
include_root = os.path.join(self.build_temp, "pyobjc-include")
|
|
456
|
-
if os.path.exists(include_root):
|
|
457
|
-
shutil.rmtree(include_root)
|
|
458
|
-
|
|
459
|
-
os.makedirs(include_root)
|
|
460
|
-
if dist.has_metadata("include"):
|
|
461
|
-
for fn in dist.metadata_listdir("include"):
|
|
462
|
-
data = dist.get_metadata(f"include/{fn}")
|
|
463
|
-
fp = open(os.path.join(include_root, fn), "w")
|
|
464
|
-
try:
|
|
465
|
-
fp.write(data)
|
|
466
|
-
finally:
|
|
467
|
-
fp.close()
|
|
468
|
-
|
|
469
|
-
else:
|
|
470
|
-
raise SystemExit("pyobjc-core egg-info does not include header files")
|
|
471
|
-
|
|
472
|
-
for e in self.extensions:
|
|
473
|
-
if include_root not in e.include_dirs:
|
|
474
|
-
e.include_dirs.append(include_root)
|
|
442
|
+
raise DistutilsError("pyobjc-api.h not included")
|
|
475
443
|
|
|
476
444
|
# Run the actual build
|
|
477
445
|
build_ext.build_ext.run(self)
|
|
@@ -708,7 +676,7 @@ def setup(
|
|
|
708
676
|
dependency_links=[],
|
|
709
677
|
package_data={"": ["*.bridgesupport"]},
|
|
710
678
|
zip_safe=False,
|
|
711
|
-
license="MIT
|
|
679
|
+
license="MIT",
|
|
712
680
|
classifiers=CLASSIFIERS,
|
|
713
681
|
python_requires=">=3.9",
|
|
714
682
|
keywords=["PyObjC"] + [p for p in k["packages"] if p not in ("PyObjCTools",)],
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
""" Test suite """
|