Skip to main content

CLI and Python API for running Talend Cloud jobs

Project description

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:

  • command-line interface (talend_task)
  • Python API client module (talend_task.talend_client) providing the TalendClient class

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 the 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 current directory.

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

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

talend_task-0.1.11.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

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

talend_task-0.1.11-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file talend_task-0.1.11.tar.gz.

File metadata

  • Download URL: talend_task-0.1.11.tar.gz
  • Upload date:
  • Size: 19.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for talend_task-0.1.11.tar.gz
Algorithm Hash digest
SHA256 2be82a77a57376724d014439b0acaa0e9750f29b51a11cd2fd392297cc83ee87
MD5 21ca6a412bb345d84589fbc4cc61fb75
BLAKE2b-256 878bc9279af72944bad35c44ff65497d3267254e228eb5ca8b9033ab6076cdbb

See more details on using hashes here.

File details

Details for the file talend_task-0.1.11-py3-none-any.whl.

File metadata

  • Download URL: talend_task-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for talend_task-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 2363075a73d0a863f0fdc8a3c1689c575a4a51f5f05b7e4dd38a03f2d01e0657
MD5 292090e1cc4fe4609ad5f995e140e046
BLAKE2b-256 264286c8357f37de377d55993ec417be388583d1c6c665ea0bb9c061e34943ec

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