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.3.0.tar.gz (11.7 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.3.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lus-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9b02050ebc589abf0f6bca9eb4d5c461db4abfda79a5f99dc5990d3517cdfb0f
MD5 2413ba4c8ae5f3ee88334dca96441652
BLAKE2b-256 5e2768c2b374a068275cd0db5a427a2f716a78e3b81e13141f5eed4d16e93c92

See more details on using hashes here.

Provenance

The following attestation bundles were made for lus-0.3.0.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: lus-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 10.2 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5716c2cb4732fedd5682b2b1e19befb94606d9c959e5ac61ab69e04976854d68
MD5 ce6f212905c6fd7f6618491a57a5c6f1
BLAKE2b-256 d948045a372cea6eafb11cff2624f2eabcef8a2c0f8eeb340cb1fc770de15475

See more details on using hashes here.

Provenance

The following attestation bundles were made for lus-0.3.0-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