Skip to content

xonsh/awesome-xontribs

Repository files navigation

Awesome Xontribs

Awesome list of Xonsh contributions (xontribs). Xontribs are a set of tools and conventions for extending the functionality of xonsh beyond what is provided by default. This allows 3rd party developers and users to improve their xonsh experience without having to go through the xonsh development and release cycle.

Education materials

Core Xontrib

These modules are part of xonsh itself but need to be loaded explicitly using xontrib load*

  • coreutils - Additional core utilities that are implemented in xonsh.

Python virtual-environment management

  • vox - Python virtual environment manager for xonsh.

  • autovox - A framework for automatic vox.* voxapi - API for vox.

  • avox - Policy for autovox based on project directories.

  • avox_poetry - auto-activate venv as one cd into a poetry project folder. Activate .venv inside the project folder is also supported.

Tab-completions

Extends auto-completion capabilities

  • abbrevs - Expands input words as you type in xonsh shell (fish-shell-like abbreviations).

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

  • argcomplete - Argcomplete support to tab completion of python and xonsh scripts in xonsh.

  • bash_completions_dirs - Autocomplete loading from directories for the xonsh.

  • django - Django management command completions for Xonsh shell.

  • docker_tabcomplete - Adds tabcomplete functionality to docker inside of xonsh.

  • fish_completer - Populate rich completions using fish shell instead of bash.

  • jedi - Use Jedi as xonsh's python completer.

  • makefile_complete - Adds tabcomplete functionality to make inside of xonsh.

  • scrapy_tabcomplete - Adds tabcomplete functionality to scrapy inside of xonsh.

Directory Navigation

  • autojump - autojump support for xonsh.

  • back2dir - Return to the most recently used directory when starting the xonsh shell. For example, if you were in the '/work' directory when you last exited xonsh, then your next xonsh session will start in the '/work' directory, instead of your home directory.

  • broot - supports broot with br alias.

  • cd - 'cd' to any path without escaping in xonsh shell ('cd '→'cd! ').

  • free_cwd - This will release the lock on the current directory whenever the prompt is shown.

  • fstrider - File system navigator for reducing keystrokes and doing thing intuitive. Alternative to cd-ls.

  • hist_navigator - fish like nextd and prevd with default keybindings.

  • jump-to-dir - Jump to used before directory by part of the path. Lightweight zero-dependency implementation of autojump or zoxide projects functionality.

  • up - The fast way to go up directories.

  • z - Tracks your most used directories, based on 'frecency'.

  • zoxide - Zoxide integration for xonsh.

  • dotdot - "...." -> "cd ../../..".

Prompts

Prompt tweaks

Theming & Styling

Language extensions

Changes to the xonsh core language.

  • coconut - Use language features from Coconut, a functional-programming-oriented strict superset of Python.

Integrations

  • bashisms - Bash-like interface extensions for xonsh.

  • distributed - The distributed parallel computing library hooks for xonsh.

  • jupyter - Jupyter Notebook kernel for Xonsh.

  • kitty - Xonsh hooks for the Kitty terminal emulator.

  • mpl - Matplotlib hooks for xonsh, including the new 'mpl' alias that displays the current figure on the screen.

  • langenv - pyenv/nodenv/goenv/rbenv integration for xonsh.

  • xonsh-prewarmed - run interactive xonsh session in milliseconds using prewarmed GNU Screen session from the background.

  • homebrew - Add Homebrew's shell environment to xonsh shell on macOS/Linux.

  • init_ssh_agent - ssh-agent initialization.

  • ssh_agent - ssh-agent integration.

  • shadowenv - shadowenv integration.

  • tcg - tcg integration.

  • xo - 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.

  • xxh - Using xonsh wherever you go through the ssh.

Plugins

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

  • chatgpt - Adds ability to communicate with OpenAI's ChatGPT directly from the command line.

  • clp - Copy output to clipboard. Cross-platform.

  • cmd_done - send notification once long-running command is finished. Adds long_cmd_duration field to $PROMPT_FIELDS.

  • commands - Some useful commands/aliases to use with Xonsh shell.

  • default-command - Run a default command when you press return on an empty command line.

  • direnv - Supports direnv.

  • brace-expansion - Implements simple brace expansion: a{d,c,b}e -> ade ace abe

  • fzf-widgets - Adds some fzf widgets to your xonsh shell.

  • skim - Fuzzy-search (with skim) xonsh history of commands and their CWDs, zoxide cd history (CWD/dir support in-place navigation), files/dirs in the current directory, ssh hosts.

  • gitinfo - Displays git information on entering a repository folder. Uses onefetch if available.

  • histcpy - Useful aliases and shortcuts for extracting links and textfrom command output history and putting them into the clipboard.

  • macro - Library of the useful macros for the xonsh shell.

  • onepath - When you click to a file or folder in graphical OS they will be opened in associated app.The xontrib-onepath brings the same logic for the xonsh shell. Type the filename or pathwithout preceding command and an associated action will be executed. The actions are customizable.

  • output_search - Get identifiers, names, paths, URLs and words from the previous command output and use them for the next command.

  • pipeliner - Let your pipe lines flow thru the Python code in xonsh.

  • pyrtn - IPython like In[]/Out[] to access python return values in the current session.

  • readable-traceback - Make traceback easier to see for xonsh.

  • schedule - Xonsh task scheduling.

  • sh - Paste and run commands from bash, zsh, fish in xonsh shell.

  • xpg - Run/plot/explain sql query for PostgreSQL.

History backends

  • history_encrypt - History backend that encrypt the xonsh shell commands history to prevent leaking sensitive data.

Debugging

  • xontrib-debug-tools - Debug tools for xonsh shell:

    • xog - This adds xog - a simple command to establish and print temporary traceback log file.
    • pdb - Simple built-in debugger.

Popular Links