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 versiondsctl contextdsctl doctordsctl schemadsctl capabilitiesdsctl enum list ENUMdsctl lint workflow FILEdsctl task-type listdsctl env list|get|create|update|deletedsctl cluster list|get|create|update|deletedsctl datasource list|get|create|update|delete|testdsctl namespace list|get|available|create|deletedsctl resource list|view|upload|create|mkdir|download|deletedsctl queue list|get|create|update|deletedsctl worker-group list|get|create|update|deletedsctl task-group list|get|create|update|close|startdsctl task-group queue list|force-start|set-prioritydsctl alert-plugin list|get|schema|create|update|delete|testdsctl alert-group list|get|create|update|deletedsctl tenant list|get|create|update|deletedsctl user list|get|create|update|deletedsctl user grant project|datasource|namespacedsctl user revoke project|datasource|namespacedsctl access-token list|get|create|update|delete|generatedsctl monitor health|server|databasedsctl audit list|model-types|operation-typesdsctl use project|workflow|--cleardsctl project list|get|create|update|deletedsctl project-parameter list|get|create|update|deletedsctl project-preference get|update|enable|disabledsctl project-worker-group list|set|cleardsctl schedule list|get|preview|explain|create|update|delete|online|offlinedsctl template workflow|params|taskdsctl workflow list|get|describe|digest|create|edit|online|offline|run|run-task|backfill|deletedsctl workflow lineage list|get|dependent-tasksdsctl workflow-instance list|get|parent|digest|update|watch|stop|rerun|recover-failed|execute-taskdsctl task list|get|updatedsctl 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b8584baca09165c0854b32b504c3d768ce3dbb93bd52cff72b6461e491f56e6
|
|
| MD5 |
0af3185e74ac65dc6c15f95192a0d2b6
|
|
| BLAKE2b-256 |
0478c4f37df5c2c2fe26bc810841e8b50c5bfd5baf92be64392c2648648a5341
|
Provenance
The following attestation bundles were made for dolphinscheduler_cli-0.1.0.tar.gz:
Publisher:
publish.yml on sketchmind/dolphinscheduler-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dolphinscheduler_cli-0.1.0.tar.gz -
Subject digest:
4b8584baca09165c0854b32b504c3d768ce3dbb93bd52cff72b6461e491f56e6 - Sigstore transparency entry: 1308510318
- Sigstore integration time:
-
Permalink:
sketchmind/dolphinscheduler-cli@c31bdede27dc5c3b8021dcaadfb9c6405a8abb82 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/sketchmind
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c31bdede27dc5c3b8021dcaadfb9c6405a8abb82 -
Trigger Event:
release
-
Statement type:
File details
Details for the file dolphinscheduler_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dolphinscheduler_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 472.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4700b14011110bab1ac5234c4ce3f6cc1dd218aee26bf8328a30416e3d8a6a94
|
|
| MD5 |
44c63de36e9b708a31cc9fae3fd54ad8
|
|
| BLAKE2b-256 |
87ce55d8f080e85a2e0fa18aad415317ecf263f2490f3d5d417159bc9cc571ab
|
Provenance
The following attestation bundles were made for dolphinscheduler_cli-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on sketchmind/dolphinscheduler-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dolphinscheduler_cli-0.1.0-py3-none-any.whl -
Subject digest:
4700b14011110bab1ac5234c4ce3f6cc1dd218aee26bf8328a30416e3d8a6a94 - Sigstore transparency entry: 1308510372
- Sigstore integration time:
-
Permalink:
sketchmind/dolphinscheduler-cli@c31bdede27dc5c3b8021dcaadfb9c6405a8abb82 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/sketchmind
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c31bdede27dc5c3b8021dcaadfb9c6405a8abb82 -
Trigger Event:
release
-
Statement type: