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.
  • Subclass ApiBaseTask to access the Release APIs (releaseApi, phaseApi, taskApi, ...) through a ready-to-use client.
  • Easily manage input and output properties.
  • Interact with the Digital.ai Release environment seamlessly.

Installation

Install the SDK using pip:

pip install digitalai-release-sdk

Note: The SDK depends on digitalai-release-api-client, which is installed automatically.

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)

Example Task using the Release API: ApiBaseTask

Subclass ApiBaseTask to call the Release v1 REST API without building a client yourself. Every API is exposed as a lazily created, cached property, all sharing a single client built from the task's "Run as user" context:

from digitalai.release.integration.api_base_task import ApiBaseTask


class ShowVersion(ApiBaseTask):

    def execute(self) -> None:
        release = self.releaseApi.getRelease(self.get_release_id())
        self.add_comment(f"Working on {release.title}")

🔗 Related Resources

Changelog

Version 26.3.1

🛠️ Enhancements

  • get_release_api_client() now treats a password supplied without a username as a personal access token, so token-only credentials authenticate without extra configuration.
  • Simplified credential validation in BaseTask, giving a single consistent error when the server URL, username, or password is missing.

📦 Dependencies

  • Requires digitalai-release-api-client 26.3.1.

Version 26.3.0

🚀 Features

  • Added the ApiBaseTask base class, exposing every Release v1 API as a lazily created, cached property.
  • get_release_api_client() now supports optional credentials/server URL and requests library arguments.
  • Added get_phase_id() and get_folder_id() helper methods to BaseTask.

🛠️ Enhancements

  • Improved stability and error handling for API requests and Kubernetes tasks.

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-26.3.1.tar.gz (20.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-26.3.1-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for digitalai_release_sdk-26.3.1.tar.gz
Algorithm Hash digest
SHA256 bda553d17bcfe066834edb6b535cd8337774898db6f8e3b8aaed83c2c177e201
MD5 0e078cc533c1159b1bda93207a434432
BLAKE2b-256 438d81dcf298e311e6e762ac26947c43bcfe3c6b855a1019aa4d599be22580bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for digitalai_release_sdk-26.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 133f2066810079ddbd83e76f2614571b7eaf6b8ae61ee226602eb33602336adb
MD5 f3990c5b0e14c081c6c551a15493c220
BLAKE2b-256 f3d57d995ce9a94208f05413fdb281f1a9e37407b44196dd196dcb2236c8767a

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