CPython VS ipython

Compare CPython vs ipython and see what are their differences.


The Python programming language (by python)


Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc. (by ipython)
Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarQube - Static code analysis for 29 languages.
  • SaaSHub - Software Alternatives and Reviews
CPython ipython
717 29
45,090 15,357
3.2% 0.4%
10.0 9.7
5 days ago 12 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.


Posts with mentions or reviews of CPython. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-24.


Posts with mentions or reviews of ipython. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-03-20.
  • External variables in lambda functions in Python
    1 project | reddit.com/r/codehunter | 1 May 2022
    There is an IPython ticket on GitHub on the topic, but it's unclear if the problem has been solved.
  • Pipx: A python package consumption tool for CLI packages
    12 projects | dev.to | 20 Mar 2022
    For further documentation on ipython using the CLI, you can refer to the GitHub link or the documentation page.
  • Workflow-killing crash from strange added characters.
    1 project | reddit.com/r/neovim | 11 Mar 2022
    > ??????_ Traceback (most recent call last): File "/home/nvaughn4/bin/miniconda3/envs/newprime/bin/ipython", line 11, in sys.exit(start_ipython()) File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/__init__.py", line 126, in start_ipython return launch_new_instance(argv=argv, **kwargs) File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/traitlets/config/application.py", line 658, in launch_instance app.start() File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/terminal/ipapp.py", line 356, in start self.shell.mainloop() File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/terminal/interactiveshell.py", line 563, in mainloop self.interact() File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/terminal/interactiveshell.py", line 554, in interact self.run_cell(code, store_history=True) File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2858, in run_cell raw_cell, store_history, silent, shell_futures) File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2880, in _run_cell elif self.should_run_async(raw_cell): File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2918, in should_run_async return _should_be_async(cell) File "/home/nvaughn4/bin/miniconda3/envs/newprime/lib/python3.6/site-packages/IPython/core/async_helpers.py", line 161, in _should_be_async code = compile(cell, "<>", "exec") UnicodeEncodeError: 'utf-8' codec can't encode characters in position 537-542: surrogates not allowed If you suspect this is an IPython 7.15.0 bug, please report it at: https://github.com/ipython/ipython/issues or send an email to the mailing list at [email protected] You can print a more detailed traceback right now with "%tb", or use "%debug" to interactively debug it. Extra-detailed tracebacks for bug-reporting purposes can be enabled via: %config Application.verbose_crash=True sys:1: RuntimeWarning: coroutine 'InteractiveShell.run_cell_async' was never awaited
  • No_color
    12 projects | news.ycombinator.com | 26 Feb 2022
    There’s one I’ve come across recently here where you’re fighting against syntax highlighting with extra error context. https://github.com/ipython/ipython/issues/13446#issuecomment...
  • Anybody else getting tired of parso and jedi?
    2 projects | reddit.com/r/IPython | 12 Feb 2022
    I see. https://github.com/ipython/ipython/issues/13529
    2 projects | reddit.com/r/IPython | 12 Feb 2022
  • Django Codebase Reformatted with Black
    5 projects | news.ycombinator.com | 8 Feb 2022
    You can automate setup for developers using this simple script:


    And here’s a GitLab issue requesting support for blame-ignore:


    I don’t think there’s a corresponding GitHub request, but maybe if GitLab adds this feature GitHub will have some incentive to follow suit.

  • Formatting Code with Black
    12 projects | news.ycombinator.com | 8 Feb 2022
    Here’s a script that automates the once-per-repository local setup of this feature:


    Unfortunately there isn’t support for it in GitHub or GitLab yet, but there’s at least a GitLab issue here requesting it:

  • Black, the Uncompromising (Python) Code Formatter Is Stable
    12 projects | news.ycombinator.com | 29 Jan 2022
    “the next release will likely revert it”

    — Carreau, https://github.com/ipython/ipython/issues/13463#issuecomment...

    12 projects | news.ycombinator.com | 29 Jan 2022

What are some alternatives?

When comparing CPython and ipython you can also consider the following projects:

RustPython - A Python Interpreter written in Rust

Vulpix - Fast, unopinionated, minimalist web framework for .NET core inspired by express.js

vim-slime - A vim plugin to give you some slime. (Emacs)

Visual Studio Code - Visual Studio Code

go - The Go programming language

spacemacs - A community-driven Emacs distribution - The best editor is neither Emacs nor Vim, it's Emacs *and* Vim!

Django - The Web framework for perfectionists with deadlines.

Pandas - Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more

bpython - bpython - A fancy curses interface to the Python interactive interpreter

Automatic-Udemy-Course-Enroller-GET-PAID-UDEMY-COURSES-for-FREE - Do you want to LEARN NEW STUFF for FREE? Don't worry, with the power of web-scraping and automation, this script will find the necessary Udemy coupons & enroll you for PAID UDEMY COURSES, ABSOLUTELY FREE!

OpenVPN - OpenVPN is an open source VPN daemon

guizero - A Python 3 library to allow learners to quickly and easily create GUIs.