Metadata-Version: 2.4
Name: xonsh
Version: 0.22.8
Summary: Python-powered shell. Full-featured and cross-platform.
Author: Anthony Scopatz
Author-email: scopatz@gmail.com
Maintainer: Xonsh Community
Maintainer-email: xonsh@gil.forsyth.dev
License: BSD 2-Clause License
Project-URL: Homepage, https://xon.sh
Project-URL: documentation, https://xon.sh/contents.html
Project-URL: repository, https://github.com/xonsh/xonsh
Project-URL: changelog, https://github.com/xonsh/xonsh/blob/main/CHANGELOG.md
Project-URL: Issue tracker, https://github.com/xonsh/xonsh/issues
Platform: Cross Platform
Requires-Python: >=3.11
Description-Content-Type: text/plain
License-File: AUTHORS.rst
Provides-Extra: ptk
Requires-Dist: prompt-toolkit>=3.0.29; extra == "ptk"
Requires-Dist: pyperclip; extra == "ptk"
Provides-Extra: pygments
Requires-Dist: pygments>=2.2; extra == "pygments"
Provides-Extra: mac
Requires-Dist: gnureadline; extra == "mac"
Provides-Extra: linux
Requires-Dist: distro; extra == "linux"
Provides-Extra: proctitle
Requires-Dist: setproctitle; extra == "proctitle"
Provides-Extra: full
Requires-Dist: distro; platform_system == "Linux" and extra == "full"
Requires-Dist: gnureadline; platform_system == "Darwin" and extra == "full"
Requires-Dist: setproctitle; platform_system == "Windows" and extra == "full"
Requires-Dist: ujson; extra == "full"
Requires-Dist: xonsh[ptk,pygments]; extra == "full"
Provides-Extra: bestshell
Requires-Dist: prompt-toolkit>=3.0.29; extra == "bestshell"
Requires-Dist: pygments>=2.2; extra == "bestshell"
Provides-Extra: test
Requires-Dist: coverage>=5.3.1; extra == "test"
Requires-Dist: prompt-toolkit>=3.0.29; extra == "test"
Requires-Dist: pygments>=2.2; extra == "test"
Requires-Dist: pyte>=0.8.0; extra == "test"
Requires-Dist: pytest-cov; extra == "test"
Requires-Dist: pytest-mock; extra == "test"
Requires-Dist: pytest-rerunfailures; extra == "test"
Requires-Dist: pytest-subprocess; extra == "test"
Requires-Dist: pytest-timeout; extra == "test"
Requires-Dist: pytest>=7; extra == "test"
Requires-Dist: requests; extra == "test"
Requires-Dist: restructuredtext_lint; extra == "test"
Requires-Dist: virtualenv>=20.16.2; extra == "test"
Requires-Dist: xonsh[bestshell]; extra == "test"
Provides-Extra: dev
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: re-ver; extra == "dev"
Requires-Dist: tomli; extra == "dev"
Requires-Dist: xonsh[doc,test]; extra == "dev"
Provides-Extra: doc
Requires-Dist: furo; extra == "doc"
Requires-Dist: matplotlib; extra == "doc"
Requires-Dist: myst-parser; extra == "doc"
Requires-Dist: numpydoc; extra == "doc"
Requires-Dist: psutil; extra == "doc"
Requires-Dist: pyzmq; extra == "doc"
Requires-Dist: runthis-sphinxext; extra == "doc"
Requires-Dist: sphinx-autobuild; extra == "doc"
Requires-Dist: sphinx-prompt; extra == "doc"
Requires-Dist: sphinx>=3.1; extra == "doc"
Requires-Dist: tornado; extra == "doc"
Requires-Dist: xonsh[bestshell]; extra == "doc"
Dynamic: license-file

xonsh
=====

.. raw:: html

    <img src="https://avatars.githubusercontent.com/u/17418188?s=200&v=4" alt="Xonsh shell icon." align="left" width="100px">

**Xonsh** is a Python-powered shell. Full-featured, cross-platform and AI-friendly. The language is a superset of Python 3 with seamless integration of shell functionality and commands. The name Xonsh should be pronounced like "consh" — a softer form of the word "conch" (🐚, ``@``), referring to the world of command shells.

.. raw:: html

    <br clear="left"/>

.. list-table::
   :widths: 1 1

   *  -  **Xonsh is the Shell**
      -  **Xonsh is Python**

   *  -  .. code-block:: shell

            cd $HOME

            id $(whoami) > ~/id.txt

            cat /etc/passwd | grep root

            $PROMPT = '@ '


      -  .. code-block:: python

            2 + 2

            var = "hello".upper()

            @.imp.json.loads('{"a":1}')

            [i for i in range(0,10)]

   *  -  **Xonsh is the Shell in Python**
      -  **Xonsh is Python in the Shell**

   *  -  .. code-block:: python

            len($(curl -L https://xon.sh))

            $PATH.append('/tmp')

            p'/etc/passwd'.read_text().find('usr')

            $(@json podman ps --format json)['ID']

      -  .. code-block:: python

            name = 'snail'
            echo @(name) > /tmp/@(name)

            with p'/tmp/dir'.mkdir().cd():
                touch @(input('File: '))

            aliases['e'] = 'echo @(2+2)'
            aliases['a'] = lambda args: print(args)

   *  -  **Xonsh is a Meta-Shell**
      -  **Xonsh is an Ecosystem**

   *  -  .. code-block:: python

            xontrib load sh \
                         fish_completer

            def nudf(cmd):
                return @.imp.pandas.DataFrame(
                  @.imp.json.loads(
                    $(nu -c @(cmd+'| to json'))))
            nudf!(ls -la)

            aliases['ai'] = 'ollama run llama3'
            ai! how to remove images in podman


      -  .. code-block:: python

            xontrib load term_integration \
                         prompt_starship  \
                         powerline        \
                         dracula          \
                         chatgpt          \
                         django           \
                         jupyter          \
                         1password        \
                         github_copilot   \
                         history_encrypt


If you like xonsh, :star: the repo and spread the word about xonsh.

.. class:: center

    .. image:: https://img.shields.io/badge/Zulip%20Community-xonsh-green
            :target: https://xonsh.zulipchat.com/                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             