Skip to main content

Generated-first REST-only CLI for Apache DolphinScheduler

Project description

dolphinscheduler-cli

dolphinscheduler-cli is a generated-first, REST-only command-line interface for Apache DolphinScheduler.

The CLI is built around DolphinScheduler-native REST contracts and exposes them through stable dsctl commands for configuration, authoring, runtime inspection, and operational repair workflows. It does not use Py4J, PyDolphinScheduler, or the Python gateway.

This is an independent CLI project for Apache DolphinScheduler. It should not be described as an official Apache DolphinScheduler distribution unless that status changes explicitly.

Install

From a source checkout:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .[dev]
dsctl version

After a packaged release is available:

python -m pip install dolphinscheduler-cli
dsctl version

Configure

Set the target DolphinScheduler API URL and token with environment variables:

export DS_API_URL="https://dolphinscheduler.example.com/dolphinscheduler"
export DS_API_TOKEN="..."
export DS_VERSION="3.4.1"
dsctl doctor

DS_VERSION defaults to 3.4.1. It can currently select 3.4.1, 3.4.0, or 3.3.2; those versions share the generated 3.4.1 contract adapter until an upstream REST difference requires a separate adapter.

You can also load connection settings from a dotenv-style file:

dsctl --env-file cluster.env context

Quick Examples

dsctl project list
dsctl use project etl-prod
dsctl workflow list
dsctl workflow get daily-etl
dsctl workflow run daily-etl --project etl-prod
dsctl workflow-instance digest <workflow_instance_id>
dsctl task-instance list --workflow-instance <workflow_instance_id>
dsctl task-instance log <task_instance_id>

Command Surface

Stable user-facing commands today:

  • dsctl version
  • dsctl context
  • dsctl doctor
  • dsctl schema
  • dsctl capabilities
  • dsctl enum list ENUM
  • dsctl lint workflow FILE
  • dsctl task-type list
  • dsctl env list|get|create|update|delete
  • dsctl cluster list|get|create|update|delete
  • dsctl datasource list|get|create|update|delete|test
  • dsctl namespace list|get|available|create|delete
  • dsctl resource list|view|upload|create|mkdir|download|delete
  • dsctl queue list|get|create|update|delete
  • dsctl worker-group list|get|create|update|delete
  • dsctl task-group list|get|create|update|close|start
  • dsctl task-group queue list|force-start|set-priority
  • dsctl alert-plugin list|get|schema|create|update|delete|test
  • dsctl alert-group list|get|create|update|delete
  • dsctl tenant list|get|create|update|delete
  • dsctl user list|get|create|update|delete
  • dsctl user grant project|datasource|namespace
  • dsctl user revoke project|datasource|namespace
  • dsctl access-token list|get|create|update|delete|generate
  • dsctl monitor health|server|database
  • dsctl audit list|model-types|operation-types
  • dsctl use project|workflow|--clear
  • dsctl project list|get|create|update|delete
  • dsctl project-parameter list|get|create|update|delete
  • dsctl project-preference get|update|enable|disable
  • dsctl project-worker-group list|set|clear
  • dsctl schedule list|get|preview|explain|create|update|delete|online|offline
  • dsctl template workflow|params|task
  • dsctl workflow list|get|describe|digest|create|edit|online|offline|run|run-task|backfill|delete
  • dsctl workflow lineage list|get|dependent-tasks
  • dsctl workflow-instance list|get|parent|digest|update|watch|stop|rerun|recover-failed|execute-task
  • dsctl task list|get|update
  • dsctl task-instance list|get|watch|sub-workflow|log|force-success|savepoint|stop

Documentation

User documentation:

Development documentation:

Reference documentation:

Development

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .[dev]
python tools/check_quality_gate.py

Generate the tracked DS contract package after changing the generator:

python tools/generate_ds_contract.py --package-output build/ds_contract/package_sample
python tools/check_generated_freshness.py

For destructive cluster-backed coverage, export the live-test environment variables and run:

python tools/check_quality_gate.py --include-live

Packaging

Build and inspect local distributions before publishing:

python -m build
python -m twine check dist/*
python tools/check_package_contents.py dist/*
python -m pip install dist/dolphinscheduler_cli-*.whl
dsctl version

Use TestPyPI before the first public PyPI release. See docs/development/release.md.

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

dolphinscheduler_cli-0.1.0.tar.gz (675.8 kB view details)

Uploaded Source

Built Distribution

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

dolphinscheduler_cli-0.1.0-py3-none-any.whl (472.7 kB view details)

Uploaded Python 3

File details

Details for the file dolphinscheduler_cli-0.1.0.tar.gz.

File metadata

  • Download URL: dolphinscheduler_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 675.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dolphinscheduler_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4b8584baca09165c0854b32b504c3d768ce3dbb93bd52cff72b6461e491f56e6
MD5 0af3185e74ac65dc6c15f95192a0d2b6
BLAKE2b-256 0478c4f37df5c2c2fe26bc810841e8b50c5bfd5baf92be64392c2648648a5341

See more details on using hashes here.

Provenance

The following attestation bundles were made for dolphinscheduler_cli-0.1.0.tar.gz:

Publisher: publish.yml on sketchmind/dolphinscheduler-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dolphinscheduler_cli-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for dolphinscheduler_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4700b14011110bab1ac5234c4ce3f6cc1dd218aee26bf8328a30416e3d8a6a94
MD5 44c63de36e9b708a31cc9fae3fd54ad8
BLAKE2b-256 87ce55d8f080e85a2e0fa18aad415317ecf263f2490f3d5d417159bc9cc571ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for dolphinscheduler_cli-0.1.0-py3-none-any.whl:

Publisher: publish.yml on sketchmind/dolphinscheduler-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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