Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "5.1.0"
".": "5.2.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 160
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/droidrun/droidrun-cloud-d45f6eec4623ab6146f79fd62b69435949b99b7cdd0c89379363d2be3ed1ac7c.yml
openapi_spec_hash: 1f5262ae5849178b5dfd766537910ec5
configured_endpoints: 150
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/droidrun/droidrun-cloud-25fffba3f78da9bb7ed2f734f4b712bbacb7f07fff37c3f7903e1047b941bede.yml
openapi_spec_hash: ad96cd61fc43fc4840a84a93ec208842
config_hash: 0636636df2adbdea4b2e982ab5c858d4
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Changelog

## 5.2.0 (2026-06-29)

Full Changelog: [v5.1.0...v5.2.0](https://github.com/droidrun/mobilerun-sdk-python/compare/v5.1.0...v5.2.0)

### Features

* **api:** api update ([3945474](https://github.com/droidrun/mobilerun-sdk-python/commit/394547478c920f583e007fb733cda9e6c4dcc80c))
* **api:** api update ([8b87544](https://github.com/droidrun/mobilerun-sdk-python/commit/8b875445c5e1220f17702ec1cef0d38d960848d7))
* **api:** api update ([e6f7fac](https://github.com/droidrun/mobilerun-sdk-python/commit/e6f7facbcedbc95d47024b3b4d36851a4c292337))
* **api:** api update ([a27ba34](https://github.com/droidrun/mobilerun-sdk-python/commit/a27ba34af6d90312d190b13d5acff3ad92516e2c))
* **api:** api update ([949f7d6](https://github.com/droidrun/mobilerun-sdk-python/commit/949f7d6d7ca33f2a817a0b7a357a36246173a1ce))
* **api:** api update ([faaad66](https://github.com/droidrun/mobilerun-sdk-python/commit/faaad668d436ba097cc51ff38716d0f46effafb6))
* **api:** api update ([be4ca60](https://github.com/droidrun/mobilerun-sdk-python/commit/be4ca60c393e2a0a62a38ad3b60949e3301ad144))
* **api:** api update ([ee37ca6](https://github.com/droidrun/mobilerun-sdk-python/commit/ee37ca601d0b87118e80f4fe38fd1e8660ed3543))

## 5.1.0 (2026-06-23)

Full Changelog: [v5.0.0...v5.1.0](https://github.com/droidrun/mobilerun-sdk-python/compare/v5.0.0...v5.1.0)
Expand Down
47 changes: 3 additions & 44 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ Methods:
- <code title="delete /devices/{deviceId}/apps/{packageName}">client.devices.apps.<a href="./src/mobilerun_sdk/resources/devices/apps.py">delete</a>(package_name, \*, device_id) -> None</code>
- <code title="post /devices/{deviceId}/apps">client.devices.apps.<a href="./src/mobilerun_sdk/resources/devices/apps.py">install</a>(device_id, \*\*<a href="src/mobilerun_sdk/types/devices/app_install_params.py">params</a>) -> None</code>
- <code title="put /devices/{deviceId}/apps/{packageName}">client.devices.apps.<a href="./src/mobilerun_sdk/resources/devices/apps.py">start</a>(package_name, \*, device_id, \*\*<a href="src/mobilerun_sdk/types/devices/app_start_params.py">params</a>) -> None</code>
- <code title="patch /devices/{deviceId}/apps/{packageName}">client.devices.apps.<a href="./src/mobilerun_sdk/resources/devices/apps.py">stop</a>(package_name, \*, device_id) -> None</code>
- <code title="patch /devices/{deviceId}/apps/{packageName}">client.devices.apps.<a href="./src/mobilerun_sdk/resources/devices/apps.py">stop</a>(package_name, \*, device_id, \*\*<a href="src/mobilerun_sdk/types/devices/app_stop_params.py">params</a>) -> None</code>

## Esim

Expand Down Expand Up @@ -319,34 +319,6 @@ Methods:
- <code title="get /devices/{deviceId}/language">client.devices.language.<a href="./src/mobilerun_sdk/resources/devices/language.py">get</a>(device_id) -> <a href="./src/mobilerun_sdk/types/devices/language_get_response.py">LanguageGetResponse</a></code>
- <code title="post /devices/{deviceId}/language">client.devices.language.<a href="./src/mobilerun_sdk/resources/devices/language.py">set</a>(device_id, \*\*<a href="src/mobilerun_sdk/types/devices/language_set_params.py">params</a>) -> None</code>

# Hooks

Types:

```python
from mobilerun_sdk.types import (
HookRetrieveResponse,
HookUpdateResponse,
HookListResponse,
HookGetSampleDataResponse,
HookPerformResponse,
HookSubscribeResponse,
HookTestResponse,
HookUnsubscribeResponse,
)
```

Methods:

- <code title="get /hooks/{hook_id}">client.hooks.<a href="./src/mobilerun_sdk/resources/hooks.py">retrieve</a>(hook_id) -> <a href="./src/mobilerun_sdk/types/hook_retrieve_response.py">HookRetrieveResponse</a></code>
- <code title="post /hooks/{hook_id}/edit">client.hooks.<a href="./src/mobilerun_sdk/resources/hooks.py">update</a>(hook_id, \*\*<a href="src/mobilerun_sdk/types/hook_update_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/hook_update_response.py">HookUpdateResponse</a></code>
- <code title="get /hooks">client.hooks.<a href="./src/mobilerun_sdk/resources/hooks.py">list</a>(\*\*<a href="src/mobilerun_sdk/types/hook_list_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/hook_list_response.py">HookListResponse</a></code>
- <code title="get /hooks/sample">client.hooks.<a href="./src/mobilerun_sdk/resources/hooks.py">get_sample_data</a>() -> <a href="./src/mobilerun_sdk/types/hook_get_sample_data_response.py">HookGetSampleDataResponse</a></code>
- <code title="post /hooks/perform">client.hooks.<a href="./src/mobilerun_sdk/resources/hooks.py">perform</a>(\*\*<a href="src/mobilerun_sdk/types/hook_perform_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/hook_perform_response.py">HookPerformResponse</a></code>
- <code title="post /hooks/subscribe">client.hooks.<a href="./src/mobilerun_sdk/resources/hooks.py">subscribe</a>(\*\*<a href="src/mobilerun_sdk/types/hook_subscribe_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/hook_subscribe_response.py">HookSubscribeResponse</a></code>
- <code title="post /hooks/{hook_id}/test">client.hooks.<a href="./src/mobilerun_sdk/resources/hooks.py">test</a>(hook_id, \*\*<a href="src/mobilerun_sdk/types/hook_test_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/hook_test_response.py">HookTestResponse</a></code>
- <code title="post /hooks/{hook_id}/unsubscribe">client.hooks.<a href="./src/mobilerun_sdk/resources/hooks.py">unsubscribe</a>(hook_id) -> <a href="./src/mobilerun_sdk/types/hook_unsubscribe_response.py">HookUnsubscribeResponse</a></code>

# Models

Types:
Expand Down Expand Up @@ -662,21 +634,8 @@ from mobilerun_sdk.types.workflows import EventDryRunResponse, EventIngestRespon

Methods:

- <code title="post /events/dry-run">client.workflows.events.<a href="./src/mobilerun_sdk/resources/workflows/events/events.py">dry_run</a>(\*\*<a href="src/mobilerun_sdk/types/workflows/event_dry_run_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/workflows/event_dry_run_response.py">EventDryRunResponse</a></code>
- <code title="post /events/ingest">client.workflows.events.<a href="./src/mobilerun_sdk/resources/workflows/events/events.py">ingest</a>(\*\*<a href="src/mobilerun_sdk/types/workflows/event_ingest_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/workflows/event_ingest_response.py">EventIngestResponse</a></code>

### Catalog

Types:

```python
from mobilerun_sdk.types.workflows.events import CatalogListResponse, CatalogRegisterResponse
```

Methods:

- <code title="get /events/catalog">client.workflows.events.catalog.<a href="./src/mobilerun_sdk/resources/workflows/events/catalog.py">list</a>(\*\*<a href="src/mobilerun_sdk/types/workflows/events/catalog_list_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/workflows/events/catalog_list_response.py">CatalogListResponse</a></code>
- <code title="post /events/catalog/register">client.workflows.events.catalog.<a href="./src/mobilerun_sdk/resources/workflows/events/catalog.py">register</a>(\*\*<a href="src/mobilerun_sdk/types/workflows/events/catalog_register_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/workflows/events/catalog_register_response.py">CatalogRegisterResponse</a></code>
- <code title="post /events/dry-run">client.workflows.events.<a href="./src/mobilerun_sdk/resources/workflows/events.py">dry_run</a>(\*\*<a href="src/mobilerun_sdk/types/workflows/event_dry_run_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/workflows/event_dry_run_response.py">EventDryRunResponse</a></code>
- <code title="post /events/ingest">client.workflows.events.<a href="./src/mobilerun_sdk/resources/workflows/events.py">ingest</a>(\*\*<a href="src/mobilerun_sdk/types/workflows/event_ingest_params.py">params</a>) -> <a href="./src/mobilerun_sdk/types/workflows/event_ingest_response.py">EventIngestResponse</a></code>

## Executions

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "mobilerun-sdk"
version = "5.1.0"
version = "5.2.0"
description = "The official Python library for the mobilerun API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
62 changes: 0 additions & 62 deletions src/mobilerun_sdk/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@
if TYPE_CHECKING:
from .resources import (
apps,
hooks,
tasks,
models,
connect,
Expand All @@ -51,7 +50,6 @@
credentials,
)
from .resources.apps import AppsResource, AsyncAppsResource
from .resources.hooks import HooksResource, AsyncHooksResource
from .resources.models import ModelsResource, AsyncModelsResource
from .resources.proxies import ProxiesResource, AsyncProxiesResource
from .resources.carriers import CarriersResource, AsyncCarriersResource
Expand Down Expand Up @@ -137,21 +135,18 @@ def __init__(

@cached_property
def apps(self) -> AppsResource:
"""App Management"""
from .resources.apps import AppsResource

return AppsResource(self)

@cached_property
def carriers(self) -> CarriersResource:
"""Mobile Carriers"""
from .resources.carriers import CarriersResource

return CarriersResource(self)

@cached_property
def credentials(self) -> CredentialsResource:
"""Vault & Secrets"""
from .resources.credentials import CredentialsResource

return CredentialsResource(self)
Expand All @@ -162,12 +157,6 @@ def devices(self) -> DevicesResource:

return DevicesResource(self)

@cached_property
def hooks(self) -> HooksResource:
from .resources.hooks import HooksResource

return HooksResource(self)

@cached_property
def models(self) -> ModelsResource:
"""LLM Models"""
Expand All @@ -183,7 +172,6 @@ def profiles(self) -> ProfilesResource:

@cached_property
def proxies(self) -> ProxiesResource:
"""Network Proxies"""
from .resources.proxies import ProxiesResource

return ProxiesResource(self)
Expand Down Expand Up @@ -399,21 +387,18 @@ def __init__(

@cached_property
def apps(self) -> AsyncAppsResource:
"""App Management"""
from .resources.apps import AsyncAppsResource

return AsyncAppsResource(self)

@cached_property
def carriers(self) -> AsyncCarriersResource:
"""Mobile Carriers"""
from .resources.carriers import AsyncCarriersResource

return AsyncCarriersResource(self)

@cached_property
def credentials(self) -> AsyncCredentialsResource:
"""Vault & Secrets"""
from .resources.credentials import AsyncCredentialsResource

return AsyncCredentialsResource(self)
Expand All @@ -424,12 +409,6 @@ def devices(self) -> AsyncDevicesResource:

return AsyncDevicesResource(self)

@cached_property
def hooks(self) -> AsyncHooksResource:
from .resources.hooks import AsyncHooksResource

return AsyncHooksResource(self)

@cached_property
def models(self) -> AsyncModelsResource:
"""LLM Models"""
Expand All @@ -445,7 +424,6 @@ def profiles(self) -> AsyncProfilesResource:

@cached_property
def proxies(self) -> AsyncProxiesResource:
"""Network Proxies"""
from .resources.proxies import AsyncProxiesResource

return AsyncProxiesResource(self)
Expand Down Expand Up @@ -607,21 +585,18 @@ def __init__(self, client: Mobilerun) -> None:

@cached_property
def apps(self) -> apps.AppsResourceWithRawResponse:
"""App Management"""
from .resources.apps import AppsResourceWithRawResponse

return AppsResourceWithRawResponse(self._client.apps)

@cached_property
def carriers(self) -> carriers.CarriersResourceWithRawResponse:
"""Mobile Carriers"""
from .resources.carriers import CarriersResourceWithRawResponse

return CarriersResourceWithRawResponse(self._client.carriers)

@cached_property
def credentials(self) -> credentials.CredentialsResourceWithRawResponse:
"""Vault & Secrets"""
from .resources.credentials import CredentialsResourceWithRawResponse

return CredentialsResourceWithRawResponse(self._client.credentials)
Expand All @@ -632,12 +607,6 @@ def devices(self) -> devices.DevicesResourceWithRawResponse:

return DevicesResourceWithRawResponse(self._client.devices)

@cached_property
def hooks(self) -> hooks.HooksResourceWithRawResponse:
from .resources.hooks import HooksResourceWithRawResponse

return HooksResourceWithRawResponse(self._client.hooks)

@cached_property
def models(self) -> models.ModelsResourceWithRawResponse:
"""LLM Models"""
Expand All @@ -653,7 +622,6 @@ def profiles(self) -> profiles.ProfilesResourceWithRawResponse:

@cached_property
def proxies(self) -> proxies.ProxiesResourceWithRawResponse:
"""Network Proxies"""
from .resources.proxies import ProxiesResourceWithRawResponse

return ProxiesResourceWithRawResponse(self._client.proxies)
Expand Down Expand Up @@ -692,21 +660,18 @@ def __init__(self, client: AsyncMobilerun) -> None:

@cached_property
def apps(self) -> apps.AsyncAppsResourceWithRawResponse:
"""App Management"""
from .resources.apps import AsyncAppsResourceWithRawResponse

return AsyncAppsResourceWithRawResponse(self._client.apps)

@cached_property
def carriers(self) -> carriers.AsyncCarriersResourceWithRawResponse:
"""Mobile Carriers"""
from .resources.carriers import AsyncCarriersResourceWithRawResponse

return AsyncCarriersResourceWithRawResponse(self._client.carriers)

@cached_property
def credentials(self) -> credentials.AsyncCredentialsResourceWithRawResponse:
"""Vault & Secrets"""
from .resources.credentials import AsyncCredentialsResourceWithRawResponse

return AsyncCredentialsResourceWithRawResponse(self._client.credentials)
Expand All @@ -717,12 +682,6 @@ def devices(self) -> devices.AsyncDevicesResourceWithRawResponse:

return AsyncDevicesResourceWithRawResponse(self._client.devices)

@cached_property
def hooks(self) -> hooks.AsyncHooksResourceWithRawResponse:
from .resources.hooks import AsyncHooksResourceWithRawResponse

return AsyncHooksResourceWithRawResponse(self._client.hooks)

@cached_property
def models(self) -> models.AsyncModelsResourceWithRawResponse:
"""LLM Models"""
Expand All @@ -738,7 +697,6 @@ def profiles(self) -> profiles.AsyncProfilesResourceWithRawResponse:

@cached_property
def proxies(self) -> proxies.AsyncProxiesResourceWithRawResponse:
"""Network Proxies"""
from .resources.proxies import AsyncProxiesResourceWithRawResponse

return AsyncProxiesResourceWithRawResponse(self._client.proxies)
Expand Down Expand Up @@ -777,21 +735,18 @@ def __init__(self, client: Mobilerun) -> None:

@cached_property
def apps(self) -> apps.AppsResourceWithStreamingResponse:
"""App Management"""
from .resources.apps import AppsResourceWithStreamingResponse

return AppsResourceWithStreamingResponse(self._client.apps)

@cached_property
def carriers(self) -> carriers.CarriersResourceWithStreamingResponse:
"""Mobile Carriers"""
from .resources.carriers import CarriersResourceWithStreamingResponse

return CarriersResourceWithStreamingResponse(self._client.carriers)

@cached_property
def credentials(self) -> credentials.CredentialsResourceWithStreamingResponse:
"""Vault & Secrets"""
from .resources.credentials import CredentialsResourceWithStreamingResponse

return CredentialsResourceWithStreamingResponse(self._client.credentials)
Expand All @@ -802,12 +757,6 @@ def devices(self) -> devices.DevicesResourceWithStreamingResponse:

return DevicesResourceWithStreamingResponse(self._client.devices)

@cached_property
def hooks(self) -> hooks.HooksResourceWithStreamingResponse:
from .resources.hooks import HooksResourceWithStreamingResponse

return HooksResourceWithStreamingResponse(self._client.hooks)

@cached_property
def models(self) -> models.ModelsResourceWithStreamingResponse:
"""LLM Models"""
Expand All @@ -823,7 +772,6 @@ def profiles(self) -> profiles.ProfilesResourceWithStreamingResponse:

@cached_property
def proxies(self) -> proxies.ProxiesResourceWithStreamingResponse:
"""Network Proxies"""
from .resources.proxies import ProxiesResourceWithStreamingResponse

return ProxiesResourceWithStreamingResponse(self._client.proxies)
Expand Down Expand Up @@ -862,21 +810,18 @@ def __init__(self, client: AsyncMobilerun) -> None:

@cached_property
def apps(self) -> apps.AsyncAppsResourceWithStreamingResponse:
"""App Management"""
from .resources.apps import AsyncAppsResourceWithStreamingResponse

return AsyncAppsResourceWithStreamingResponse(self._client.apps)

@cached_property
def carriers(self) -> carriers.AsyncCarriersResourceWithStreamingResponse:
"""Mobile Carriers"""
from .resources.carriers import AsyncCarriersResourceWithStreamingResponse

return AsyncCarriersResourceWithStreamingResponse(self._client.carriers)

@cached_property
def credentials(self) -> credentials.AsyncCredentialsResourceWithStreamingResponse:
"""Vault & Secrets"""
from .resources.credentials import AsyncCredentialsResourceWithStreamingResponse

return AsyncCredentialsResourceWithStreamingResponse(self._client.credentials)
Expand All @@ -887,12 +832,6 @@ def devices(self) -> devices.AsyncDevicesResourceWithStreamingResponse:

return AsyncDevicesResourceWithStreamingResponse(self._client.devices)

@cached_property
def hooks(self) -> hooks.AsyncHooksResourceWithStreamingResponse:
from .resources.hooks import AsyncHooksResourceWithStreamingResponse

return AsyncHooksResourceWithStreamingResponse(self._client.hooks)

@cached_property
def models(self) -> models.AsyncModelsResourceWithStreamingResponse:
"""LLM Models"""
Expand All @@ -908,7 +847,6 @@ def profiles(self) -> profiles.AsyncProfilesResourceWithStreamingResponse:

@cached_property
def proxies(self) -> proxies.AsyncProxiesResourceWithStreamingResponse:
"""Network Proxies"""
from .resources.proxies import AsyncProxiesResourceWithStreamingResponse

return AsyncProxiesResourceWithStreamingResponse(self._client.proxies)
Expand Down
2 changes: 1 addition & 1 deletion src/mobilerun_sdk/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "mobilerun_sdk"
__version__ = "5.1.0" # x-release-please-version
__version__ = "5.2.0" # x-release-please-version
Loading