Xontribs

The following lists known xonsh contributions (xontribs), a description of the xontrib, and how to get your hands on it. Once installed, these xontribs can be loaded into your session by adding them to your xonshrc file or on the command line using the xontrib command:

>>> xontrib mpl xo ...
apt_tabcomplete autoxsh avox bashisms click_tabcomplete
coreutils distributed docker_tabcomplete free_cwd fzf-widgets
jedi mpl powerline prompt_ret_code prompt_vi_mode
schedule scrapy_tabcomplete vox vox_tabcomplete whole_word_jumping
xo xonda z    

Information

apt_tabcomplete

Website:https://github.com/DangerOnTheRanger/xonsh-apt-tabcomplete
Package:xonsh-apt-tabcomplete website, BSD 2-clause

Adds tabcomplete functionality to apt-get/apt-cache inside of xonsh.

Installation:

# install with pip
xpip install xonsh-apt-tabcomplete

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load apt_tabcomplete

autoxsh

Website:https://github.com/Granitas/xonsh-autoxsh
Package:xonsh-autoxsh website, GPLv3

Adds automatic execution of xonsh script files called``.autoxsh`` when enterting a directory with cd function

Installation:

# install with pip
xpip install xonsh-autoxsh

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load autoxsh

avox

Website:https://github.com/astronouth7303/xontrib-avox
Package:xontrib-avox website, GPLv3

Automatic (de)activation of virtual environments as you cd around

Installation:

# install with pip
xpip install xontrib-avox

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load avox

bashisms

Website:http://xon.sh
Package:xonsh website, BSD 3-clause

Enables additional Bash-like syntax while at the command prompt. For example, the !! syntax for running the previous command is now usable.Note that these features are implemented as precommand events and these additions do not affect the xonsh language when run as script. That said, you might find them useful if you have strong muscle memory.

Warning: This xontrib may modify user command line input to implement its behavior. To see the modifications as they are applied (in unified diffformat), please set $XONSH_DEBUG to 2 or higher.

This xontrib is preinstalled with xonsh.

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load bashisms

click_tabcomplete

Website:https://github.com/Granitosaurus/xonsh-click-tabcomplete
Package:xonsh-click-tabcomplete website, GPLv3

Adds tabcomplete functionality to click based python applications inside of xonsh.

Installation:

# install with pip
xpip install xonsh-click-tabcomplete

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load click_tabcomplete

coreutils

Website:http://xon.sh
Package:xonsh website, BSD 3-clause

Additional core utilities that are implemented in xonsh. The current list includes:

  • cat
  • echo
  • pwd
  • tee
  • tty* yes

In many cases, these may have a lower performance overhead than the posix command line utility with the same name. This is because these tools avoid the need for a full subprocess call. Additionally, these tools are cross-platform.

This xontrib is preinstalled with xonsh.

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load coreutils

distributed

Website:http://xon.sh
Package:xonsh website, BSD 3-clause

The distributed parallel computing library hooks for xonsh. Importantly this provides a substitute ‘dworker’ command which enables distributed workers to have access to xonsh builtins.

Furthermore, this xontrib adds a ‘DSubmitter’ context manager for executing a block remotely. Moreover, this also adds a convenience function ‘dsubmit()’ for creating DSubmitter and Executor instances at the same time. Thus users may submit distributed jobs with:

with dsubmit('127.0.0.1:8786', rtn='x') as dsub:
    x = $(echo I am elsewhere)

res = dsub.future.result()
print(res)

This is useful for long running or non-blocking jobs.

This xontrib is preinstalled with xonsh.

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load distributed

docker_tabcomplete

Website:https://github.com/xsteadfastx/xonsh-docker-tabcomplete
Package:xonsh-docker-tabcomplete website, MIT

Adds tabcomplete functionality to docker inside of xonsh.

Installation:

# install with pip
xpip install xonsh-docker-tabcomplete

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load docker_tabcomplete

free_cwd

Website:http://xon.sh
Package:xonsh website, BSD 3-clause

