xonsh


Namexonsh JSON
Version 0.19.0 PyPI version JSON
download
home_pageNone
SummaryPython-powered shell. Full-featured and cross-platform.
upload_time2024-12-09 14:42:27
maintainerXonsh Community
docs_urlNone
authorAnthony Scopatz
requires_python>=3.9
licenseBSD 2-Clause License
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            xonsh
=====

.. class:: center

    **xonsh** is a Python-powered shell. Full-featured and cross-platform. The language is a superset of Python 3.6+ with additional shell primitives.  Xonsh word was made from *conch* (🐚, *@*) and indicates belonging to the command shells world.


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

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

   *  -  .. code-block:: shell

            cd $HOME

            id $(whoami)

            cat /etc/passwd | grep root > ~/root.txt

            $PROMPT = '@ '


      -  .. code-block:: python

            2 + 2

            var = "hello".upper()

            import json; 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('root')

            xontrib load dalias
            id = $(@json docker ps --format json)['ID']

      -  .. code-block:: python

            name = 'foo' + 'bar'.upper()
            echo @(name) > /tmp/@(name)

            ls @(input('file: '))
            touch @([f"file{i}" for i in range(0,10)])

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


If you like xonsh, :star: the repo, `write a tweet`_ and stay tuned by watching releases.

.. class:: center

    .. image:: https://img.shields.io/badge/Zulip%20Community-xonsh-green
            :target: https://xonsh.zulipchat.com/join/hbvue5rimpdkwkdjuiqfs7tv/
            :alt: Join to xonsh.zulipchat.com

    .. image:: https://github.com/xonsh/xonsh/actions/workflows/test.yml/badge.svg
            :target: https://github.com/xonsh/xonsh/actions/workflows/test.yml
            :alt: GitHub Actions

    .. image:: https://codecov.io/gh/xonsh/xonsh/branch/master/graphs/badge.svg?branch=main
            :target: https://codecov.io/github/xonsh/xonsh?branch=main
            :alt: codecov.io

    .. image:: https://repology.org/badge/tiny-repos/xonsh.svg
            :target: https://repology.org/project/xonsh/versions
            :alt: repology.org


First steps
***********

Install xonsh from pip:

.. code-block:: xonshcon

    python -m pip install 'xonsh[full]'

And visit https://xon.sh for more information:

- `Installation <https://xon.sh/contents.html#installation>`_ - using packages, docker or AppImage.
- `Tutorial <https://xon.sh/tutorial.html>`_ - step by step introduction in xonsh.

Extensions
**********

Xonsh has an extension/plugin system.  We call these additions ``xontribs``.

- `Xontribs on Github <https://github.com/topics/xontrib>`_
- `Awesome xontribs <https://github.com/xonsh/awesome-xontribs>`_
- `Core xontribs <https://xon.sh/api/_autosummary/xontribs/xontrib.html>`_
- `Create a xontrib step by step from template <https://github.com/xonsh/xontrib-template>`_

Projects that use xonsh or compatible
*************************************

- `conda <https://conda.io/projects/conda/en/latest/>`_ and `mamba <https://mamba.readthedocs.io/en/latest/>`_: Modern package managers.
- `Starship <https://starship.rs/>`_: Cross-shell prompt.
- `zoxide <https://github.com/ajeetdsouza/zoxide>`_: A smarter cd command.
- `gitsome <https://github.com/donnemartin/gitsome>`_: Supercharged Git/shell autocompleter with GitHub integration.
- `xxh <https://github.com/xxh/xxh>`_: Using xonsh wherever you go through the SSH.
- `any-nix-shell <https://github.com/haslersn/any-nix-shell>`_: xonsh support for the ``nix run`` and ``nix-shell`` environments of the Nix package manager.
- `lix <https://github.com/lix-project/lix>`_: A modern, delicious implementation of the Nix package manager.
- `x-cmd <https://www.x-cmd.com/>`_: x-cmd is a vast and interesting collection of tools guided by the Unix philosophy.
- `rever <https://regro.github.io/rever-docs/>`_: Cross-platform software release tool.
- `Regro autotick bot <https://github.com/regro/cf-scripts>`_: Regro Conda-Forge autoticker.

