runwayml 2.3.2__tar.gz → 2.3.4__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-2.3.4/.release-please-manifest.json +3 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/CHANGELOG.md +21 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/PKG-INFO +2 -2
- {runwayml-2.3.2 → runwayml-2.3.4}/README.md +1 -1
- {runwayml-2.3.2 → runwayml-2.3.4}/SECURITY.md +2 -2
- {runwayml-2.3.2 → runwayml-2.3.4}/pyproject.toml +1 -1
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_base_client.py +1 -96
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_client.py +2 -2
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_version.py +1 -1
- runwayml-2.3.2/.release-please-manifest.json +0 -3
- {runwayml-2.3.2 → runwayml-2.3.4}/.gitignore +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/CONTRIBUTING.md +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/LICENSE +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/api.md +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/bin/check-release-environment +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/bin/publish-pypi +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/examples/.keep +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/mypy.ini +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/noxfile.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/release-please-config.json +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/requirements-dev.lock +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/requirements.lock +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/__init__.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_compat.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_constants.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_exceptions.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_files.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_models.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_qs.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_resource.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_response.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_streaming.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_types.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_utils/__init__.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_utils/_logs.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_utils/_proxy.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_utils/_reflection.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_utils/_streams.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_utils/_sync.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_utils/_transform.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_utils/_typing.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/_utils/_utils.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/lib/.keep +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/py.typed +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/resources/__init__.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/resources/image_to_video.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/resources/tasks.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/types/__init__.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/types/image_to_video_create_params.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/types/image_to_video_create_response.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/src/runwayml/types/task_retrieve_response.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/__init__.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/api_resources/__init__.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/api_resources/test_image_to_video.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/api_resources/test_tasks.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/conftest.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/sample_file.txt +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/test_client.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/test_deepcopy.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/test_extract_files.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/test_files.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/test_models.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/test_qs.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/test_required_args.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/test_response.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/test_streaming.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/test_transform.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/test_utils/test_proxy.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/test_utils/test_typing.py +0 -0
- {runwayml-2.3.2 → runwayml-2.3.4}/tests/utils.py +0 -0
@@ -1,5 +1,26 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 2.3.4 (2025-03-04)
|
4
|
+
|
5
|
+
Full Changelog: [v2.3.3...v2.3.4](https://github.com/runwayml/sdk-python/compare/v2.3.3...v2.3.4)
|
6
|
+
|
7
|
+
### Chores
|
8
|
+
|
9
|
+
* **internal:** remove unused http client options forwarding ([#111](https://github.com/runwayml/sdk-python/issues/111)) ([c0fa5a9](https://github.com/runwayml/sdk-python/commit/c0fa5a92d45c82402c68556772d93d9b3f1c6de4))
|
10
|
+
|
11
|
+
## 2.3.3 (2025-02-28)
|
12
|
+
|
13
|
+
Full Changelog: [v2.3.2...v2.3.3](https://github.com/runwayml/sdk-python/compare/v2.3.2...v2.3.3)
|
14
|
+
|
15
|
+
### Chores
|
16
|
+
|
17
|
+
* **docs:** update client docstring ([#108](https://github.com/runwayml/sdk-python/issues/108)) ([3a6daf5](https://github.com/runwayml/sdk-python/commit/3a6daf52930e1875271ccacea66406081c9ac7b3))
|
18
|
+
|
19
|
+
|
20
|
+
### Documentation
|
21
|
+
|
22
|
+
* update URLs from stainlessapi.com to stainless.com ([#107](https://github.com/runwayml/sdk-python/issues/107)) ([efae113](https://github.com/runwayml/sdk-python/commit/efae1131f35849a3ff3d726a7fa80f96abb6f5d5))
|
23
|
+
|
3
24
|
## 2.3.2 (2025-02-26)
|
4
25
|
|
5
26
|
Full Changelog: [v2.3.1...v2.3.2](https://github.com/runwayml/sdk-python/compare/v2.3.1...v2.3.2)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: runwayml
|
3
|
-
Version: 2.3.
|
3
|
+
Version: 2.3.4
|
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
|
@@ -38,7 +38,7 @@ The RunwayML Python library provides convenient access to the RunwayML REST API
|
|
38
38
|
application. The library includes type definitions for all request params and response fields,
|
39
39
|
and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
|
40
40
|
|
41
|
-
It is generated with [Stainless](https://www.
|
41
|
+
It is generated with [Stainless](https://www.stainless.com/).
|
42
42
|
|
43
43
|
## Documentation
|
44
44
|
|
@@ -6,7 +6,7 @@ The RunwayML Python library provides convenient access to the RunwayML REST API
|
|
6
6
|
application. The library includes type definitions for all request params and response fields,
|
7
7
|
and offers both synchronous and asynchronous clients powered by [httpx](https://github.com/encode/httpx).
|
8
8
|
|
9
|
-
It is generated with [Stainless](https://www.
|
9
|
+
It is generated with [Stainless](https://www.stainless.com/).
|
10
10
|
|
11
11
|
## Documentation
|
12
12
|
|
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
## Reporting Security Issues
|
4
4
|
|
5
|
-
This SDK is generated by [Stainless Software Inc](http://
|
5
|
+
This SDK is generated by [Stainless Software Inc](http://stainless.com). Stainless takes security seriously, and encourages you to report any security vulnerability promptly so that appropriate action can be taken.
|
6
6
|
|
7
|
-
To report a security issue, please contact the Stainless team at security@
|
7
|
+
To report a security issue, please contact the Stainless team at security@stainless.com.
|
8
8
|
|
9
9
|
## Responsible Disclosure
|
10
10
|
|
@@ -9,7 +9,6 @@ import asyncio
|
|
9
9
|
import inspect
|
10
10
|
import logging
|
11
11
|
import platform
|
12
|
-
import warnings
|
13
12
|
import email.utils
|
14
13
|
from types import TracebackType
|
15
14
|
from random import random
|
@@ -36,7 +35,7 @@ import anyio
|
|
36
35
|
import httpx
|
37
36
|
import distro
|
38
37
|
import pydantic
|
39
|
-
from httpx import URL
|
38
|
+
from httpx import URL
|
40
39
|
from pydantic import PrivateAttr
|
41
40
|
|
42
41
|
from . import _exceptions
|
@@ -51,13 +50,10 @@ from ._types import (
|
|
51
50
|
Timeout,
|
52
51
|
NotGiven,
|
53
52
|
ResponseT,
|
54
|
-
Transport,
|
55
53
|
AnyMapping,
|
56
54
|
PostParser,
|
57
|
-
ProxiesTypes,
|
58
55
|
RequestFiles,
|
59
56
|
HttpxSendArgs,
|
60
|
-
AsyncTransport,
|
61
57
|
RequestOptions,
|
62
58
|
HttpxRequestFiles,
|
63
59
|
ModelBuilderProtocol,
|
@@ -337,9 +333,6 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
337
333
|
_base_url: URL
|
338
334
|
max_retries: int
|
339
335
|
timeout: Union[float, Timeout, None]
|
340
|
-
_limits: httpx.Limits
|
341
|
-
_proxies: ProxiesTypes | None
|
342
|
-
_transport: Transport | AsyncTransport | None
|
343
336
|
_strict_response_validation: bool
|
344
337
|
_idempotency_header: str | None
|
345
338
|
_default_stream_cls: type[_DefaultStreamT] | None = None
|
@@ -352,9 +345,6 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
352
345
|
_strict_response_validation: bool,
|
353
346
|
max_retries: int = DEFAULT_MAX_RETRIES,
|
354
347
|
timeout: float | Timeout | None = DEFAULT_TIMEOUT,
|
355
|
-
limits: httpx.Limits,
|
356
|
-
transport: Transport | AsyncTransport | None,
|
357
|
-
proxies: ProxiesTypes | None,
|
358
348
|
custom_headers: Mapping[str, str] | None = None,
|
359
349
|
custom_query: Mapping[str, object] | None = None,
|
360
350
|
) -> None:
|
@@ -362,9 +352,6 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
362
352
|
self._base_url = self._enforce_trailing_slash(URL(base_url))
|
363
353
|
self.max_retries = max_retries
|
364
354
|
self.timeout = timeout
|
365
|
-
self._limits = limits
|
366
|
-
self._proxies = proxies
|
367
|
-
self._transport = transport
|
368
355
|
self._custom_headers = custom_headers or {}
|
369
356
|
self._custom_query = custom_query or {}
|
370
357
|
self._strict_response_validation = _strict_response_validation
|
@@ -800,46 +787,11 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
|
|
800
787
|
base_url: str | URL,
|
801
788
|
max_retries: int = DEFAULT_MAX_RETRIES,
|
802
789
|
timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
|
803
|
-
transport: Transport | None = None,
|
804
|
-
proxies: ProxiesTypes | None = None,
|
805
|
-
limits: Limits | None = None,
|
806
790
|
http_client: httpx.Client | None = None,
|
807
791
|
custom_headers: Mapping[str, str] | None = None,
|
808
792
|
custom_query: Mapping[str, object] | None = None,
|
809
793
|
_strict_response_validation: bool,
|
810
794
|
) -> None:
|
811
|
-
kwargs: dict[str, Any] = {}
|
812
|
-
if limits is not None:
|
813
|
-
warnings.warn(
|
814
|
-
"The `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead",
|
815
|
-
category=DeprecationWarning,
|
816
|
-
stacklevel=3,
|
817
|
-
)
|
818
|
-
if http_client is not None:
|
819
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `connection_pool_limits`")
|
820
|
-
else:
|
821
|
-
limits = DEFAULT_CONNECTION_LIMITS
|
822
|
-
|
823
|
-
if transport is not None:
|
824
|
-
kwargs["transport"] = transport
|
825
|
-
warnings.warn(
|
826
|
-
"The `transport` argument is deprecated. The `http_client` argument should be passed instead",
|
827
|
-
category=DeprecationWarning,
|
828
|
-
stacklevel=3,
|
829
|
-
)
|
830
|
-
if http_client is not None:
|
831
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `transport`")
|
832
|
-
|
833
|
-
if proxies is not None:
|
834
|
-
kwargs["proxies"] = proxies
|
835
|
-
warnings.warn(
|
836
|
-
"The `proxies` argument is deprecated. The `http_client` argument should be passed instead",
|
837
|
-
category=DeprecationWarning,
|
838
|
-
stacklevel=3,
|
839
|
-
)
|
840
|
-
if http_client is not None:
|
841
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `proxies`")
|
842
|
-
|
843
795
|
if not is_given(timeout):
|
844
796
|
# if the user passed in a custom http client with a non-default
|
845
797
|
# timeout set then we use that timeout.
|
@@ -860,12 +812,9 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
|
|
860
812
|
|
861
813
|
super().__init__(
|
862
814
|
version=version,
|
863
|
-
limits=limits,
|
864
815
|
# cast to a valid type because mypy doesn't understand our type narrowing
|
865
816
|
timeout=cast(Timeout, timeout),
|
866
|
-
proxies=proxies,
|
867
817
|
base_url=base_url,
|
868
|
-
transport=transport,
|
869
818
|
max_retries=max_retries,
|
870
819
|
custom_query=custom_query,
|
871
820
|
custom_headers=custom_headers,
|
@@ -875,9 +824,6 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
|
|
875
824
|
base_url=base_url,
|
876
825
|
# cast to a valid type because mypy doesn't understand our type narrowing
|
877
826
|
timeout=cast(Timeout, timeout),
|
878
|
-
limits=limits,
|
879
|
-
follow_redirects=True,
|
880
|
-
**kwargs, # type: ignore
|
881
827
|
)
|
882
828
|
|
883
829
|
def is_closed(self) -> bool:
|
@@ -1372,45 +1318,10 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
|
|
1372
1318
|
_strict_response_validation: bool,
|
1373
1319
|
max_retries: int = DEFAULT_MAX_RETRIES,
|
1374
1320
|
timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
|
1375
|
-
transport: AsyncTransport | None = None,
|
1376
|
-
proxies: ProxiesTypes | None = None,
|
1377
|
-
limits: Limits | None = None,
|
1378
1321
|
http_client: httpx.AsyncClient | None = None,
|
1379
1322
|
custom_headers: Mapping[str, str] | None = None,
|
1380
1323
|
custom_query: Mapping[str, object] | None = None,
|
1381
1324
|
) -> None:
|
1382
|
-
kwargs: dict[str, Any] = {}
|
1383
|
-
if limits is not None:
|
1384
|
-
warnings.warn(
|
1385
|
-
"The `connection_pool_limits` argument is deprecated. The `http_client` argument should be passed instead",
|
1386
|
-
category=DeprecationWarning,
|
1387
|
-
stacklevel=3,
|
1388
|
-
)
|
1389
|
-
if http_client is not None:
|
1390
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `connection_pool_limits`")
|
1391
|
-
else:
|
1392
|
-
limits = DEFAULT_CONNECTION_LIMITS
|
1393
|
-
|
1394
|
-
if transport is not None:
|
1395
|
-
kwargs["transport"] = transport
|
1396
|
-
warnings.warn(
|
1397
|
-
"The `transport` argument is deprecated. The `http_client` argument should be passed instead",
|
1398
|
-
category=DeprecationWarning,
|
1399
|
-
stacklevel=3,
|
1400
|
-
)
|
1401
|
-
if http_client is not None:
|
1402
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `transport`")
|
1403
|
-
|
1404
|
-
if proxies is not None:
|
1405
|
-
kwargs["proxies"] = proxies
|
1406
|
-
warnings.warn(
|
1407
|
-
"The `proxies` argument is deprecated. The `http_client` argument should be passed instead",
|
1408
|
-
category=DeprecationWarning,
|
1409
|
-
stacklevel=3,
|
1410
|
-
)
|
1411
|
-
if http_client is not None:
|
1412
|
-
raise ValueError("The `http_client` argument is mutually exclusive with `proxies`")
|
1413
|
-
|
1414
1325
|
if not is_given(timeout):
|
1415
1326
|
# if the user passed in a custom http client with a non-default
|
1416
1327
|
# timeout set then we use that timeout.
|
@@ -1432,11 +1343,8 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
|
|
1432
1343
|
super().__init__(
|
1433
1344
|
version=version,
|
1434
1345
|
base_url=base_url,
|
1435
|
-
limits=limits,
|
1436
1346
|
# cast to a valid type because mypy doesn't understand our type narrowing
|
1437
1347
|
timeout=cast(Timeout, timeout),
|
1438
|
-
proxies=proxies,
|
1439
|
-
transport=transport,
|
1440
1348
|
max_retries=max_retries,
|
1441
1349
|
custom_query=custom_query,
|
1442
1350
|
custom_headers=custom_headers,
|
@@ -1446,9 +1354,6 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
|
|
1446
1354
|
base_url=base_url,
|
1447
1355
|
# cast to a valid type because mypy doesn't understand our type narrowing
|
1448
1356
|
timeout=cast(Timeout, timeout),
|
1449
|
-
limits=limits,
|
1450
|
-
follow_redirects=True,
|
1451
|
-
**kwargs, # type: ignore
|
1452
1357
|
)
|
1453
1358
|
|
1454
1359
|
def is_closed(self) -> bool:
|
@@ -79,7 +79,7 @@ class RunwayML(SyncAPIClient):
|
|
79
79
|
# part of our public interface in the future.
|
80
80
|
_strict_response_validation: bool = False,
|
81
81
|
) -> None:
|
82
|
-
"""Construct a new synchronous
|
82
|
+
"""Construct a new synchronous RunwayML client instance.
|
83
83
|
|
84
84
|
This automatically infers the `api_key` argument from the `RUNWAYML_API_SECRET` environment variable if it is not provided.
|
85
85
|
"""
|
@@ -258,7 +258,7 @@ class AsyncRunwayML(AsyncAPIClient):
|
|
258
258
|
# part of our public interface in the future.
|
259
259
|
_strict_response_validation: bool = False,
|
260
260
|
) -> None:
|
261
|
-
"""Construct a new async
|
261
|
+
"""Construct a new async AsyncRunwayML client instance.
|
262
262
|
|
263
263
|
This automatically infers the `api_key` argument from the `RUNWAYML_API_SECRET` environment variable if it is not provided.
|
264
264
|
"""
|
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
|
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
|