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,
lususes 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47707e280c7fe87e8e0f418d866c37abc3ef8ed800488c52e260e0c1df9140f0
|
|
| MD5 |
1685b34a23471408c6fc9f7a72353088
|
|
| BLAKE2b-256 |
d4db8a1c81452e67d8e300fe0bf34d3222bba198fe195d1c862282209d21cc0a
|
Provenance
The following attestation bundles were made for lus-0.6.0.tar.gz:
Publisher:
release.yml on jhasse/lus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lus-0.6.0.tar.gz -
Subject digest:
47707e280c7fe87e8e0f418d866c37abc3ef8ed800488c52e260e0c1df9140f0 - Sigstore transparency entry: 1175495912
- Sigstore integration time:
-
Permalink:
jhasse/lus@483651a5c1dadef7c7fc3a7f4d61f418f5351371 -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/jhasse
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@483651a5c1dadef7c7fc3a7f4d61f418f5351371 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46f0e74a0ea5bc0c2813517e3e1211306d1ea1f3b4801bcb72ad9406ff9fbe8a
|
|
| MD5 |
3cc73e796f02e33b8a2df663ec809672
|
|
| BLAKE2b-256 |
d09c34d3a665ee6999b54d4669818fb4b9caea9f5dd034cf97c6866e00936e37
|
Provenance
The following attestation bundles were made for lus-0.6.0-py3-none-any.whl:
Publisher:
release.yml on jhasse/lus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lus-0.6.0-py3-none-any.whl -
Subject digest:
46f0e74a0ea5bc0c2813517e3e1211306d1ea1f3b4801bcb72ad9406ff9fbe8a - Sigstore transparency entry: 1175495917
- Sigstore integration time:
-
Permalink:
jhasse/lus@483651a5c1dadef7c7fc3a7f4d61f418f5351371 -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/jhasse
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@483651a5c1dadef7c7fc3a7f4d61f418f5351371 -
Trigger Event:
push
-
Statement type: