runwayml 3.10.1__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.
Files changed (94) hide show
  1. runwayml-3.10.3/.release-please-manifest.json +3 -0
  2. {runwayml-3.10.1 → runwayml-3.10.3}/CHANGELOG.md +24 -0
  3. {runwayml-3.10.1 → runwayml-3.10.3}/PKG-INFO +1 -1
  4. {runwayml-3.10.1 → runwayml-3.10.3}/pyproject.toml +2 -1
  5. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_models.py +1 -1
  6. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_types.py +35 -1
  7. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_utils/__init__.py +1 -0
  8. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_utils/_typing.py +5 -0
  9. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_version.py +1 -1
  10. {runwayml-3.10.1 → runwayml-3.10.3}/tests/utils.py +9 -1
  11. runwayml-3.10.1/.release-please-manifest.json +0 -3
  12. {runwayml-3.10.1 → runwayml-3.10.3}/.gitignore +0 -0
  13. {runwayml-3.10.1 → runwayml-3.10.3}/CONTRIBUTING.md +0 -0
  14. {runwayml-3.10.1 → runwayml-3.10.3}/LICENSE +0 -0
  15. {runwayml-3.10.1 → runwayml-3.10.3}/README.md +0 -0
  16. {runwayml-3.10.1 → runwayml-3.10.3}/SECURITY.md +0 -0
  17. {runwayml-3.10.1 → runwayml-3.10.3}/api.md +0 -0
  18. {runwayml-3.10.1 → runwayml-3.10.3}/bin/check-release-environment +0 -0
  19. {runwayml-3.10.1 → runwayml-3.10.3}/bin/publish-pypi +0 -0
  20. {runwayml-3.10.1 → runwayml-3.10.3}/examples/.keep +0 -0
  21. {runwayml-3.10.1 → runwayml-3.10.3}/examples/generate_image.py +0 -0
  22. {runwayml-3.10.1 → runwayml-3.10.3}/mypy.ini +0 -0
  23. {runwayml-3.10.1 → runwayml-3.10.3}/noxfile.py +0 -0
  24. {runwayml-3.10.1 → runwayml-3.10.3}/release-please-config.json +0 -0
  25. {runwayml-3.10.1 → runwayml-3.10.3}/requirements-dev.lock +0 -0
  26. {runwayml-3.10.1 → runwayml-3.10.3}/requirements.lock +0 -0
  27. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/__init__.py +0 -0
  28. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_base_client.py +0 -0
  29. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_client.py +0 -0
  30. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_compat.py +0 -0
  31. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_constants.py +0 -0
  32. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_exceptions.py +0 -0
  33. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_files.py +0 -0
  34. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_qs.py +0 -0
  35. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_resource.py +0 -0
  36. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_response.py +0 -0
  37. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_streaming.py +0 -0
  38. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_utils/_logs.py +0 -0
  39. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_utils/_proxy.py +0 -0
  40. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_utils/_reflection.py +0 -0
  41. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_utils/_resources_proxy.py +0 -0
  42. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_utils/_streams.py +0 -0
  43. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_utils/_sync.py +0 -0
  44. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_utils/_transform.py +0 -0
  45. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/_utils/_utils.py +0 -0
  46. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/lib/.keep +0 -0
  47. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/lib/polling.py +0 -0
  48. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/py.typed +0 -0
  49. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/resources/__init__.py +0 -0
  50. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/resources/character_performance.py +0 -0
  51. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/resources/image_to_video.py +0 -0
  52. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/resources/organization.py +0 -0
  53. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/resources/tasks.py +0 -0
  54. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/resources/text_to_image.py +0 -0
  55. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/resources/video_to_video.py +0 -0
  56. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/resources/video_upscale.py +0 -0
  57. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/__init__.py +0 -0
  58. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/character_performance_create_params.py +0 -0
  59. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/character_performance_create_response.py +0 -0
  60. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/image_to_video_create_params.py +0 -0
  61. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/image_to_video_create_response.py +0 -0
  62. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/organization_retrieve_response.py +0 -0
  63. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/organization_retrieve_usage_params.py +0 -0
  64. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/organization_retrieve_usage_response.py +0 -0
  65. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/task_retrieve_response.py +0 -0
  66. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/text_to_image_create_params.py +0 -0
  67. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/text_to_image_create_response.py +0 -0
  68. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/video_to_video_create_params.py +0 -0
  69. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/video_to_video_create_response.py +0 -0
  70. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/video_upscale_create_params.py +0 -0
  71. {runwayml-3.10.1 → runwayml-3.10.3}/src/runwayml/types/video_upscale_create_response.py +0 -0
  72. {runwayml-3.10.1 → runwayml-3.10.3}/tests/__init__.py +0 -0
  73. {runwayml-3.10.1 → runwayml-3.10.3}/tests/api_resources/__init__.py +0 -0
  74. {runwayml-3.10.1 → runwayml-3.10.3}/tests/api_resources/test_character_performance.py +0 -0
  75. {runwayml-3.10.1 → runwayml-3.10.3}/tests/api_resources/test_image_to_video.py +0 -0
  76. {runwayml-3.10.1 → runwayml-3.10.3}/tests/api_resources/test_organization.py +0 -0
  77. {runwayml-3.10.1 → runwayml-3.10.3}/tests/api_resources/test_tasks.py +0 -0
  78. {runwayml-3.10.1 → runwayml-3.10.3}/tests/api_resources/test_text_to_image.py +0 -0
  79. {runwayml-3.10.1 → runwayml-3.10.3}/tests/api_resources/test_video_to_video.py +0 -0
  80. {runwayml-3.10.1 → runwayml-3.10.3}/tests/api_resources/test_video_upscale.py +0 -0
  81. {runwayml-3.10.1 → runwayml-3.10.3}/tests/conftest.py +0 -0
  82. {runwayml-3.10.1 → runwayml-3.10.3}/tests/sample_file.txt +0 -0
  83. {runwayml-3.10.1 → runwayml-3.10.3}/tests/test_client.py +0 -0
  84. {runwayml-3.10.1 → runwayml-3.10.3}/tests/test_deepcopy.py +0 -0
  85. {runwayml-3.10.1 → runwayml-3.10.3}/tests/test_extract_files.py +0 -0
  86. {runwayml-3.10.1 → runwayml-3.10.3}/tests/test_files.py +0 -0
  87. {runwayml-3.10.1 → runwayml-3.10.3}/tests/test_models.py +0 -0
  88. {runwayml-3.10.1 → runwayml-3.10.3}/tests/test_qs.py +0 -0
  89. {runwayml-3.10.1 → runwayml-3.10.3}/tests/test_required_args.py +0 -0
  90. {runwayml-3.10.1 → runwayml-3.10.3}/tests/test_response.py +0 -0
  91. {runwayml-3.10.1 → runwayml-3.10.3}/tests/test_streaming.py +0 -0
  92. {runwayml-3.10.1 → runwayml-3.10.3}/tests/test_transform.py +0 -0
  93. {runwayml-3.10.1 → runwayml-3.10.3}/tests/test_utils/test_proxy.py +0 -0
  94. {runwayml-3.10.1 → runwayml-3.10.3}/tests/test_utils/test_typing.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "3.10.3"
