IPython
A productive interactive Python shell with rich introspection, tab completion, and magic commands.
Repository Health
Technical Analysis
IPython is an enhanced interactive command shell for Python that goes far beyond the standard python REPL: comprehensive object introspection (?/??), persistent cross-session input history, extensible tab completion for variables and filenames, and a system of “magic” commands (%timeit, %debug, %run, etc.) for controlling the environment and running common tasks. It’s launched from the terminal as ipython, or embedded directly inside another Python program for an interactive debugging session at any point in the code.
IPython is also the interactive kernel underneath Jupyter Notebook and JupyterLab — the notebook and web UI moved into the separate Jupyter project years ago, but IPython itself still provides the actual Python execution engine, tab completion, and magic-command system that Jupyter cells run on top of.
What You Get
- A
ipython/ipython3command-line interactive shell with syntax highlighting and rich object introspection via?and?? - Magic commands (
%timeit,%debug,%run,%history, and many more) for controlling the environment and common workflows - Persistent input history and output caching across sessions, with auto-generated
_,__,Out[n]references - Extensible tab completion covering Python variables/keywords, filenames, and function keywords out of the box
- Easy embeddability inside other Python programs and GUIs for dropping into an interactive session at a specific point in code
- Integrated access to the
pdbdebugger and Python profiler directly from the shell
Common Use Cases
- Interactive data exploration and debugging sessions where a richer REPL than plain
pythonspeeds up iteration - Serving as the execution kernel powering Jupyter Notebook/JupyterLab cells for data science and research workflows
- Embedding an interactive breakpoint inside a running application for live introspection during development
- Quick benchmarking and profiling of code snippets using built-in magics like
%timeitand%prun
Under The Hood
Architecture - The IPython package splits into core/ (the interactive shell engine, magic-command system, and input/output history machinery), terminal/ (the terminal-specific frontend and prompt handling), lib/, utils/, and extensions/ (built-in and pluggable extensions), with sphinxext/ providing Sphinx documentation integration and testing/ supplying shared test utilities; the ipython/ipython3 console scripts entry point directly into IPython:start_ipython. Tech Stack - Pure Python 3.11+, BSD-3-Clause licensed, with no required third-party runtime dependencies beyond the standard library for the core shell (optional extras add readline/prompt_toolkit-based completion, matplotlib integration, etc.); packaged with setuptools/setup.py rather than a newer build backend. Code Quality - The tests/ tree plus per-module test files total 112 test_*.py files, coverage is tracked via Codecov, and the project maintains 28,597 total commits across 29 tagged releases since 2010, reflecting one of the longest continuously maintained projects in the scientific Python ecosystem; it also explicitly follows the SPEC-0 community standard for Python version support policy. API Design / Developer Experience - The interactive shell itself is the primary interface and requires zero setup beyond running ipython, with discoverability built in via ?/?? introspection and tab completion; embedding IPython inside another program (IPython.embed()) is a single function call, making it approachable both as an end-user tool and as a debugging library dropped into existing code.
Used by 5 apps in this directory
ArchiveBox
Bookmarks Archiving
Self-hosted web archiving that saves HTML, PDFs, screenshots, media, and code in open formats you own forever
argilla
AI Development · Data Engineering
Collaborate on high-quality AI training data with a self-hosted annotation platform built for LLMs, NLP, and multimodal models.
Docs
File Storage · CMS
Open-source collaborative knowledge platform with real-time editing, AI writing tools, and full self-hosting control — built by the French and German governments.
Flagsmith
Developer Tools · Devops · Ab Testing Experimentation
Open-source feature flagging, remote config, and A/B/multivariate testing platform for web, mobile, and server-side apps — self-host or use the hosted SaaS.
skrub
Developer Tools
Turn messy real-world dataframes into machine learning features — no manual wrangling required.