Skip to main content

NoETL

NoETL orchestrates APIs, databases, and scripts through a declarative Playbook DSL. This package is the NoETL command-line tool, installable with pip.

pip install noetl

It installs two equivalent commands, noetl and ntl, and an importable Python API. There is no separate binary to download and nothing to put on your PATH yourself.

noetl run pipeline.yaml --runtime local --set region=west
import noetl

outcome = noetl.run("pipeline.yaml", variables={"region": "west"})
print(outcome["status"], outcome["final_result"])

noetl.cli(["catalog", "list"])   # any CLI subcommand

What it is

The CLI is written in Rust and lives at noetl/cli. This package compiles that crate into a native extension module, so noetl.run(...) and the noetl command both drive the same execution engine — nothing here reimplements playbook execution or shells out to a separate process.

Every subcommand is available: run, catalog, context, auth, register, status, query, ehdb, provider, subscribe, and the rest. Run noetl --help for the full tree.

Python API

Function Purpose
noetl.run(playbook, **options) Execute a playbook locally; returns the run outcome as a dict.
noetl.cli(args) Run any CLI subcommand; returns its exit code.
noetl.__version__ This package's version.

noetl.run() returns the outcome envelope: status, playbook_name, playbook_path, started_at, completed_at, duration_seconds, executed_steps, step_results, final_result, and error when the run failed. It executes locally; to submit to a distributed runtime, use noetl.cli(["run", playbook, "--runtime", "distributed"]).

Versioning

This package's version and the CLI's version are separate. noetl --version reports the version of the Rust CLI compiled into this release — that is the number to quote in a bug report against noetl/cli. noetl.__version__ and pip show noetl report the package version.

Known limitation: DuckDB

These wheels are built without the embedded DuckDB engine. Compiling DuckDB from its C++ source takes tens of minutes to an hour per platform, which a five-platform wheel matrix cannot absorb.

Affected surfaces report a rebuild hint rather than running:

  • kind: duckdb and kind: ducklake playbook steps
  • the sink: duckdb: target
  • the noetl iap command family, whose state ledger is a local state.duckdb

Everything else — HTTP, shell, Postgres, playbook composition, providers, secrets, and the catalog/server/worker verbs — works normally. If you need DuckDB, install the CLI from source with the feature enabled:

cargo install --bins noetl --features duckdb-integration

or use a pre-built release binary, Homebrew, or the APT package — all of which ship with DuckDB included.

Requirements

Python 3.9 or newer, on Linux or macOS. The wheels are abi3, so one wheel per platform serves every supported Python version.

Windows is not supported: the CLI uses POSIX process and signal control, which does not build on Windows (the native binaries are Linux/macOS-only for the same reason). On Windows, use WSL.

Documentation

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

noetl-5.0.0.tar.gz (38.8 kB view details)

Uploaded Source

Built Distributions

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

noetl-5.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

noetl-5.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

