bpython
A fancy curses interface to the Python interactive interpreter
Decision gist · record as of 2026-08-14
Yes. bpython is actively maintained, has no known security vulnerabilities, uses a permissive MIT license, and installs with low friction. It is a straightforward enhancement to the standard Python REPL that adds genuine productivity features (syntax highlighting, autocompletion, parameter hints) without requiring a heavy IDE. Install it if you spend time in the interactive interpreter and want better visibility into your code and function signatures.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- Low install friction with a pure-Python wheel and seven runtime dependencies.
- Actively maintained with a recent release and steady commit activity.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal restrictions.
last release 2025-10-28 (290 days) · last repo commit 2026-07-20 · 2,769 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 540,378 downloads/mo, #6,104 on PyPI
Alternatives
Verify before relying
pip install bpython
bpython- Whether optional dependencies (jedi, watchdog, pyperclip) are needed for specific features beyond the core interpreter.
- Performance characteristics when working with large codebases or long-running sessions.
What it is and what it does
bpython is a drop-in replacement for the standard Python interactive interpreter, designed to add IDE-like conveniences without the overhead of a full development environment. It runs as a command-line tool that you invoke instead of `python` when you want an interactive session, and it wraps your input with syntax highlighting via Pygments, real-time autocompletion suggestions, inline parameter documentation for functions, and the ability to rewind and re-evaluate your session or edit it in your preferred text editor.
The package depends on curtsies for terminal UI rendering, greenlet for lightweight concurrency, and several smaller utilities for clipboard, configuration, and display width handling. It is most useful for quick exploration, testing snippets, or debugging without leaving the terminal—situations where you'd normally open a Python REPL but want better visibility into what you're typing and what functions expect.
Use it for
- Testing code snippets and solutions interactively without creating temporary files.
- Debugging and exploring library APIs with real-time parameter hints and syntax highlighting.
- Rewinding and re-evaluating session history after making edits in your text editor.
- Quick prototyping and experimentation in a terminal-based environment with IDE-like features.
- Replacing the vanilla Python REPL for daily interactive development work.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
bpython is actively maintained, has no known security vulnerabilities, uses a permissive MIT license, and installs with low friction. It is a straightforward enhancement to the standard Python REPL that adds genuine productivity features (syntax highlighting, autocompletion, parameter hints) without requiring a heavy IDE. Install it if you spend time in the interactive interpreter and want better visibility into your code and function signatures.
Install
bpython on PyPI
Before you install
Low install friction with a pure-Python wheel and seven runtime dependencies. Actively maintained with a recent release and steady commit activity.
Requires Python 3.9 or later.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions.
Quickstart
pip install bpython
bpython
Verify before relying
- Whether optional dependencies (jedi, watchdog, pyperclip) are needed for specific features beyond the core interpreter.
- Performance characteristics when working with large codebases or long-running sessions.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 7 packagescurtsiescwcwidthgreenletpygmentspyxdgrequeststyping_extensions |
| Maintenance | Actively maintained 290 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 540,378 / month, #6,104 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3 |
Evidence: bpython-0.26-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “syntax highlighting repl”
- bpythonbpython is an enhanced Python interactive interpreter that replaces…
- ptpythonptpython is an advanced interactive Python shell that replaces the…
- litecliA command-line client for SQLite databases with auto-completion and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Terminals packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Rich renders styled text, tables, progress bars, syntax highlighting, markdown, and tracebacks to the terminal with minimal code.
Colorama makes ANSI escape sequences for colored terminal text work on Windows by intercepting and converting them to win32 API calls, while passing through unchanged on other platforms.
Install it if you need colored terminal output to work on Windows or want to use ANSI-based libraries portably; skip it only if you target non-Windows platforms…
Measures the displayed width of Unicode strings in terminals, accounting for wide characters, combining marks, and terminal escape sequences that standard Python string functions mishandle.
Install it if your application formats text for terminals and handles non-ASCII characters.
Run a subprocess in a pseudo terminal (pty) and interact with its input and output, enabling automation of interactive programs that require terminal features like password prompts or curses-style interfaces.
However, note that it is aging (last release 2020-12-28) and not actively maintained; it works well for its narrow, well-defined purpose but won't receive updates for…
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
See also ptpython · ipython-pygments-lexers · flask-shell-ipython · redbaron · fancycompleter · jedi · prompt_toolkit · pyvim · rope · litecli