(🌑) luamb
Lua environment manager built on top of hererocks and inspired by virtualenvwrapper.
Supported shells
- Bash
- Zsh
Installation
-
Install luamb using
pip:pip install [--user] luamb
or
pipx:pipx install luamb
-
Set up your shell — add the following to
~/.bashrcor~/.zshrc:source <(luamb shellsrc)
-
Install hererocks:
luamb update
Configuration
luamb is configured via environment variables.
-
LUAMB_HOMEA directory where luamb stores its data (hererocks, environments, etc.). The default value is
$XDG_DATA_HOME/luamb(usually~/.local/share/luamb) on Linux and~/Library/Application Support/luambon macOS. -
LUAMB_ENVS_DIRA directory where luamb stores environments. The default value is
$LUAMB_HOME/envs. -
LUAMB_LUA_DEFAULTA default Lua interpreter/version. The format is
interpreter version_specifier, e.g.,lua 5.3,luajit @v2.1,moonjit /path/to,raptorjit latest. -
LUAMB_LUAROCKS_DEFAULTA default LuaRocks version, e.g,
latest,3.11.0. -
LUAMB_DISABLE_COMPLETIONSet to
trueto disable shell completions. -
LUAMB_PYTHON_BINIf the luamb executable is not in
PATH, setLUAMB_PYTHON_BINto the Python executable with theluambpackage installed and change the shell initialization command:export LUAMB_PYTHON_BIN=/path/to/bin/python source <("$LUAMB_PYTHON_BIN" -m luamb shellsrc)
Examples
-
Create an environment 'myproject' with the latest Lua 5.2, the latest LuaRocks and associate it with /home/user/projects/myproject:
luamb mk myproject -l 5.2 -r latest -a /home/user/projects/myproject
-
Create an environment 'jittest' with LuaJIT 2.0.4, without LuaRocks and associate it with /home/user/projects/jitproj:
luamb mk jittest -j 2.0.4 -a /home/user/projects/jitproj
-
Set the latest LuaJIT 2.0 and the latest LuaRocks as default versions:
export LUAMB_LUA_DEFAULT='luajit 2.0' export LUAMB_LUAROCKS_DEFAULT=latest
-
Create an environment 'newenv' with the default versions and without associated project directory:
luamb mk newenv
-
Create an environment 'norocks' with the default Lua version and without LuaRocks (verbose mode):
luamb mk norocks --no-luarocks --verbose
-
Activate the 'newenv' environment:
luamb on newenv
-
Deactivate the current environment:
luamb off -
Delete the 'myproject' environment (it will remove the environment directory only, not the project one):
luamb rm myproject
Commands
on|enable|activate— activate an environmentoff|disable|deactivate— deactivate the current environmentmk|new|create— create a new environmentrm|remove|del|delete— remove an environmentinfo|show— Show the details for a single virtualenvls|list— list all of the environmentsupdate— install/update thehererocksscriptshellsrc— print the shell initialization code
Version history
See CHANGELOG.md.
License
The MIT License.
Metadata
Release files for luamb 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| luamb-0.5.0.tar.gz | 14.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| luamb-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.9 kB
Release files / luamb-0.5.0.tar.gz
| Download URL | luamb-0.5.0.tar.gz |
|---|---|
| Size | 14.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dcd6254de58bac1bf368cb69fa4a39e29992946d3ff5c47520ee5033a63c7460
|
|
BLAKE2b-256 checksum How to use checksums |
c5440da67820cf60110597f216499b54f7eb51d25e58ae1b38eca1039964203c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.2
|
Release files / luamb-0.5.0-py3-none-any.whl
| Download URL | luamb-0.5.0-py3-none-any.whl |
|---|---|
| Size | 13.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9c1a506d8ec58a757cabe08861a47b114ab7bfb3b2856eca5852ee97680acd7a
|
|
BLAKE2b-256 checksum How to use checksums |
04072ce1cca392e4bf7f302f2a8cad43656142914a1ef7f8d75375719355acc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.2
|