Lua environment manager
Project description
(🌑) 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.
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 luamb-0.5.0.tar.gz.
File metadata
- Download URL: luamb-0.5.0.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dcd6254de58bac1bf368cb69fa4a39e29992946d3ff5c47520ee5033a63c7460
|
|
| MD5 |
d72914618e7bab4f029db64afa9fb76c
|
|
| BLAKE2b-256 |
c5440da67820cf60110597f216499b54f7eb51d25e58ae1b38eca1039964203c
|
File details
Details for the file luamb-0.5.0-py3-none-any.whl.
File metadata
- Download URL: luamb-0.5.0-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c1a506d8ec58a757cabe08861a47b114ab7bfb3b2856eca5852ee97680acd7a
|
|
| MD5 |
4e2a933cec00821c2988983850a8dfd6
|
|
| BLAKE2b-256 |
04072ce1cca392e4bf7f302f2a8cad43656142914a1ef7f8d75375719355acc2
|