Local setup
Install Liminate locally.
You can download a standalone binary, install the command-line tool, or clone the repo to work on the language itself.
Liminate ships standalone release binaries, a liminate console script, editable contributor installs, pack execution extensions, and a build command for packaging programs.
Download a binary
Standalone builds are published on the GitHub Releases page. No Python install is required.
| Platform | Binary |
|---|---|
| macOS Apple Silicon | liminate-macos-arm64 |
| Linux x64 | liminate-linux-x64 |
| Windows x64 | liminate-windows-x64.exe |
chmod +x liminate-macos-arm64
./liminate-macos-arm64 --version
./liminate-macos-arm64 program.limn
Install the CLI
For everyday terminal use, install the liminate command. pipx keeps it isolated from other Python packages.
pipx install liminate
# or:
pip install liminate
liminate --version
Work from source
Use the editable install when you want to run tests or modify the interpreter.
git clone https://github.com/rmichaelthomas/liminate.git
cd liminate
python -m venv venv
source venv/bin/activate
pip install -e ".[dev]"
Run the tests
pytest tests/
Run an example file
liminate examples/program1_basics.limn
Quiet output
liminate --quiet examples/dogfood_v2a_14_realistic.limn
Run with packs
liminate --pack examples/pack_ui.json --quiet \
examples/dogfood_navigate_test.limn
liminate --pack examples/pack_test_execution_types.json --quiet \
examples/dogfood_v2_execution_types.limn
printf "hello\nworld\n" | liminate examples/dogfood_stdin_echo.limn \
--pack '{"type": "stdin"}' --quiet
The UI pack demonstrates navigate. The execution-types pack exercises set_value, substring_check, append_to_list, set_field, and compare_values. File watcher packs are also built in: pass --pack '{"type": "file-watcher", "path": "./inbox", "max_events": 1}' to poll a directory for created, modified, and deleted files.
Build a standalone program
pip install "liminate[build]"
liminate build demo.limn --output demo
./demo
./demo --inspect
liminate inspect ./demo
Requires Python 3.10+ for Python installs. python -m liminate remains equivalent when the console script is not on PATH.