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.4.0.tar.gz (12.0 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.4.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lus-0.4.0.tar.gz
Algorithm Hash digest
SHA256 82e44224cfd41e23066799e7d9e4d99dc5fa6d6860011bdd77943103c8590e15
MD5 4bf33caacec4788880454183c2b247f3
BLAKE2b-256 658590a1b7dca820bdbd9eb4260374eb3da5e641b128a3ffed066e9aff23c5ef

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: lus-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 10.5 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cf74ed1ff749e7a42f9e482f35d88aefad7fa3c359d681af979a8d9fbefe4e90
MD5 597b79000795182cc03f5ff8e148ec14
BLAKE2b-256 a5020200419fb1ea4ee1f61d54e2b1e60c77645e676256dd1fc8974e96cb86f0

See more details on using hashes here.

Provenance

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