flask-shell-ipython
Replace default `flask shell` command by similar command running IPython.
What it is and what it does
Flask-Shell-IPython is a small integration layer that hooks into Flask's shell command to use IPython as the interactive interpreter instead of the standard Python REPL. When you run `flask shell`, you get IPython's enhanced environment with syntax highlighting, tab-completion, and other interactive conveniences. The package requires Flask, IPython, and Click as runtime dependencies and integrates transparently—no configuration is needed to get started, though you can customize IPython's behavior by setting an `IPYTHON_CONFIG` dictionary in your Flask app's configuration.
The package is classified as Production/Stable and supports current Python versions (3.8+). It has been in use since 2016 and maintains a modest but steady download volume. Maintenance is dormant but the repository remains open and unarchived, suggesting the package is considered complete rather than abandoned. There are no known security vulnerabilities.
Use it for:
- Local Flask development where you want IPython's tab-completion and syntax highlighting in the interactive shell.
- Debugging Flask applications by inspecting models, database state, and app context interactively with IPython's rich introspection.
- Rapid prototyping and testing of Flask app logic without leaving the shell or writing separate test scripts.
- Teaching or demonstrating Flask concepts interactively with IPython's enhanced output formatting and history.
- Automating repetitive shell tasks in Flask development by passing IPython arguments like `--no-banner` or `-i` to preload modules.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Replaces Flask's default shell command with an IPython-powered interactive shell, adding syntax highlighting, tab-completion, and other IPython features to Flask development.
Yes, if you use Flask for local development and want a smoother interactive shell experience. Installation is frictionless, the package is stable and dependency-light, and there are no known security issues. The main caveat is that maintenance is dormant—no active development, though the last release was recent. Verify the license treatment before use in proprietary or compliance-sensitive contexts.
Install
flask-shell-ipython on PyPI
pip
pip install flask-shell-ipythonuv
uv add flask-shell-ipythonpoetry
poetry add flask-shell-ipythonInstalling flask-shell-ipython
Before you install
Low friction installation with three lightweight runtime dependencies (click, flask, ipython). Maintenance is dormant—last release was 2024-09-05 but no commits since then; the repository remains active with 195 stars and no archived status, suggesting it is stable rather than abandoned.
License in practice
License treatment is unclear; the description mentions MIT licensing but the fact sheet contains no SPDX identifier or raw license text to verify. Clarify the actual license before relying on this package in proprietary or copyleft-sensitive contexts.
Quickstart
pip install flask-shell-ipython
from flask import Flask
app = Flask(__name__)
# Then run: flask shell
Requires Python 3.8 or later (supports up to Python <4.0); Flask and IPython must be installed as runtime dependencies.
Verify before relying
- Actual license identifier and terms (description states MIT but fact sheet shows license_treatment as 'unclear')
- Whether IPython configuration via IPYTHON_CONFIG is fully stable across IPython versions
- Windows compatibility of the test suite (description notes pytest-forked does not work on Windows)
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (<4.0,>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — click, flask, ipython |
| Maintenance | dormant — 708 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,261,175/month — #3,182 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: flask_shell_ipython-0.5.3-py3-none-any.whl
Tags
More Terminals packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
richRich renders styled text, tables, progress…
permissive · top 100 on PyPI
coloramaColorama makes ANSI escape sequences for…
permissive · top 100 on PyPI
wcwidthMeasures the displayed width of Unicode strings…
permissive · top 1,000 on PyPI
ptyprocessRun a subprocess in a pseudo terminal (pty) and…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
ipython-pygments-lexersProvides Pygments syntax highlighters for…
permissive · top 1,000 on PyPI
ipythonIPython is an enhanced interactive Python shell…
permissive · top 1,000 on PyPI
bpythonbpython is an enhanced Python interactive…
permissive · top 15,000 on PyPI
ptpythonptpython is an advanced interactive Python…
permissive · top 5,000 on PyPI
ipykernelProvides the IPython kernel backend that powers…
permissive · top 1,000 on PyPI
ipdbipdb is an IPython-enabled debugger that…
permissive · top 5,000 on PyPI
Flask-MailFlask-Mail adds email-sending functionality to…
permissive · top 5,000 on PyPI
colcon-argcompleteAdds shell command-line completion to colcon…
permissive · top 15,000 on PyPI
django-richIntegrates Rich's terminal formatting and…
permissive · top 15,000 on PyPI
tabcompleterAdds Tab-key autocompletion and command…
permissive · top 5,000 on PyPI