Apps
Apps are containerized applications you deploy and run on the platform. Use this resource to create an app, upload a code bundle, deploy it, control its lifecycle (start/stop/restart), and watch its status, logs, and metrics.
Access it as client.apps on a Strongly client, or the same path on AsyncStrongly with await. All methods exist on both with identical signatures.
Quick start
from strongly import Strongly
client = Strongly()
# List (auto-paginates as you iterate) # filters: status, environment, search
for app in client.apps.list():
print(app.id)
# Create
created = client.apps.create(name="...")
print(created.id)
# Read it back
fetched = client.apps.retrieve(created.id)
# Delete (returns None; raises on failure)
client.apps.delete(created.id)
Methods
Core
list
list(*, status: Optional[str] = None, environment: Optional[str] = None, search: Optional[str] = None, limit: Optional[int] = None) -> SyncPaginator[App]
List apps with pagination and filtering.
Args: status: Filter by app status. environment: Filter by deployment environment. search: Search by name or description. limit: Maximum number of items to return (default: all matching items).
create
create(*, name: str, description: Optional[str] = None, image: Optional[str] = None, port: Optional[int] = None, replicas: Optional[int] = None, environment: Optional[Mapping[str, str]] = None, resources: Optional[Mapping[str, Any]] = None, project_id: Optional[str] = None, labels: Optional[Mapping[str, str]] = None) -> App
Create a new app.
Args: name: App name. description: App description. image: Container image to deploy. port: Port the app listens on. replicas: Number of replicas to run. environment: Environment variables as a name -> value mapping. resources: Resource requests/limits (cpu, memory, etc.). project_id: Project the app belongs to. labels: Kubernetes labels as a name -> value mapping.
Returns:
The newly created App.
retrieve
retrieve(app_id: str) -> App
Get a single app by ID.
update
update(app_id: str, *, name: Optional[str] = None, description: Optional[str] = None, image: Optional[str] = None, port: Optional[int] = None, replicas: Optional[int] = None, environment: Optional[Mapping[str, str]] = None, resources: Optional[Mapping[str, Any]] = None, labels: Optional[Mapping[str, str]] = None) -> App
Update an app.
delete
delete(app_id: str) -> None
Delete an app.
Lifecycle & actions
start
start(app_id: str) -> Dict[str, Any]
Start an app.
stop
stop(app_id: str) -> Dict[str, Any]
Stop an app.
restart
restart(app_id: str) -> Dict[str, Any]
Restart an app.
deploy
deploy(app_id: str, **kwargs) -> Dict[str, Any]
Deploy an app.
Args: app_id: The app ID. **kwargs: Optional deployment configuration options.
deploy_upload
deploy_upload(app_id: str, file: Union[str, Path, BinaryIO], **kwargs) -> Dict[str, Any]
Deploy a zip bundle to an existing app.
Args: app_id: The app ID. file: Path to a zip file, or a file-like object (opened in binary mode). **kwargs: Additional form fields to include.
Returns: Dict containing deployment result.
Example::
result = client.apps.deploy_upload("app-id", "my-app.zip")
Other
create_with_upload
create_with_upload(file: Union[str, Path, BinaryIO], *, name: Optional[str] = None, description: Optional[str] = None, framework: Optional[str] = None, runtime: Optional[str] = None, **kwargs) -> Dict[str, Any]
Create a new app by uploading a zip bundle.
Args:
file: Path to a zip file, or a file-like object (opened in binary mode).
name: App name. Defaults to the filename without extension.
description: App description.
framework: App framework (e.g. "express", "react").
runtime: App runtime (e.g. "node18").
**kwargs: Additional form fields to include.
Returns:
Dict containing appId of the newly created app.
Example::
app = client.apps.create_with_upload( "my-app.zip", name="My App", description="An awesome app", )
logs
logs(app_id: str, *, lines: Optional[int] = None, since: Optional[str] = None, container: Optional[str] = None) -> Any
Get app logs.
Args: app_id: The app ID. lines: Number of log lines to return. since: ISO timestamp; return logs after this time. container: Specific container name.
metrics
metrics(app_id: str) -> Dict[str, Any]
Get app resource metrics.
status
status(app_id: str) -> AppStatus
Get app deployment status.