3
+ }
@@ -1,5 +1,29 @@
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
+
11
+ ## 3.10.2 (2025-08-27)
12
+
13
+ Full Changelog: [v3.10.1...v3.10.2](https://github.com/runwayml/sdk-python/compare/v3.10.1...v3.10.2)
14
+
15
+ ### Bug Fixes
16
+
17
+ * avoid newer type syntax ([54dd3a0](https://github.com/runwayml/sdk-python/commit/54dd3a0e975beb87e853491386bdfd2d8b9f6712))
18
+
19
+
20
+ ### Chores
21
+
22
+ * **internal:** change ci workflow machines ([986c007](https://github.com/runwayml/sdk-python/commit/986c0078bab1590f6004e79705db86b52413edb7))
23
+ * **internal:** update comment in script ([48cad7b](https://github.com/runwayml/sdk-python/commit/48cad7be7285418786048d40d806be8670054df1))
24
+ * **internal:** update pyright exclude list ([03a8696](https://github.com/runwayml/sdk-python/commit/03a8696ec24f5cb806640b4e09869416a88b609f))
25
+ * update github action ([2fd7626](https://github.com/runwayml/sdk-python/commit/2fd7626b638775e84a69adad080c1099b7eef2c7))
26
+
3
27
  ## 3.10.1 (2025-08-09)
4
28
 
5
29
  Full Changelog: [v3.10.0...v3.10.1](https://github.com/runwayml/sdk-python/compare/v3.10.0...v3.10.1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runwayml
3
- Version: 3.10.1
3
+ Version: 3.10.3
4
4
  Summary: The official Python library for the runwayml API
5
5
  Project-URL: Homepage, https://github.com/runwayml/sdk-python
6
6
  Project-URL: Repository, https://github.com/runwayml/sdk-python
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runwayml"
3
- version = "3.10.1"
3
+ version = "3.10.3"
4
4
  description = "The official Python library for the runwayml API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -148,6 +148,7 @@ exclude = [
148
148
  "_dev",
149
149
  ".venv",
150
150
  ".nox",
151
+ ".git",
151
152
  ]
152
153
 
153
154
  reportImplicitOverride = true
@@ -304,7 +304,7 @@ class BaseModel(pydantic.BaseModel):
304
304
  exclude_none=exclude_none,
305
305
  )
306
306
 
307
- return cast(dict[str, Any], json_safe(dumped)) if mode == "json" else dumped
307
+ return cast("dict[str, Any]", json_safe(dumped)) if mode == "json" else dumped
308
308
 
309
309
  @override
310
310
  def model_dump_json(
@@ -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 Set, Literal, Protocol, TypeAlias, TypedDict, override, runtime_checkable
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
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "runwayml"
4
- __version__ = "3.10.1" # x-release-please-version
4
+ __version__ = "3.10.3" # x-release-please-version
@@ -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:
@@ -1,3 +0,0 @@
1
- {
2
- ".": "3.10.1"
3
- }
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