Name | xonsh JSON |
Version |
0.19.2
JSON |
| download |
home_page | None |
Summary | Python-powered shell. Full-featured and cross-platform. |
upload_time | 2025-02-11 17:10:43 |
maintainer | Xonsh Community |
docs_url | None |
author | Anthony Scopatz |
requires_python | >=3.9 |
license | BSD 2-Clause License |
keywords |
|
VCS |
![](/static/img/github-24-000000.png) |
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/68/4e/56e95a5e607eb3b0da37396f87cde70588efc8ef819ab16f02d5b8378dc4/xonsh-0.19.2.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.2",
"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": null,
"digests": {
"blake2b_256": "6c13281094759df87b23b3c02dc4a16603ab08ea54d7f6acfeb69f3341137c7a",
"md5": "ea364b032e54a1529470e2d7da5d3371",
"sha256": "ec7f163fd3a4943782aa34069d4e72793328c916a5975949dbec8536cbfc089b"
},
"downloads": -1,
"filename": "xonsh-0.19.2-py310-none-any.whl",
"has_sig": false,
"md5_digest": "ea364b032e54a1529470e2d7da5d3371",
"packagetype": "bdist_wheel",
"python_version": "py310",
"requires_python": ">=3.9",
"size": 642301,
"upload_time": "2025-02-11T17:10:39",
"upload_time_iso_8601": "2025-02-11T17:10:39.244457Z",
"url": "https://files.pythonhosted.org/packages/6c/13/281094759df87b23b3c02dc4a16603ab08ea54d7f6acfeb69f3341137c7a/xonsh-0.19.2-py310-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2941a51e4c3918fe9a293b150cb949b1b8c6d45eb17dfed480dcb76ea43df4e7",
"md5": "406c104e87e48f6c834ea736befe5fd3",
"sha256": "53c45f7a767901f2f518f9b8dd60fc653e0498e56e89825e1710bb0859985049"
},
"downloads": -1,
"filename": "xonsh-0.19.2-py311-none-any.whl",
"has_sig": false,
"md5_digest": "406c104e87e48f6c834ea736befe5fd3",
"packagetype": "bdist_wheel",
"python_version": "py311",
"requires_python": ">=3.9",
"size": 642286,
"upload_time": "2025-02-11T17:10:41",
"upload_time_iso_8601": "2025-02-11T17:10:41.678871Z",
"url": "https://files.pythonhosted.org/packages/29/41/a51e4c3918fe9a293b150cb949b1b8c6d45eb17dfed480dcb76ea43df4e7/xonsh-0.19.2-py311-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0a939a77b731f492fac27c577dea2afb5a2bcc2a6a1c79be0c86c95498060270",
"md5": "88aaba952c65cc62612b51bb0793032a",
"sha256": "b24c619aa52b59eae4d35c4195dba9b19a2c548fb5c42c6f85f2b8ccb96807b5"
},
"downloads": -1,
"filename": "xonsh-0.19.2-py312-none-any.whl",
"has_sig": false,
"md5_digest": "88aaba952c65cc62612b51bb0793032a",
"packagetype": "bdist_wheel",
"python_version": "py312",
"requires_python": ">=3.9",
"size": 642386,
"upload_time": "2025-02-11T17:10:43",
"upload_time_iso_8601": "2025-02-11T17:10:43.688544Z",
"url": "https://files.pythonhosted.org/packages/0a/93/9a77b731f492fac27c577dea2afb5a2bcc2a6a1c79be0c86c95498060270/xonsh-0.19.2-py312-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "be75070324769c1ff88d971ce040f4f486339be98e0a365c8dd9991eb654265b",
"md5": "88eb2ab39eee46c7ec0a73aa482b19dc",
"sha256": "c53ef6c19f781fbc399ed1b382b5c2aac2125010679a3b61d643978273c27df0"
},
"downloads": -1,
"filename": "xonsh-0.19.2-py313-none-any.whl",
"has_sig": false,
"md5_digest": "88eb2ab39eee46c7ec0a73aa482b19dc",
"packagetype": "bdist_wheel",
"python_version": "py313",
"requires_python": ">=3.9",
"size": 642873,
"upload_time": "2025-02-11T17:10:39",
"upload_time_iso_8601": "2025-02-11T17:10:39.297014Z",
"url": "https://files.pythonhosted.org/packages/be/75/070324769c1ff88d971ce040f4f486339be98e0a365c8dd9991eb654265b/xonsh-0.19.2-py313-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "facb2c7ccec54f5b0e73fdf7650e8336582ff0347d9001c5ef8271dc00c034fe",
"md5": "b23537788d85d9a58e4291fb24485957",
"sha256": "bcc0225dc3847f1ed2f175dac6122fbcc54cea67d9c2dc2753d9615e2a5ff284"
},
"downloads": -1,
"filename": "xonsh-0.19.2-py39-none-any.whl",
"has_sig": false,
"md5_digest": "b23537788d85d9a58e4291fb24485957",
"packagetype": "bdist_wheel",
"python_version": "py39",
"requires_python": ">=3.9",
"size": 634602,
"upload_time": "2025-02-11T17:10:37",
"upload_time_iso_8601": "2025-02-11T17:10:37.004254Z",
"url": "https://files.pythonhosted.org/packages/fa/cb/2c7ccec54f5b0e73fdf7650e8336582ff0347d9001c5ef8271dc00c034fe/xonsh-0.19.2-py39-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "684e56e95a5e607eb3b0da37396f87cde70588efc8ef819ab16f02d5b8378dc4",
"md5": "00af81c347324e901d8d6d0d4fcf4ba7",
"sha256": "cfdd0680d954a2c3aefd6caddcc7143a3d06aa417ed18365a08219bb71b960b0"
},
"downloads": -1,
"filename": "xonsh-0.19.2.tar.gz",
"has_sig": false,
"md5_digest": "00af81c347324e901d8d6d0d4fcf4ba7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 799960,
"upload_time": "2025-02-11T17:10:43",
"upload_time_iso_8601": "2025-02-11T17:10:43.563817Z",
"url": "https://files.pythonhosted.org/packages/68/4e/56e95a5e607eb3b0da37396f87cde70588efc8ef819ab16f02d5b8378dc4/xonsh-0.19.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-11 17:10:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "xonsh",
"github_project": "xonsh",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "xonsh"
}