Skip to main content

talend-task

CLI and Python API for running Talend Cloud jobs


Status

Latest Version
Build (CI)
Supported Python Versions

About

The talend-task package provides a command-line interface and Python API client for executing and monitoring jobs in Talend Cloud, including ETL pipelines and other data workflows. It uses the Processing API to trigger executions and monitor their status.

The package consists of:

  • talend_task: command-line interface (CLI)
  • talend_task.talend_client: Python API client module providing the TalendClient and Credential classes

In this package, a "job" refers to a runnable Talend Task. Running a job creates a corresponding Talend Execution.


Installation

Install the package from PyPI:

pip install talend-task

CLI

talend_task is a CLI for running and monitoring jobs in Talend Cloud.

After installation, the talend_task command is available in your shell.

Select a job interactively or pass --job directly.

CLI Options:

$ talend_task --help
usage: talend_task [-h] [--debug] [--wait] [--activity] [--job NAME] [--timeout SECS]
                   [--poll-interval SECS]

Talend Cloud CLI

options:
  -h, --help            show this help message and exit
  --debug               enable debug logging
  --wait                wait for job to complete and return status
  --activity            show recent runs without executing job (cannot use --wait)
  --job NAME            job name
  --timeout SECS        timeout (requires --wait, default: none)
  --poll-interval SECS  polling interval (requires --wait, default: 5)

CLI Configuration

The CLI requires authentication credentials and the URL of the Talend Cloud API endpoint for your region. These are configured using environment variables.

  • TALEND_API_URL: Talend Cloud regional API endpoint
export TALEND_API_URL=https://api.<region>.cloud.talend.com

(region = us, eu, us-west, etc.)

Authentication

Talend Cloud supports two authentication methods, depending on the account identity.

User Account

Regular user accounts authenticate using a Personal Access Token (PAT). A PAT represents a specific user and inherits that user's permissions. Personal access tokens are generated in Talend Management Console.

  • TALEND_ACCESS_TOKEN: Personal Access Token
export TALEND_ACCESS_TOKEN=<access-token>
Service Account

Service accounts authenticate using the OAuth 2.0 Client Credentials flow. The Client ID and Client Secret are used to obtain a short-lived access token from the OAuth2 token endpoint. Access tokens are automatically refreshed before they expire.

  • TALEND_CLIENT_ID: Client ID
  • TALEND_CLIENT_SECRET: Client Secret
export TALEND_CLIENT_ID=<client-id>
export TALEND_CLIENT_SECRET=<client-secret>

Using a .env File

Instead of setting environment variables, you can define them in a .env file in the installation directory or higher up the directory tree.

User account
TALEND_API_URL=https://api.<region>.cloud.talend.com
TALEND_ACCESS_TOKEN=<access-token>
Service account
TALEND_API_URL=https://api.<region>.cloud.talend.com
TALEND_CLIENT_ID=<client-id>
TALEND_CLIENT_SECRET=<client-secret>

Example CLI Usage

Direct Mode

Run a job by providing --job <name>:

talend_task --wait --job Job1

Interactive Mode

Run the CLI without specifying a job to select and execute one from a menu:

talend_task --wait

Activity Mode

Show recent runs for a job without executing it:

talend_task --activity --job Job1

CLI Screenshots

Interactive Mode

Screenshot

Direct Mode

Screenshot

Activity Mode

Screenshot


Python API Client

Use the TalendClient and Credential classes to authenticate and interact with the Talend Cloud Processing API from Python.

See the module API documentation for more information.

Example Client Usage

Run a job using a Personal Aceess Token for authentication:

from talend_task import StaticTokenCredential, TalendClient

api_url = "https://api.us.cloud.talend.com"
access_token = "token123"

credential = StaticTokenCredential(access_token)

with TalendClient(api_url, credential) as client:
    job_id = client.get_job_id("Job_123")
    status = client.run(job_id, wait=True)

Run a job using OAuth 2.0 Client Credentials flow for authentication:

from talend_task import OAuthClientCredential, TalendClient

api_url = "https://api.us.cloud.talend.com"
client_id = "id123"
client_secret = "secret123"

credential = OAuthClientCredential(client_id, client_secret)

with TalendClient(api_url, credential) as client:
    job_id = client.get_job_id("Job_123")
    status = client.run(job_id, wait=True)

Development

  • Install as editable package with required development/testing dependencies:

    pip install --editable --group dev --group test .
    
  • Run all tests:

    pytest
    
  • Run linting and formatting:

    tox -e lint
    
  • Run validation, linting, formatting, and all tests across all supported/installed Python environments:

    tox
    

Project Structure

./
├── .github/
│   └── workflows/
│       ├── docs.yml
│       └── test.yml
├── src/
│   └── talend_task/
│       ├── __init__.py
│       ├── cli.py
│       └── talend_client.py
├── tests/
│   ├── test_cli.py
│   ├── test_credential.py
│   ├── test_talend_client.py
│   └── test_talend_session.py
├── pyproject.toml
└── tox.ini

Metadata

Release files for talend-task 0.1.18

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for talend-task 0.1.18
File Size Uploaded
talend_task-0.1.18.tar.gz 20.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for talend-task 0.1.18
File Interpreter ABI Platform
talend_task-0.1.18-py3-none-any.whl Python 3 none any Details

Total release size: 33.2 kB

Release files / talend_task-0.1.18.tar.gz

Download URL talend_task-0.1.18.tar.gz
Size 20.3 kB
Tags Source
SHA-256 checksum
How to use checksums
dff9ce93f84845618f540205259997733a2e410cbfdbe082250dad6571903601
BLAKE2b-256 checksum
How to use checksums
114c4cfcaa5c4df180346301c5b3d2ec656a2ef20f5f29280e3c670b6b2f71cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.15.0

Release files / talend_task-0.1.18-py3-none-any.whl

Download URL talend_task-0.1.18-py3-none-any.whl
Size 12.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
43b1ae34d0e595067fadaf5efc6b2005bce267aab61f86e7711d48f52b0e6d25
BLAKE2b-256 checksum
How to use checksums
661fe6c24d4816585a1cc516fe340b253e59258b48892038dd7f75ec02bf8e02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.15.0

Release history Release notifications | RSS feed

This release

0.1.18 This release

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page