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.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.1.tar.gz (13.3 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.1-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: digitalai_release_sdk-25.1.1.tar.gz
  • Upload date:
  • Size: 13.3 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.1.tar.gz
Algorithm Hash digest
SHA256 deebfb6f8ba5ae842b751422e40795567e453fc004ae9cb1a76cb1392ee97218
MD5 efca9d66ae464906531430f7953739ea
BLAKE2b-256 fa30208351b73b2d32d705d855265aca932082c9004e83af1c43f7603a551eab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for digitalai_release_sdk-25.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 59bcc683543480d6580cf648e1639a69844242824d667c4488b1c0b1cf636c4b
MD5 6da1bbca4bcd470a9f29705c76cf2988
BLAKE2b-256 635e5b54b2ef70dc26de6a518ca9c5a2974b21260ce265519acbf4996497a04a

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