Windows only xontrib, to release the lock on the current directory whenever the prompt is shown. Enabling this will allow the other programs or Windows Explorer to delete or rename the current or parent directories. Internally, it is accomplished by temporarily resetting CWD to the root drive folder while waiting at the prompt. This only works with the prompt_toolkit backend and can cause cause issues if any extensions are enabled that hook the prompt and relies on os.getcwd()

This xontrib is preinstalled with xonsh.

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load free_cwd

fzf-widgets

Website:https://github.com/shahinism/xontrib-fzf-widgets
Package:xontrib-fzf-widgets website, GPLv3

Adds some fzf widgets to your xonsh shell.

Installation:

# install with pip
xpip install xontrib-fzf-widgets

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load fzf-widgets

jedi

Website:http://xon.sh
Package:xonsh website, BSD 3-clause

Jedi tab completion hooks for xonsh.

This xontrib is preinstalled with xonsh.

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load jedi

mpl

Website:http://xon.sh
Package:xonsh website, BSD 3-clause

Matplotlib hooks for xonsh, including the new ‘mpl’ alias that displays the current figure on the screen.

This xontrib is preinstalled with xonsh.

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load mpl

powerline

Website:https://github.com/santagada/xontrib-powerline
Package:xontrib-powerline website, MIT

Powerline for Xonsh shell

Installation:

# install with pip
xpip install xontrib-powerline

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load powerline

prompt_ret_code

Website:http://xon.sh
Package:xonsh website, BSD 3-clause

Adds return code info to the prompt

This xontrib is preinstalled with xonsh.

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load prompt_ret_code

prompt_vi_mode

Website:https://github.com/t184256/xontrib-prompt-vi-mode
Package:xontrib-prompt-vi-mode website, MIT

vi-mode status formatter for xonsh prompt

Installation:

# install with pip
xpip install xontrib-prompt-vi-mode

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load prompt_vi_mode

schedule

Website:https://github.com/astronouth7303/xontrib-schedule
Package:xontrib-schedule website, MIT

Xonsh Task Scheduling

Installation:

# install with pip
xpip install xontrib-schedule

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load schedule

scrapy_tabcomplete

Website:https://github.com/Granitas/xonsh-scrapy-tabcomplete
Package:xonsh-scrapy-tabcomplete website, GPLv3

Adds tabcomplete functionality to scrapy inside of xonsh.

Installation:

# install with pip
xpip install xonsh-scrapy-tabcomplete

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load scrapy_tabcomplete

vox

Website:http://xon.sh
Package:xonsh website, BSD 3-clause

Python virtual environment manager for xonsh.

This xontrib is preinstalled with xonsh.

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load vox

vox_tabcomplete

Website:https://github.com/Granitosaurus/xonsh-vox-tabcomplete
Package:xonsh-vox-tabcomplete website, GPLv3

Adds tabcomplete functionality to vox inside of xonsh.

Installation:

# install with pip
xpip install xonsh-vox-tabcomplete

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load vox_tabcomplete

whole_word_jumping

Website:http://xon.sh
Package:xonsh website, BSD 3-clause

Jumping across whole words (non-whitespace) with Ctrl+Left/Right.Alt+Left/Right remains unmodified to jump over smaller word segments.

This xontrib is preinstalled with xonsh.

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load whole_word_jumping

xo

Website:https://github.com/scopatz/xo
Package:exofrills website, WTFPL

Adds an ‘xo’ alias to run the exofrills text editor in the current Python interpreter session. This shaves off a bit of the startup time when running your favorite, minimal text editor.

Installation:

# install with conda
conda install -c conda-forge xo    # install with pip
xpip install exofrills

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load xo

xonda

Website:https://github.com/gforsyth/xonda
Package:xonda website, MIT

A thin wrapper around conda with tab completion

Installation:

# install with pip
xpip install xonda

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load xonda

z

Website:https://github.com/astronouth7303/xontrib-z
Package:xontrib-z website, GPLv3

Tracks your most used directories, based on ‘frecency’.

Installation:

# install with pip
xpip install xontrib-z

Usage:

Run the following command to enable (or add it to your .xonshrc file to enable on startup.)

xontrib load z