Custom Applications¶
class datarobot.CustomApplication¶
A DataRobot Custom Application with detailed resource information.
This class provides access to the customApplications/ API endpoint which contains more detailed information than the basic applications/ endpoint, including resource allocation, status, and configuration details.
- Variables:
- id (
str) – The ID of the custom application. - name (
str) – The name of the custom application. - env_version_id (
str) – The environment version ID used by the application. - custom_application_source_id (
str) – The ID of the custom application source. - custom_application_source_version_id (
str) – The version ID of the custom application source. - lrs_id (
str) – The LRS (Lifecycle Resource Service) ID. - status (
str) – Current status of the application (e.g., ‘running’, ‘stopped’). - user_id (
str) – The ID of the user who created the application. - org_id (
str) – The organization ID. - created_by (
str) – Email of the user who created the application. - creator_first_name (
str) – First name of the creator. - creator_last_name (
str) – Last name of the creator. - creator_userhash (
str) – Userhash of the creator. - permissions (
List[str]) – List of permissions for the current user. - created_at (
str) – Timestamp when the application was created. - updated_at (
str) – Timestamp when the application was last updated. - expires_at (
Optional[str]) – Expiration timestamp, if any. - application_url (
str) – URL to access the application. - external_access_enabled (
bool) – Whether external access is enabled. - allow_auto_stopping (
bool) – Whether the application can be automatically stopped. - external_access_recipients (
List[str]) – List of external access recipients. - resources (
Optional[Dict[str,Any]]) – Resource allocation details including CPU, memory, and replicas. May be None if not allocated. - required_key_scope_level (
Optional[str]) – Required key scope level, if any.
- id (
classmethod list(offset=None, limit=None)¶
Retrieve a list of custom applications.
- Parameters:
- offset (
Optional[int]) – Optional. Retrieve applications in a list after this number. - limit (
Optional[int]) – Optional. Retrieve only this number of applications.
- offset (
- Returns: applications – The requested list of custom applications.
- Return type:
List[CustomApplication]
classmethod get(application_id)¶
Retrieve a single custom application with full details including resources.
- Parameters:
application_id (
str) – The ID of the custom application to retrieve. - Returns: application – The requested custom application with resource details.
- Return type:
CustomApplication
get_resources()¶
Get resource allocation details for this custom application.
- Returns: resources – Resource allocation including CPU, memory, replicas, and other settings. Returns None if no resources are allocated.
- Return type:
Optional[Dict[str,Any]]
get_resource_summary()¶
Get a human-readable summary of resource allocation.
- Returns: summary – A summary of resource allocation with readable units. Returns None if no resources are allocated.
- Return type:
Optional[Dict[str,Any]]
property is_running : bool¶
Check if the custom application is currently running.
- Returns: True if the application status is ‘running’, False otherwise.
- Return type:
bool
get_details()¶
Get comprehensive details about this custom application.
- Returns: details – Comprehensive application details including metadata and resources.
- Return type:
Dict[str,Any]
classmethod get_by_name(name)¶
Find a custom application by name.
- Parameters:
name (
str) – The name of the custom application to find. - Returns: application – The custom application if found, None otherwise.
- Return type:
Optional[CustomApplication]
delete(hard_delete=False)¶
Delete this custom application.
- Parameters:
hard_delete (
bool, optional) – If True, permanently delete the application and all its data. If False (default), soft delete the application (can be recovered). - Return type:
None
Examples
from datarobot import CustomApplication
app = CustomApplication.get("app_id")
app.delete() # Soft delete
app.delete(hard_delete=True) # Permanent delete
get_logs()¶
Retrieve logs and build information for this custom application.
- Returns:
logs_info – Dictionary containing:
- logs: List[str] - Application runtime logs (up to 1000 entries)
- build_log: str - Build log of the custom application (optional)
- build_status: str - Build status of the custom application (optional)
- build_error: str - Build error message if build failed (optional)
- Return type:
Dict[str,Any]
Examples
from datarobot import CustomApplication
app = CustomApplication.get("app_id")
logs_info = app.get_logs()
# Print runtime logs
for log_line in logs_info['logs']:
print(log_line)
# Check build status
if 'build_status' in logs_info:
print(f"Build status: {logs_info['build_status']}")
# Check for build errors
if 'build_error' in logs_info:
print(f"Build error: {logs_info['build_error']}")