Skip to main content

Digital.ai Release SDK

Project description

Digital.ai Release Python SDK

The Digital.ai Release Python SDK (digitalai-release-sdk) provides a set of tools for developers to create container-based integration with Digital.ai Release. It simplifies integration creation by offering built-in functions to interact with the execution environment.

Features

  • Define custom tasks using the BaseTask abstract class.
  • Easily manage input and output properties.
  • Interact with the Digital.ai Release environment seamlessly.
  • Simplified API client for efficient communication with Release API.

Installation

Install the SDK using pip:

pip install digitalai-release-sdk

Getting Started

Example Task: hello.py

The following example demonstrates how to create a simple task using the SDK:

from digitalai.release.integration import BaseTask

class Hello(BaseTask):
    
    def execute(self) -> None:
        # Get the name from the input
        name = self.input_properties.get('yourName')
        if not name:
            raise ValueError("The 'yourName' field cannot be empty")

        # Create greeting message
        greeting = f"Hello {name}"

        # Add greeting to the task's comment section in the UI
        self.add_comment(greeting)

        # Store greeting as an output property
        self.set_output_property('greeting', greeting)

Changelog

Version 25.1.2

🛠️ Enhancements

  • Added support for the lookup functionality in task fields, allowing dynamic population of field values based on runtime data or external sources.

Version 25.1.1

✨ New Features

  • Introduced a ready-to-use dai_logger object to simplify logging across all tasks

🔧 Changes & Improvements

  • Refactored the client creation process for the cluster

Version 25.1.0

🚨 Breaking Changes

  • Removed get_default_api_client() from the BaseTask class.
  • Removed digitalai.release.v1 package, which contained OpenAPI-generated stubs for Release API functions.
    • These stubs were difficult to use and had several non-functioning methods.
    • A new, simplified API client replaces them for better usability and reliability.
    • The removed package will be released as a separate library in the future.

✨ New Features

  • Introduced get_release_api_client() in the BaseTask class as a replacement for get_default_api_client().
  • New ReleaseAPIClient class for simplified API interactions.
    • Functions in ReleaseAPIClient take an endpoint URL and body as a dictionary, making API calls more intuitive and easier to work with.

🔧 Changes & Improvements

  • Updated minimum Python version requirement to 3.8.
  • Updated dependency versions to enhance compatibility and security.
  • Bundled requests library to ensure seamless HTTP request handling.

🔁 Upgrading from digitalai-release-sdk 24.1.0 or 23.3.0 to 25.1.0

With the release of digitalai-release-sdk 25.1.0, the API stubs have been separated into a standalone package.

👉 digitalai-release-api-stubs

To upgrade your project, follow these steps:

Step 1: Install the API Stubs Package

You must explicitly install the new API stubs package:

pip install digitalai-release-api-stubs==25.1.0

Or, add it to your requirements.txt as needed.


Step 2: Update Your Code

In previous versions, API clients were created like this:

# Old code (pre-25.1.0)
configuration_api = ConfigurationApi(self.get_default_api_client())

In version 25.1.0, use the following approach:

# New code (25.1.0)

# Create a configuration object
configuration = Configuration(
    host=self.get_release_server_url(),
    username=self.get_task_user().username,
    password=self.get_task_user().password
)

# Instantiate the API client using the configuration
apiclient = ApiClient(configuration)

# Create the Configuration API client
configuration_api = ConfigurationApi(apiclient)

This pattern should be used for all API clients, such as TemplateApi, TaskApi, etc.


🔗 Related Resources

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

digitalai_release_sdk-25.1.2.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

digitalai_release_sdk-25.1.2-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file digitalai_release_sdk-25.1.2.tar.gz.

File metadata

  • Download URL: digitalai_release_sdk-25.1.2.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for digitalai_release_sdk-25.1.2.tar.gz
Algorithm Hash digest
SHA256 0b0f0fe5aeee3820feb0af533da62fae3d4f0340856cf4f9caabc8f60553d0e2
MD5 49697a29bf79c73bdf1023a5d764444c
BLAKE2b-256 02ed895a02a97bf94e876bc5d15a621652d5eefb89a16282edc665a1bb4d106a

See more details on using hashes here.

File details

Details for the file digitalai_release_sdk-25.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for digitalai_release_sdk-25.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4607168ab75bf2b91bbf6a8d7719d21530b56af2f19baa7192016fe56f6da165
MD5 988b9cd57437f75901fbf923c49f56c8
BLAKE2b-256 ce42fa38e92c4f4d6f5f57eaba77b3c235144792de90db74757036051b5ea2ff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page