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.6.0.tar.gz (14.9 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.6.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lus-0.6.0.tar.gz
Algorithm Hash digest
SHA256 47707e280c7fe87e8e0f418d866c37abc3ef8ed800488c52e260e0c1df9140f0
MD5 1685b34a23471408c6fc9f7a72353088
BLAKE2b-256 d4db8a1c81452e67d8e300fe0bf34d3222bba198fe195d1c862282209d21cc0a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: lus-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 12.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.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 46f0e74a0ea5bc0c2813517e3e1211306d1ea1f3b4801bcb72ad9406ff9fbe8a
MD5 3cc73e796f02e33b8a2df663ec809672
BLAKE2b-256 d09c34d3a665ee6999b54d4669818fb4b9caea9f5dd034cf97c6866e00936e37

See more details on using hashes here.

Provenance

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