Skip to main content

A simple task-runner using KDL for configuration

Project description

lus

lus is a task runner similar to just. It's key differentiators are:

  • No DSL, lus uses the existing KDL
  • Runs tasks directly without a shell
  • Comes with a simple built-in shell, so it works out-of-the-box on Windows
  • Less features
b {
    - lus build
}

- host="$(uname -a)"

// build main
build {
    - cc *.a -o main
}

// test everything
test-all {
    - lus build
    - "./test" --all
}

// run a specific test
test {
    - lus build
    - "./test" --test $args
}

Special environment variables

Variable Description
$args Additional arguments passed to lus
$subcommand Current subcommand being executed
$flags Arguments starting with --
$invocation_directory Directory where lus was invoked

Shell Completions

lus supports tab completion for bash, zsh, fish, and PowerShell. Add one of the following to your shell configuration:

Bash (~/.bashrc):

eval "$(lus --completions bash)"

Zsh (~/.zshrc):

autoload -Uz compinit && compinit; source <(lus --completions zsh)

Fish (~/.config/fish/config.fish):

lus --completions fish | source

PowerShell ($PROFILE):

Invoke-Expression (& lus --completions powershell)

Development

Run unit and integration tests:

python -m venv .venv
. .venv/bin/activate.fish
pip install kdl-py expandvars pytest
pytest

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

lus-0.5.1.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

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

lus-0.5.1-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file lus-0.5.1.tar.gz.

File metadata

  • Download URL: lus-0.5.1.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lus-0.5.1.tar.gz
Algorithm Hash digest
SHA256 b0ee0f1e7dd2a4e3c57d6966337b5dbd66f8ec0547b2d4a53f38d794fac9bab3
MD5 a7952cb287ecd06607b8427cc4055933
BLAKE2b-256 71813167d9dc298ce2b14deb3be0db575812f0241bbe6beb3c34c636ec353803

See more details on using hashes here.

Provenance

The following attestation bundles were made for lus-0.5.1.tar.gz:

Publisher: release.yml on jhasse/lus

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

File details

Details for the file lus-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: lus-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lus-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dc00b39c13613bf372f71f692400a05bcae9f89cfe96417fdfd1ff6e27a72fbd
MD5 689cdaca8e8f0ad931659faa0f5bfc90
BLAKE2b-256 6c16a7f60ebdd0da9beebb9de97e58f86a4b3b30dbd1dee73b45b985b7cf27d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for lus-0.5.1-py3-none-any.whl:

Publisher: release.yml on jhasse/lus

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