bpython VS xonsh

Compare bpython vs xonsh and see what are their differences.

Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
bpython xonsh
15 126
2,720 8,951
0.2% 0.5%
6.2 9.3
14 days ago 7 days ago
Python Python
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

bpython

Posts with mentions or reviews of bpython. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-12.

xonsh

Posts with mentions or reviews of xonsh. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-07-17.
  • Ask HN: What are your current programming pet peeves?
    6 projects | news.ycombinator.com | 17 Jul 2025
  • Take Two: Eshell
    6 projects | news.ycombinator.com | 6 Jul 2025
    I like the point raised by the author here about the power of elisp in the shell. For context, I've used emacs for well over a decade and write a good bit of elisp most weeks. However, I ended up finding elisp to be the wrong language for replacing a shell: it removes a lot of capabilities for not enough reward, imo: it's just the wrong abstraction because elisp's most natural transformations are very stateful and buffer based, and, additionally, it really doesn't provide that much expanded capability in the end (and this is despite the fact that I'm one of those people who would absolutely never leave my emacs environment even for web browsing if I could feasibly make it work consistently for the kinds of things I need).

    However, despite disliking python, I found https://xon.sh/ to be really excellent and provides a lot of the benefits of eshell, but better, in my humble opinion: it has a well-enough structured base language that is essentially already built to be a library glue-code language, which works really well with the unix philosophy that traditional shells utilize (a good library is just a tool that does a thing really well).

  • Advanced Shell Scripting with Bash (2006) [pdf]
    11 projects | news.ycombinator.com | 17 Apr 2025
    (Not sure about the equivalent of shlex.quote, but in the worst case, you can just use "from shlex import quote as q" or something).

    So yes, there are good alternatives to bash - even Python based.

    [0] https://xon.sh/

  • Xonsh – A Python-Powered Shell
    5 projects | news.ycombinator.com | 21 Feb 2025
  • Python Is the New Basic
    2 projects | news.ycombinator.com | 11 Jan 2025
  • Fish 4.0: The Fish of Theseus
    8 projects | news.ycombinator.com | 28 Dec 2024
    Also, do consider xonsh.[1]

    It's a Bash-like shell written in Python. It has significant overlap with the awesomeness of fish, and has the advantage of being able to write your shell scripts in a Python dialect. So if you know Python, the mental burden is much lower.

    On top of that, it's cross platform, since Python is. No WSL needed.

    I switched to it in 2018 and haven't looked back. Originally it was just because I wanted a better command prompt environment in Windows for work, but I liked it so much I switched to it in Linux as well.

    (And yes, you can type any Python statement right in the command prompt).

    [1] https://xon.sh/

  • A Second Search for Bash Scripting Alternatives
    1 project | news.ycombinator.com | 21 Nov 2024
    No xonsh? (https://xon.sh/) Seems to hit most of the requirements.

    Been happily using it since 2018. It's great not to have to learn a whole other language just to do scripting.

  • The Dune Shell
    4 projects | news.ycombinator.com | 18 Sep 2024
    Interesting thought experiment. Reminds me of my cousin's project Xonsh https://xon.sh/
  • Reasons I still love the fish shell
    2 projects | news.ycombinator.com | 12 Sep 2024
    If you like this sort of thing, I strongly recommend also checking out the xonsh shell.

    It's bash-like, but Python based. Works on both Windows and Linux. Has several of the benefits mentioned in this article. It's really nice that I don't need to learn another language for shell scripting - its language is Python, with some extensions to make it less tedious (e.g. easily executing commands without using os.system or subprocess).

    Been using it since 2018.

    https://xon.sh/

  • Xonsh is a Python-powered shell
    1 project | news.ycombinator.com | 30 Aug 2024

What are some alternatives?

When comparing bpython and xonsh you can also consider the following projects:

ptpython - A better Python REPL

fish-shell - The user-friendly command line shell.

Jupyter Notebook (IPython) - Multi-user server for Jupyter notebooks

zx - A tool for writing better scripts

ipython - Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc.

nushell - A new type of shell

Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured

Did you know that Python is
the 2nd most popular programming language
based on number of references?