runwayml 3.10.2__tar.gz → 3.10.3__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.
- runwayml-3.10.3/.release-please-manifest.json +3 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/CHANGELOG.md +8 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/PKG-INFO +1 -1
- {runwayml-3.10.2 → runwayml-3.10.3}/pyproject.toml +1 -1
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_types.py +35 -1
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_utils/__init__.py +1 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_utils/_typing.py +5 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_version.py +1 -1
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/utils.py +9 -1
- runwayml-3.10.2/.release-please-manifest.json +0 -3
- {runwayml-3.10.2 → runwayml-3.10.3}/.gitignore +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/CONTRIBUTING.md +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/LICENSE +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/README.md +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/SECURITY.md +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/api.md +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/bin/check-release-environment +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/bin/publish-pypi +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/examples/.keep +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/examples/generate_image.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/mypy.ini +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/noxfile.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/release-please-config.json +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/requirements-dev.lock +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/requirements.lock +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/__init__.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_base_client.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_client.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_compat.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_constants.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_exceptions.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_files.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_models.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_qs.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_resource.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_response.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_streaming.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_utils/_logs.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_utils/_proxy.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_utils/_reflection.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_utils/_resources_proxy.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_utils/_streams.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_utils/_sync.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_utils/_transform.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/_utils/_utils.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/lib/.keep +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/lib/polling.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/py.typed +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/resources/__init__.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/resources/character_performance.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/resources/image_to_video.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/resources/organization.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/resources/tasks.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/resources/text_to_image.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/resources/video_to_video.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/resources/video_upscale.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/__init__.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/character_performance_create_params.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/character_performance_create_response.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/image_to_video_create_params.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/image_to_video_create_response.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/organization_retrieve_response.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/organization_retrieve_usage_params.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/organization_retrieve_usage_response.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/task_retrieve_response.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/text_to_image_create_params.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/text_to_image_create_response.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/video_to_video_create_params.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/video_to_video_create_response.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/video_upscale_create_params.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/video_upscale_create_response.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/__init__.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/api_resources/__init__.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/api_resources/test_character_performance.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/api_resources/test_image_to_video.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/api_resources/test_organization.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/api_resources/test_tasks.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/api_resources/test_text_to_image.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/api_resources/test_video_to_video.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/api_resources/test_video_upscale.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/conftest.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/sample_file.txt +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/test_client.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/test_deepcopy.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/test_extract_files.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/test_files.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/test_models.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/test_qs.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/test_required_args.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/test_response.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/test_streaming.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/test_transform.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/test_utils/test_proxy.py +0 -0
- {runwayml-3.10.2 → runwayml-3.10.3}/tests/test_utils/test_typing.py +0 -0
@@ -1,5 +1,13 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 3.10.3 (2025-08-30)
|
4
|
+
|
5
|
+
Full Changelog: [v3.10.2...v3.10.3](https://github.com/runwayml/sdk-python/compare/v3.10.2...v3.10.3)
|
6
|
+
|
7
|
+
### Chores
|
8
|
+
|
9
|
+
* **internal:** add Sequence related utils ([520aeec](https://github.com/runwayml/sdk-python/commit/520aeecbeaf7f2891066ae4d7c880f7aa27d0522))
|
10
|
+
|
3
11
|
## 3.10.2 (2025-08-27)
|
4
12
|
|
5
13
|
Full Changelog: [v3.10.1...v3.10.2](https://github.com/runwayml/sdk-python/compare/v3.10.1...v3.10.2)
|
@@ -13,10 +13,21 @@ from typing import (
|
|
13
13
|
Mapping,
|
14
14
|
TypeVar,
|
15
15
|
Callable,
|
16
|
+
Iterator,
|
16
17
|
Optional,
|
17
18
|
Sequence,
|
18
19
|
)
|
19
|
-
from typing_extensions import
|
20
|
+
from typing_extensions import (
|
21
|
+
Set,
|
22
|
+
Literal,
|
23
|
+
Protocol,
|
24
|
+
TypeAlias,
|
25
|
+
TypedDict,
|
26
|
+
SupportsIndex,
|
27
|
+
overload,
|
28
|
+
override,
|
29
|
+
runtime_checkable,
|
30
|
+
)
|
20
31
|
|
21
32
|
import httpx
|
22
33
|
import pydantic
|
@@ -217,3 +228,26 @@ class _GenericAlias(Protocol):
|
|
217
228
|
class HttpxSendArgs(TypedDict, total=False):
|
218
229
|
auth: httpx.Auth
|
219
230
|
follow_redirects: bool
|
231
|
+
|
232
|
+
|
233
|
+
_T_co = TypeVar("_T_co", covariant=True)
|
234
|
+
|
235
|
+
|
236
|
+
if TYPE_CHECKING:
|
237
|
+
# This works because str.__contains__ does not accept object (either in typeshed or at runtime)
|
238
|
+
# https://github.com/hauntsaninja/useful_types/blob/5e9710f3875107d068e7679fd7fec9cfab0eff3b/useful_types/__init__.py#L285
|
239
|
+
class SequenceNotStr(Protocol[_T_co]):
|
240
|
+
@overload
|
241
|
+
def __getitem__(self, index: SupportsIndex, /) -> _T_co: ...
|
242
|
+
@overload
|
243
|
+
def __getitem__(self, index: slice, /) -> Sequence[_T_co]: ...
|
244
|
+
def __contains__(self, value: object, /) -> bool: ...
|
245
|
+
def __len__(self) -> int: ...
|
246
|
+
def __iter__(self) -> Iterator[_T_co]: ...
|
247
|
+
def index(self, value: Any, start: int = 0, stop: int = ..., /) -> int: ...
|
248
|
+
def count(self, value: Any, /) -> int: ...
|
249
|
+
def __reversed__(self) -> Iterator[_T_co]: ...
|
250
|
+
else:
|
251
|
+
# just point this to a normal `Sequence` at runtime to avoid having to special case
|
252
|
+
# deserializing our custom sequence type
|
253
|
+
SequenceNotStr = Sequence
|
@@ -38,6 +38,7 @@ from ._typing import (
|
|
38
38
|
extract_type_arg as extract_type_arg,
|
39
39
|
is_iterable_type as is_iterable_type,
|
40
40
|
is_required_type as is_required_type,
|
41
|
+
is_sequence_type as is_sequence_type,
|
41
42
|
is_annotated_type as is_annotated_type,
|
42
43
|
is_type_alias_type as is_type_alias_type,
|
43
44
|
strip_annotated_type as strip_annotated_type,
|
@@ -26,6 +26,11 @@ def is_list_type(typ: type) -> bool:
|
|
26
26
|
return (get_origin(typ) or typ) == list
|
27
27
|
|
28
28
|
|
29
|
+
def is_sequence_type(typ: type) -> bool:
|
30
|
+
origin = get_origin(typ) or typ
|
31
|
+
return origin == typing_extensions.Sequence or origin == typing.Sequence or origin == _c_abc.Sequence
|
32
|
+
|
33
|
+
|
29
34
|
def is_iterable_type(typ: type) -> bool:
|
30
35
|
"""If the given type is `typing.Iterable[T]`"""
|
31
36
|
origin = get_origin(typ) or typ
|
@@ -4,7 +4,7 @@ import os
|
|
4
4
|
import inspect
|
5
5
|
import traceback
|
6
6
|
import contextlib
|
7
|
-
from typing import Any, TypeVar, Iterator, cast
|
7
|
+
from typing import Any, TypeVar, Iterator, Sequence, cast
|
8
8
|
from datetime import date, datetime
|
9
9
|
from typing_extensions import Literal, get_args, get_origin, assert_type
|
10
10
|
|
@@ -15,6 +15,7 @@ from runwayml._utils import (
|
|
15
15
|
is_list_type,
|
16
16
|
is_union_type,
|
17
17
|
extract_type_arg,
|
18
|
+
is_sequence_type,
|
18
19
|
is_annotated_type,
|
19
20
|
is_type_alias_type,
|
20
21
|
)
|
@@ -71,6 +72,13 @@ def assert_matches_type(
|
|
71
72
|
if is_list_type(type_):
|
72
73
|
return _assert_list_type(type_, value)
|
73
74
|
|
75
|
+
if is_sequence_type(type_):
|
76
|
+
assert isinstance(value, Sequence)
|
77
|
+
inner_type = get_args(type_)[0]
|
78
|
+
for entry in value: # type: ignore
|
79
|
+
assert_type(inner_type, entry) # type: ignore
|
80
|
+
return
|
81
|
+
|
74
82
|
if origin == str:
|
75
83
|
assert isinstance(value, str)
|
76
84
|
elif origin == int:
|
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
|
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
|
{runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/character_performance_create_params.py
RENAMED
File without changes
|
{runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/character_performance_create_response.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/organization_retrieve_usage_params.py
RENAMED
File without changes
|
{runwayml-3.10.2 → runwayml-3.10.3}/src/runwayml/types/organization_retrieve_usage_response.py
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|