noetl-5.0.0-cp39-abi3-macosx_11_0_arm64.whl (7.0 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

Details for the file noetl-5.0.0.tar.gz.

File metadata

  • Download URL: noetl-5.0.0.tar.gz
  • Upload date:
  • Size: 38.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for noetl-5.0.0.tar.gz
Algorithm Hash digest
SHA256 00e4f804eaf9384e3ab7c8315e9ca06096c69ab2af09984118bdbb2f3dcf57f7
MD5 05980d927b9b637fa485727d2a5799d3
BLAKE2b-256 fee452b89e84db98020f31fe956eb89ca1dedd2b6cf2012b7d0f3accd80a473d

See more details on using hashes here.

File details

Details for the file noetl-5.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for noetl-5.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 916df0890bdf71b0700fde3dd623549d811e3269caf8856a3900ec1ef0553053
MD5 ee57b4560f70747ff3b7e24c28dc0a9a
BLAKE2b-256 cfea792755893730961100c924f3bcb1af3c93b366c7781a698ffa299456302a

See more details on using hashes here.

File details

Details for the file noetl-5.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for noetl-5.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d6ce62e3b979c3698a3aee00fe9a5bbf1c696afbe3109649de50a489c2c1fbc5
MD5 3f7ee5bc7dbaa5654c316413046b6154
BLAKE2b-256 7736c6ef98bbb92cdbbd35c1e14f020b8f2c223747d4849653c163412d5d7feb

See more details on using hashes here.

File details

Details for the file noetl-5.0.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: noetl-5.0.0-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 7.0 MB
  • Tags: CPython 3.9+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for noetl-5.0.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 49e9c6172c10c96e9293eca8b9581ffc08c423ea52f1b2bba663fda4b1a88455
MD5 2d277751616d2ae07d08cd4973de41fd
BLAKE2b-256 532e2c574e517bf7e6fd7b91dd65894bbae49c8e8b9c560633d13072ecace072

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

5.0.0 This release

4 files

4.26.0

2 files

4.25.0

2 files

4.24.0

2 files

4.23.0

2 files

4.22.0

2 files

4.21.0

2 files

4.20.0

2 files

4.19.0

2 files

4.18.0

2 files

4.17.0

2 files

4.16.0

2 files

4.15.0

2 files

4.14.0

2 files

4.13.0

2 files

4.12.1

2 files

4.12.0

2 files

4.11.0

2 files

4.10.1

2 files

4.10.0

2 files

4.9.0

2 files

4.8.0

2 files

4.7.0

2 files

4.6.0

2 files

4.5.3

2 files

4.5.2

2 files

4.5.1

2 files

4.5.0

2 files

4.4.0

2 files

4.3.0

2 files

4.2.0

2 files

4.1.0

2 files

4.0.1

2 files

4.0.0

2 files

3.0.0

2 files

2.103.4

2 files

2.103.3

2 files

2.103.2

2 files

2.103.1

2 files

2.103.0

2 files

2.102.13

2 files

2.102.12

2 files

2.102.11

2 files

2.102.10

2 files

2.102.9

2 files

2.102.8

2 files

2.102.7

2 files

2.102.6

2 files

2.102.5

2 files

2.102.4

2 files

2.102.3

2 files

2.102.2

2 files

2.102.1

2 files

2.102.0

2 files

2.101.3

2 files

2.101.2

2 files

2.101.1

2 files

2.101.0

2 files

2.100.10

2 files

2.100.9

2 files

2.100.8

2 files

2.100.7

2 files

2.100.6

2 files

2.100.5

2 files

2.100.4

2 files

2.100.3

2 files

2.100.2

2 files

2.100.1

2 files

2.100.0

2 files

2.99.0

2 files

2.98.0

2 files

2.97.0

2 files

2.96.0

2 files

2.95.0

2 files

2.94.0

2 files

2.93.0

2 files

2.92.0

2 files

2.91.0

2 files

2.90.0

2 files

2.89.0

2 files

2.88.1

2 files

2.88.0

2 files

2.87.0

2 files

2.86.0

2 files

2.85.2

2 files

2.85.1

2 files

2.85.0

2 files

2.84.0

2 files

2.83.0

2 files

2.82.0

2 files

2.81.0

2 files

2.80.0

2 files

2.79.0

2 files

2.78.0

2 files

2.77.0

2 files

2.76.0

2 files

2.75.0

2 files

2.74.0

2 files

2.73.0

2 files

2.72.0

2 files

2.71.0

2 files

2.70.0

2 files

2.69.0

2 files

2.68.0

2 files

2.67.0

2 files

2.66.0

2 files

2.65.0

2 files

2.64.0

2 files

2.63.0

2 files

2.62.0

2 files

2.61.0

2 files

2.60.0

2 files

2.59.0

2 files

2.58.0

2 files

2.57.0

2 files

2.56.0

2 files

2.55.0

2 files

2.54.0

2 files

2.53.0

2 files

2.52.0

2 files

2.51.0

2 files

2.50.0

2 files

2.49.0

2 files

2.48.0

2 files

2.47.0

2 files

2.46.0

2 files

2.45.0

2 files

2.44.0

2 files

2.43.0

2 files

2.42.0

2 files

2.41.0

2 files

2.40.0

2 files

2.39.3

2 files

2.39.2

2 files

2.39.1

2 files

2.39.0

2 files

2.38.1

2 files

2.38.0

2 files

2.37.8

2 files

2.37.7

2 files

2.37.6

2 files

2.37.5

2 files

2.37.4

2 files

2.37.3

2 files

2.37.2

2 files

2.37.1

2 files

2.37.0

2 files

2.36.1

2 files

2.36.0

2 files

2.35.9

2 files

2.35.8

2 files

2.35.7

2 files

2.35.6

2 files

2.35.5

2 files

2.35.4

2 files

2.35.3

2 files

2.35.2

2 files

2.35.1

2 files

2.35.0

2 files

2.34.0

2 files

2.33.0

2 files

2.32.0

2 files

2.31.0

2 files

2.30.0

2 files

2.29.0

2 files

2.28.0

2 files

2.27.1

2 files

2.27.0

2 files

2.26.2

2 files

2.26.1

2 files

2.26.0

2 files

2.25.1

2 files

2.25.0

2 files

2.24.2

2 files

2.16.7

2 files

2.16.6

2 files

2.16.5

2 files

2.16.4

2 files

2.16.3

2 files

2.16.2

2 files

2.16.1

2 files

2.16.0

2 files

2.15.2

2 files

2.15.1

2 files

2.15.0

2 files

2.14.14

2 files

2.14.13

2 files

2.14.12

2 files

2.14.11

2 files

2.14.10

2 files

2.14.9

2 files

2.14.8

2 files

2.14.7

2 files

2.14.6

2 files

2.14.5

2 files

2.14.4

2 files

2.14.3

2 files

2.14.2

2 files

2.14.1

2 files

2.14.0

2 files

2.13.1

2 files

2.13.0

2 files

2.12.8

2 files

2.12.7

2 files

2.12.6

2 files

2.12.5

2 files

2.12.4

2 files

2.12.3

2 files

2.12.2

2 files

2.12.1

2 files

2.12.0

2 files

2.11.0

2 files

2.10.42

2 files

2.10.41

2 files

2.10.40

2 files

2.10.39

2 files

2.10.38

2 files

2.10.37

2 files

2.10.36

2 files

2.10.35

2 files

2.10.34

2 files

2.10.33

2 files

2.10.32

2 files

2.10.31

2 files

2.10.30

2 files

2.10.29

2 files

2.10.28

2 files

2.10.27

2 files

2.10.26

2 files

2.10.25

2 files

2.10.24

2 files

2.10.23

2 files

2.10.22

2 files

2.10.21

2 files

2.10.20

2 files

2.10.19

2 files

2.10.18

2 files

2.10.17

2 files

2.10.16

2 files

2.10.15

2 files

2.10.14

2 files

2.10.13

2 files

2.10.12

2 files

2.10.11

2 files

2.10.10

2 files

2.10.9

2 files

2.10.8

2 files

2.10.7

2 files

2.10.6

2 files

2.10.5

2 files

2.10.4

2 files

2.10.3

2 files

2.10.2

2 files

2.10.1

2 files

2.10.0

2 files

2.9.0

2 files

2.8.9

2 files

2.8.8

2 files

2.8.7

2 files

2.8.6

2 files

2.8.5

2 files

2.8.4

2 files

2.8.3

2 files

2.8.2

2 files

2.8.1

2 files

2.8.0

2 files

2.7.5

2 files

2.7.4

2 files

2.7.3

2 files

2.7.2

2 files

2.5.5

2 files

2.5.2

2 files

2.5.1

2 files

2.5.0

2 files

2.4.0

2 files

2.3.3

2 files

2.3.2

2 files

2.3.1

2 files

2.3.0

2 files

2.2.1

2 files

2.2.0

2 files

2.1.4

2 files

2.1.3

2 files

2.1.2

2 files

2.1.1

2 files

2.1.0

2 files

2.0.3

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0

2 files

1.8.0

2 files

1.7.1

2 files

1.4.0

2 files

1.2.5

2 files

1.2.4

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.0.4

2 files

1.0.3

2 files

1.0.0

2 files

0.1.38

2 files

0.1.37

2 files

0.1.36

2 files

0.1.35

2 files

0.1.34

2 files

0.1.33

2 files

0.1.32

2 files

0.1.31

2 files

0.1.30

2 files

0.1.29

2 files

0.1.28

2 files

0.1.27

2 files

0.1.26

2 files

0.1.25

2 files

0.1.24

2 files

0.1.23

2 files

0.1.22

2 files

0.1.21

2 files

0.1.20

2 files

0.1.19

2 files

0.1.18

2 files

0.1.17

2 files

0.1.16

2 files

0.1.15

2 files

0.1.14

2 files

0.1.13

2 files

0.1.12

2 files

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 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