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.1.tar.gz (15.8 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.1-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lus-0.6.1.tar.gz
Algorithm Hash digest
SHA256 88196f8231cfb334ecc9d2ef8b220b12b2dada011a0d541b83a652d2d18e56f6
MD5 561564f2169efd289f3176069ac9b897
BLAKE2b-256 acc158ded5c5fd5cf31538aea5b47240aca853257dfeb3ab49b058a062415794

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for lus-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 02279324db038a7b5c5b521c928882ab25610b8c5cc0e4debb6eded5cb2dbc17
MD5 b55133c623dce53b52d5901f3fe3524a
BLAKE2b-256 7d091083f81d2389725bc0f3e9f4dd0cf41f19f8aa9ecee5fef38fc630cb3cfa

See more details on using hashes here.

Provenance

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