Jupyter-based interactive notebooks via `xontrib-jupyter <https://github.com/xonsh/xontrib-jupyter>`_:

- `Jupyter and JupyterLab <https://jupyter.org/>`_: Interactive notebook platform.
- `euporie <https://github.com/joouha/euporie>`_: Terminal based interactive computing environment.
- `Jupytext <https://jupytext.readthedocs.io/>`_: Clear and meaningful diffs when doing Jupyter notebooks version control.

The xonsh shell community
*************************

The xonsh shell is developed by a community of volunteers. There are a few ways to help out:

- Solve a `popular issue <https://github.com/xonsh/xonsh/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc>`_ or `high priority issue <https://github.com/xonsh/xonsh/issues?q=is%3Aopen+is%3Aissue+label%3Apriority-high+sort%3Areactions-%2B1-desc>`_ or a `good first issue <https://github.com/xonsh/xonsh/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22+sort%3Areactions-%2B1-desc>`_. You can start with the `Developer guide <https://xon.sh/devguide.html>`_.
- Take an `idea <https://github.com/xonsh/xontrib-template/issues?q=is%3Aopen+is%3Aissue+label%3Aidea+sort%3Areactions-%2B1-desc>`_ and `create a new xontrib <https://github.com/xonsh/xontrib-template#why-use-this-template>`_.
- Contribute to `xonsh API <https://github.com/xonsh/xonsh/tree/main/xonsh/api>`_.
- Become xonsh core developer by deep diving into xonsh internals. E.g. we feel a lack of Windows support.
- `Become a sponsor to xonsh <https://github.com/sponsors/xonsh>`_.
- `Write a tweet`_, post or an article to spread the good word about xonsh in the world.
- Give a star to xonsh repository and to `xontribs <https://github.com/topics/xontrib>`_ you like.

We welcome new contributors!

.. _write a tweet: https://twitter.com/intent/tweet?text=xonsh%20is%20a%20Python-powered,%20cross-platform,%20Unix-gazing%20shell%20language%20and%20command%20prompt.&url=https://github.com/xonsh/xonsh

Credits
*******

