Skip to main content

(🌑) luamb

Lua environment manager built on top of hererocks and inspired by virtualenvwrapper.

Supported shells

  • Bash
  • Zsh

Installation

  1. Install luamb using pip:

    pip install [--user] luamb
    

    or pipx:

    pipx install luamb
    
  2. Set up your shell — add the following to ~/.bashrc or ~/.zshrc:

    source <(luamb shellsrc)
    
  3. Install hererocks:

    luamb update
    

Configuration

luamb is configured via environment variables.

  • LUAMB_HOME

    A 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/luamb on macOS.

  • LUAMB_ENVS_DIR

    A directory where luamb stores environments. The default value is $LUAMB_HOME/envs.

  • LUAMB_LUA_DEFAULT

    A 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_DEFAULT

    A default LuaRocks version, e.g, latest, 3.11.0.

  • LUAMB_DISABLE_COMPLETION

    Set to true to disable shell completions.

  • LUAMB_PYTHON_BIN

    If the luamb executable is not in PATH, set LUAMB_PYTHON_BIN to the Python executable with the luamb package 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 environment
  • off | disable | deactivate — deactivate the current environment
  • mk | new | create — create a new environment
  • rm | remove | del | delete — remove an environment
  • info | show — Show the details for a single virtualenv
  • ls | list — list all of the environments
  • update — install/update the hererocks script
  • shellsrc — 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)

Source distribution for luamb 0.5.0
File Size Uploaded
luamb-0.5.0.tar.gz 14.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for luamb 0.5.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page