IPython

A productive interactive Python shell with rich introspection, tab completion, and magic commands.

Tool
PyPI
v9.17.1
16,787 stars
BSD 3-Clause License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
90 /100 Excellent
Development Activity 92
Maintenance 72
Community 96
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
83 /100 Excellent
Architecture 80
Code Quality 83
Innovation 82
Learning Curve 85

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/ipython3 command-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 pdb debugger and Python profiler directly from the shell

Common Use Cases

  • Interactive data exploration and debugging sessions where a richer REPL than plain python speeds 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 %timeit and %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

Python
68%
MIT

ArchiveBox

Bookmarks Archiving

28,636

Self-hosted web archiving that saves HTML, PDFs, screenshots, media, and code in open formats you own forever

View details
88
Repo Health
84
Technical
69
Dependency
Built with
Python 68%
HTML 25%
Updated 4 days ago
Python
59%
Apache 2.0

argilla

AI Development · Data Engineering

5,125

Collaborate on high-quality AI training data with a self-hosted annotation platform built for LLMs, NLP, and multimodal models.

View details
65
Repo Health
81
Technical
61
Dependency
Built with
Python 59%
Jupyter Notebook 21%
Updated 1 weeks ago
Python
47%
MIT

Docs

CMS · File Storage

16,868

Open-source collaborative knowledge platform with real-time editing, AI writing tools, and full self-hosting control — built by the French and German governments.

View details
88
Repo Health
81
Technical
68
Dependency
Built with
Python 47%
TypeScript 45%
Updated 4 days ago
Python
63%
BSD 3

Flagsmith

Ab Testing Experimentation · Developer Tools · Devops

6,577

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.

View details
90
Repo Health
82
Technical
63
Dependency
Built with
Python 63%
TypeScript 31%
Updated 6 days ago
Python
94%
BSD 3

skrub

Developer Tools

1,653

Turn messy real-world dataframes into machine learning features — no manual wrangling required.

View details
86
Repo Health
84
Technical
80
Dependency
Built with
Python 94%
Updated 1 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers