Skip to content

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.

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.
  • 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']}")