- Thanks to `Zulip <https://zulip.com/>`_ for supporting the xonsh community!

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "xonsh",
    "maintainer": "Xonsh Community",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "xonsh@gil.forsyth.dev",
    "keywords": null,
    "author": "Anthony Scopatz",
    "author_email": "scopatz@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/13/23/3631d79cd40d32af13dba303a212a8a1879177dd1f9a5ebd04eee8779650/xonsh-0.19.0.tar.gz",
    "platform": "Cross Platform",
    "description": "xonsh\n=====\n\n.. class:: center\n\n    **xonsh** is a Python-powered shell. Full-featured and cross-platform. The language is a superset of Python 3.6+ with additional shell primitives.  Xonsh word was made from *conch* (\ud83d\udc1a, *@*) and indicates belonging to the command shells world.\n\n\n.. list-table::\n   :widths: 1 1\n\n   *  -  **Xonsh is the Shell**\n      -  **Xonsh is Python**\n\n   *  -  .. code-block:: shell\n\n            cd $HOME\n\n            id $(whoami)\n\n            cat /etc/passwd | grep root > ~/root.txt\n\n            $PROMPT = '@ '\n\n\n      -  .. code-block:: python\n\n            2 + 2\n\n            var = \"hello\".upper()\n\n            import json; json.loads('{\"a\":1}')\n\n            [i for i in range(0,10)]\n\n   *  -  **Xonsh is the Shell in Python**\n      -  **Xonsh is Python in the Shell**\n\n   *  -  .. code-block:: python\n\n            len($(curl -L https://xon.sh))\n\n            $PATH.append('/tmp')\n\n            p'/etc/passwd'.read_text().find('root')\n\n            xontrib load dalias\n            id = $(@json docker ps --format json)['ID']\n\n      -  .. code-block:: python\n\n            name = 'foo' + 'bar'.upper()\n            echo @(name) > /tmp/@(name)\n\n            ls @(input('file: '))\n            touch @([f\"file{i}\" for i in range(0,10)])\n\n            aliases['e'] = 'echo @(2+2)'\n            aliases['a'] = lambda args: print(args)\n\n\nIf you like xonsh, :star: the repo, `write a tweet`_ and stay tuned by watching releases.\n\n.. class:: center\n\n    .. image:: https://img.shields.io/badge/Zulip%20Community-xonsh-green\n            :target: https://xonsh.zulipchat.com/join/hbvue5rimpdkwkdjuiqfs7tv/\n            :alt: Join to xonsh.zulipchat.com\n\n    .. image:: https://github.com/xonsh/xonsh/actions/workflows/test.yml/badge.svg\n            :target: https://github.com/xonsh/xonsh/actions/workflows/test.yml\n            :alt: GitHub Actions\n\n    .. image:: https://codecov.io/gh/xonsh/xonsh/branch/master/graphs/badge.svg?branch=main\n            :target: https://codecov.io/github/xonsh/xonsh?branch=main\n            :alt: codecov.io\n\n    .. image:: https://repology.org/badge/tiny-repos/xonsh.svg\n            :target: https://repology.org/project/xonsh/versions\n            :alt: repology.org\n\n\nFirst steps\n***********\n\nInstall xonsh from pip:\n\n.. code-block:: xonshcon\n\n    python -m pip install 'xonsh[full]'\n\nAnd visit https://xon.sh for more information:\n\n- `Installation <https://xon.sh/contents.html#installation>`_ - using packages, docker or AppImage.\n- `Tutorial <https://xon.sh/tutorial.html>`_ - step by step introduction in xonsh.\n\nExtensions\n**********\n\nXonsh has an extension/plugin system.  We call these additions ``xontribs``.\n\n- `Xontribs on Github <https://github.com/topics/xontrib>`_\n- `Awesome xontribs <https://github.com/xonsh/awesome-xontribs>`_\n- `Core xontribs <https://xon.sh/api/_autosummary/xontribs/xontrib.html>`_\n- `Create a xontrib step by step from template <https://github.com/xonsh/xontrib-template>`_\n\nProjects that use xonsh or compatible\n*************************************\n\n- `conda <https://conda.io/projects/conda/en/latest/>`_ and `mamba <https://mamba.readthedocs.io/en/latest/>`_: Modern package managers.\n- `Starship <https://starship.rs/>`_: Cross-shell prompt.\n- `zoxide <https://github.com/ajeetdsouza/zoxide>`_: A smarter cd command.\n- `gitsome <https://github.com/donnemartin/gitsome>`_: Supercharged Git/shell autocompleter with GitHub integration.\n- `xxh <https://github.com/xxh/xxh>`_: Using xonsh wherever you go through the SSH.\n- `any-nix-shell <https://github.com/haslersn/any-nix-shell>`_: xonsh support for the ``nix run`` and ``nix-shell`` environments of the Nix package manager.\n- `lix <https://github.com/lix-project/lix>`_: A modern, delicious implementation of the Nix package manager.\n- `x-cmd <https://www.x-cmd.com/>`_: x-cmd is a vast and interesting collection of tools guided by the Unix philosophy.\n- `rever <https://regro.github.io/rever-docs/>`_: Cross-platform software release tool.\n- `Regro autotick bot <https://github.com/regro/cf-scripts>`_: Regro Conda-Forge autoticker.\n\nJupyter-based interactive notebooks via `xontrib-jupyter <https://github.com/xonsh/xontrib-jupyter>`_:\n\n- `Jupyter and JupyterLab <https://jupyter.org/>`_: Interactive notebook platform.\n- `euporie <https://github.com/joouha/euporie>`_: Terminal based interactive computing environment.\n- `Jupytext <https://jupytext.readthedocs.io/>`_: Clear and meaningful diffs when doing Jupyter notebooks version control.\n\nThe xonsh shell community\n*************************\n\nThe xonsh shell is developed by a community of volunteers. There are a few ways to help out:\n\n- Solve a `popular issue <https://github.com/xonsh/xonsh/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc>`_ or `high priority issue <https://github.com/xonsh/xonsh/issues?q=is%3Aopen+is%3Aissue+label%3Apriority-high+sort%3Areactions-%2B1-desc>`_ or a `good first issue <https://github.com/xonsh/xonsh/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22+sort%3Areactions-%2B1-desc>`_. You can start with the `Developer guide <https://xon.sh/devguide.html>`_.\n- Take an `idea <https://github.com/xonsh/xontrib-template/issues?q=is%3Aopen+is%3Aissue+label%3Aidea+sort%3Areactions-%2B1-desc>`_ and `create a new xontrib <https://github.com/xonsh/xontrib-template#why-use-this-template>`_.\n- Contribute to `xonsh API <https://github.com/xonsh/xonsh/tree/main/xonsh/api>`_.\n- Become xonsh core developer by deep diving into xonsh internals. E.g. we feel a lack of Windows support.\n- `Become a sponsor to xonsh <https://github.com/sponsors/xonsh>`_.\n- `Write a tweet`_, post or an article to spread the good word about xonsh in the world.\n- Give a star to xonsh repository and to `xontribs <https://github.com/topics/xontrib>`_ you like.\n\nWe welcome new contributors!\n\n.. _write a tweet: https://twitter.com/intent/tweet?text=xonsh%20is%20a%20Python-powered,%20cross-platform,%20Unix-gazing%20shell%20language%20and%20command%20prompt.&url=https://github.com/xonsh/xonsh\n\nCredits\n*******\n\n- Thanks to `Zulip <https://zulip.com/>`_ for supporting the xonsh community!\n",
    "bugtrack_url": null,
    "license": "BSD 2-Clause License",
    "summary": "Python-powered shell. Full-featured and cross-platform.",
    "version": "0.19.0",
    "project_urls": {
        "Homepage": "https://xon.sh",
        "Issue tracker": "https://github.com/xonsh/xonsh/issues",
        "changelog": "https://github.com/xonsh/xonsh/blob/main/CHANGELOG.rst",
        "documentation": "https://xon.sh/contents.html",
        "repository": "https://github.com/xonsh/xonsh"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "68ba20dc35e074c4615a7371f5dfd1dda075baaf2389c28770d1bd695b7a6983",
                "md5": "dc3224d4355f736f41690514965bdf12",
                "sha256": "5dbfd992bafc7a6c7d058d3eb5d659c18654ac587c0cec1c2ce70d9b479d11ec"
            },
            "downloads": -1,
            "filename": "xonsh-0.19.0-py310-none-any.whl",
            "has_sig": false,
            "md5_digest": "dc3224d4355f736f41690514965bdf12",
            "packagetype": "bdist_wheel",
            "python_version": "py310",
            "requires_python": ">=3.9",
            "size": 640488,
            "upload_time": "2024-12-09T14:42:24",
            "upload_time_iso_8601": "2024-12-09T14:42:24.762441Z",
            "url": "https://files.pythonhosted.org/packages/68/ba/20dc35e074c4615a7371f5dfd1dda075baaf2389c28770d1bd695b7a6983/xonsh-0.19.0-py310-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a5014e99cf4fd05127f3c38de297cefbfacb239e37dec41e3a299193dfc3dc4",
                "md5": "322d594b27ea3da9abc15cdb68713aa5",
                "sha256": "53304e2b29fef5792280292f064377cf978d1479ffb119d9cfe0cd908714c437"
            },
            "downloads": -1,
            "filename": "xonsh-0.19.0-py311-none-any.whl",
            "has_sig": false,
            "md5_digest": "322d594b27ea3da9abc15cdb68713aa5",
            "packagetype": "bdist_wheel",
            "python_version": "py311",
            "requires_python": ">=3.9",
            "size": 640486,
            "upload_time": "2024-12-09T14:42:25",
            "upload_time_iso_8601": "2024-12-09T14:42:25.296797Z",
            "url": "https://files.pythonhosted.org/packages/2a/50/14e99cf4fd05127f3c38de297cefbfacb239e37dec41e3a299193dfc3dc4/xonsh-0.19.0-py311-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "21f7ea7b9ac15b29ed4abe2c38b99ccac2374ab09b4e4c5126fc28033db90eee",
                "md5": "f0474e22983d605d33fbdb83ddef0720",
                "sha256": "8d56613e08d1bba04c2f3079a47772c003f3bc933c977ab9f4d96f0ee09083f0"
            },
            "downloads": -1,
            "filename": "xonsh-0.19.0-py312-none-any.whl",
            "has_sig": false,
            "md5_digest": "f0474e22983d605d33fbdb83ddef0720",
            "packagetype": "bdist_wheel",
            "python_version": "py312",
            "requires_python": ">=3.9",
            "size": 640484,
            "upload_time": "2024-12-09T14:42:19",
            "upload_time_iso_8601": "2024-12-09T14:42:19.226006Z",
            "url": "https://files.pythonhosted.org/packages/21/f7/ea7b9ac15b29ed4abe2c38b99ccac2374ab09b4e4c5126fc28033db90eee/xonsh-0.19.0-py312-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d43be5861d7644052d02ed4788dc23eb4a3818755248e92ad26894329b65acaf",
                "md5": "34c2e433c132a31ce10d9c90f865be70",
                "sha256": "7ba38ad9e662ce12099718a8a7cd5f3a352629e3cc4aa553e90b6501509270bc"
            },
            "downloads": -1,
            "filename": "xonsh-0.19.0-py313-none-any.whl",
            "has_sig": false,
            "md5_digest": "34c2e433c132a31ce10d9c90f865be70",
            "packagetype": "bdist_wheel",
            "python_version": "py313",
            "requires_python": ">=3.9",
            "size": 640973,
            "upload_time": "2024-12-09T14:42:29",
            "upload_time_iso_8601": "2024-12-09T14:42:29.445066Z",
            "url": "https://files.pythonhosted.org/packages/d4/3b/e5861d7644052d02ed4788dc23eb4a3818755248e92ad26894329b65acaf/xonsh-0.19.0-py313-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d780165fc848e3419a7aec230470ad4c5a11b4f32ec1668b5c70297acb1f8429",
                "md5": "977461ef5ff285a90198abc408073e24",
                "sha256": "f0a628316006198809bdd5f5923398a06b8c040addf32bbe8de75f03bbb5162d"
            },
            "downloads": -1,
            "filename": "xonsh-0.19.0-py39-none-any.whl",
            "has_sig": false,
            "md5_digest": "977461ef5ff285a90198abc408073e24",
            "packagetype": "bdist_wheel",
            "python_version": "py39",
            "requires_python": ">=3.9",
            "size": 632705,
            "upload_time": "2024-12-09T14:42:21",
            "upload_time_iso_8601": "2024-12-09T14:42:21.972695Z",
            "url": "https://files.pythonhosted.org/packages/d7/80/165fc848e3419a7aec230470ad4c5a11b4f32ec1668b5c70297acb1f8429/xonsh-0.19.0-py39-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "13233631d79cd40d32af13dba303a212a8a1879177dd1f9a5ebd04eee8779650",
                "md5": "a4011a4b04da1471c6e8dafd37a29cc9",
                "sha256": "e90cd1a5d7f3ad576c9572b161cb37a1c27872fbb1f5707566bb4a38c6c897af"
            },
            "downloads": -1,
            "filename": "xonsh-0.19.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a4011a4b04da1471c6e8dafd37a29cc9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 795746,
            "upload_time": "2024-12-09T14:42:27",
            "upload_time_iso_8601": "2024-12-09T14:42:27.496764Z",
            "url": "https://files.pythonhosted.org/packages/13/23/3631d79cd40d32af13dba303a212a8a1879177dd1f9a5ebd04eee8779650/xonsh-0.19.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-09 14:42:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "xonsh",
    "github_project": "xonsh",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "xonsh"
}
        
Elapsed time: 0.55615s