sora-sdk 2025.1.0.dev9__tar.gz → 2025.1.0.dev11__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.
Potentially problematic release.
This version of sora-sdk might be problematic. Click here for more details.
- {sora_sdk-2025.1.0.dev9/src/sora_sdk.egg-info → sora_sdk-2025.1.0.dev11}/PKG-INFO +6 -3
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/README.md +5 -1
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/pyproject.toml +2 -3
- sora_sdk-2025.1.0.dev9/src/sora_sdk/sora_sdk_ext.cpython-310-darwin.so → sora_sdk-2025.1.0.dev11/src/sora_sdk/sora_sdk_ext.cpython-311-darwin.so +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11/src/sora_sdk.egg-info}/PKG-INFO +6 -3
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/src/sora_sdk.egg-info/SOURCES.txt +1 -1
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_authz_simulcast.py +12 -6
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/LICENSE +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/MANIFEST.in +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/NOTICE.md +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/buildbase.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/pypath.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/run.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/setup.cfg +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/setup.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/src/sora_sdk/__init__.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/src/sora_sdk/py.typed +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/src/sora_sdk/sora_sdk_ext.pyi +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/src/sora_sdk.egg-info/dependency_links.txt +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/src/sora_sdk.egg-info/top_level.txt +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_apple_video_toolbox.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_authz.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_ca_cert.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_capability.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_codec_preference.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_degradation_preference.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_encoded_transform.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_intel_vpl.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_messaging.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_messaging_header.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_nvidia_video_codec_sdk.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_openh264.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_opus.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_re_offer_re_answer_sdp.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_sendonly_recvonly.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_signaling.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_signaling_message.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_signaling_notify.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_simulcast.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_sora_disconnect.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_type_disconnect.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_type_switched.py +0 -0
- {sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/tests/test_vad.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: sora_sdk
|
|
3
|
-
Version: 2025.1.0.
|
|
3
|
+
Version: 2025.1.0.dev11
|
|
4
4
|
Summary: WebRTC SFU Sora Python SDK
|
|
5
5
|
Home-page: https://github.com/shiguredo/sora-python-sdk
|
|
6
6
|
Author-email: "Shiguredo Inc." <contact+pypi@shiguredo.jp>
|
|
@@ -187,7 +187,6 @@ Project-URL: Documentation, https://sora-python-sdk.shiguredo.jp
|
|
|
187
187
|
Project-URL: Discord, https://discord.gg/shiguredo
|
|
188
188
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
189
189
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
190
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
191
190
|
Classifier: Programming Language :: Python :: 3.11
|
|
192
191
|
Classifier: Programming Language :: Python :: 3.12
|
|
193
192
|
Classifier: Programming Language :: Python :: 3.13
|
|
@@ -290,7 +289,11 @@ PyPI 経由ではインストールできません。
|
|
|
290
289
|
## システム条件
|
|
291
290
|
|
|
292
291
|
- WebRTC SFU Sora 2024.1.0 以降
|
|
293
|
-
- Python 3.
|
|
292
|
+
- Python 3.11 以上
|
|
293
|
+
|
|
294
|
+
## Python サポートポリシー
|
|
295
|
+
|
|
296
|
+
直近の 3 バージョンの Python をサポートします。
|
|
294
297
|
|
|
295
298
|
## 対応プラットフォーム
|
|
296
299
|
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "sora_sdk"
|
|
3
3
|
authors = [{ name = "Shiguredo Inc.", email = "contact+pypi@shiguredo.jp" }]
|
|
4
|
-
version = "2025.1.0.
|
|
4
|
+
version = "2025.1.0.dev11"
|
|
5
5
|
description = "WebRTC SFU Sora Python SDK"
|
|
6
6
|
readme = "README.md"
|
|
7
7
|
license = { file = "LICENSE" }
|
|
8
8
|
classifiers = [
|
|
9
9
|
"License :: OSI Approved :: Apache Software License",
|
|
10
10
|
"Programming Language :: Python :: 3 :: Only",
|
|
11
|
-
"Programming Language :: Python :: 3.10",
|
|
12
11
|
"Programming Language :: Python :: 3.11",
|
|
13
12
|
"Programming Language :: Python :: 3.12",
|
|
14
13
|
"Programming Language :: Python :: 3.13",
|
|
@@ -57,7 +56,7 @@ build-backend = "setuptools.build_meta"
|
|
|
57
56
|
[tool.uv]
|
|
58
57
|
python-preference = "only-managed"
|
|
59
58
|
dev-dependencies = [
|
|
60
|
-
"nanobind~=2.
|
|
59
|
+
"nanobind~=2.5.0",
|
|
61
60
|
"setuptools~=75.7",
|
|
62
61
|
"build~=1.2.2.post1",
|
|
63
62
|
"wheel~=0.45.1",
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: sora_sdk
|
|
3
|
-
Version: 2025.1.0.
|
|
3
|
+
Version: 2025.1.0.dev11
|
|
4
4
|
Summary: WebRTC SFU Sora Python SDK
|
|
5
5
|
Home-page: https://github.com/shiguredo/sora-python-sdk
|
|
6
6
|
Author-email: "Shiguredo Inc." <contact+pypi@shiguredo.jp>
|
|
@@ -187,7 +187,6 @@ Project-URL: Documentation, https://sora-python-sdk.shiguredo.jp
|
|
|
187
187
|
Project-URL: Discord, https://discord.gg/shiguredo
|
|
188
188
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
189
189
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
190
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
191
190
|
Classifier: Programming Language :: Python :: 3.11
|
|
192
191
|
Classifier: Programming Language :: Python :: 3.12
|
|
193
192
|
Classifier: Programming Language :: Python :: 3.13
|
|
@@ -290,7 +289,11 @@ PyPI 経由ではインストールできません。
|
|
|
290
289
|
## システム条件
|
|
291
290
|
|
|
292
291
|
- WebRTC SFU Sora 2024.1.0 以降
|
|
293
|
-
- Python 3.
|
|
292
|
+
- Python 3.11 以上
|
|
293
|
+
|
|
294
|
+
## Python サポートポリシー
|
|
295
|
+
|
|
296
|
+
直近の 3 バージョンの Python をサポートします。
|
|
294
297
|
|
|
295
298
|
## 対応プラットフォーム
|
|
296
299
|
|
|
@@ -9,7 +9,7 @@ run.py
|
|
|
9
9
|
setup.py
|
|
10
10
|
src/sora_sdk/__init__.py
|
|
11
11
|
src/sora_sdk/py.typed
|
|
12
|
-
src/sora_sdk/sora_sdk_ext.cpython-
|
|
12
|
+
src/sora_sdk/sora_sdk_ext.cpython-311-darwin.so
|
|
13
13
|
src/sora_sdk/sora_sdk_ext.pyi
|
|
14
14
|
src/sora_sdk.egg-info/PKG-INFO
|
|
15
15
|
src/sora_sdk.egg-info/SOURCES.txt
|
|
@@ -84,14 +84,13 @@ def test_simulcast_authz_scale_resolution_to(
|
|
|
84
84
|
)
|
|
85
85
|
sendonly.connect(fake_video=True)
|
|
86
86
|
|
|
87
|
-
time.sleep(
|
|
87
|
+
time.sleep(10)
|
|
88
88
|
|
|
89
89
|
# "type": "offer" の SDP で Simulcast があるかどうか
|
|
90
90
|
assert sendonly.offer_message is not None
|
|
91
91
|
assert sendonly.offer_message["sdp"] is not None
|
|
92
92
|
assert video_codec_type in sendonly.offer_message["sdp"]
|
|
93
93
|
assert "a=simulcast:recv r0;r1;r2" in sendonly.offer_message["sdp"]
|
|
94
|
-
sendonly_stats = sendonly.get_stats()
|
|
95
94
|
|
|
96
95
|
assert "encodings" in sendonly.offer_message
|
|
97
96
|
assert len(sendonly.offer_message["encodings"]) == 3
|
|
@@ -121,22 +120,25 @@ def test_simulcast_authz_scale_resolution_to(
|
|
|
121
120
|
sendonly.offer_message["encodings"][0]["scalabilityMode"]
|
|
122
121
|
== simulcast_encodings[0]["scalabilityMode"]
|
|
123
122
|
)
|
|
123
|
+
|
|
124
124
|
assert (
|
|
125
125
|
sendonly.offer_message["encodings"][1]["scalabilityMode"]
|
|
126
126
|
== simulcast_encodings[1]["scalabilityMode"]
|
|
127
127
|
)
|
|
128
|
+
|
|
128
129
|
assert (
|
|
129
130
|
sendonly.offer_message["encodings"][2]["scalabilityMode"]
|
|
130
131
|
== simulcast_encodings[2]["scalabilityMode"]
|
|
131
132
|
)
|
|
132
133
|
|
|
133
|
-
sendonly.disconnect()
|
|
134
|
-
|
|
135
134
|
# "type": "answer" の SDP で Simulcast があるかどうか
|
|
136
135
|
assert sendonly.answer_message is not None
|
|
137
136
|
assert "sdp" in sendonly.answer_message
|
|
138
137
|
assert "a=simulcast:send r0;r1;r2" in sendonly.answer_message["sdp"]
|
|
139
138
|
|
|
139
|
+
sendonly_stats = sendonly.get_stats()
|
|
140
|
+
sendonly.disconnect()
|
|
141
|
+
|
|
140
142
|
# codec が無かったら StopIteration 例外が上がる
|
|
141
143
|
sendonly_codec_stats = next(s for s in sendonly_stats if s.get("type") == "codec")
|
|
142
144
|
assert sendonly_codec_stats["mimeType"] == f"video/{video_codec_type}"
|
|
@@ -170,7 +172,11 @@ def test_simulcast_authz_scale_resolution_to(
|
|
|
170
172
|
assert s["frameHeight"] == 352
|
|
171
173
|
|
|
172
174
|
# FIXME:これは libwebrtc 側の挙動を制御できず L1T2 になってしまう
|
|
173
|
-
|
|
175
|
+
scalability_mode = None
|
|
176
|
+
# FIXME: scalabilityMode がない場合がある
|
|
177
|
+
if "scalabilityMode" in s:
|
|
178
|
+
scalability_mode = s["scalabilityMode"]
|
|
179
|
+
assert s["scalabilityMode"] == "L1T2"
|
|
174
180
|
|
|
175
181
|
# targetBitrate が指定したビットレートの 90% 以上、100% 以下に収まることを確認
|
|
176
182
|
expected_bitrate = video_bit_rate * 1000
|
|
@@ -178,7 +184,7 @@ def test_simulcast_authz_scale_resolution_to(
|
|
|
178
184
|
s["rid"],
|
|
179
185
|
video_codec_type,
|
|
180
186
|
s["encoderImplementation"],
|
|
181
|
-
|
|
187
|
+
scalability_mode,
|
|
182
188
|
expected_bitrate,
|
|
183
189
|
s["targetBitrate"],
|
|
184
190
|
s["frameWidth"],
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sora_sdk-2025.1.0.dev9 → sora_sdk-2025.1.0.dev11}/src/sora_sdk.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|