=========
IPython
=========
Tools for Interactive Computing in Python
=========================================
A Python shell with automatic history (input and output), dynamic object
introspection, easier configuration, command completion, access to the
system shell and more. IPython can also be embedded in running programs.
Usage
ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg] ...
If invoked with no options, it executes the file and exits, passing the
remaining arguments to the script, just as if you had specified the same
command with python. You may need to specify ``--`` before args to be passed
to the script, to prevent IPython from attempting to parse them. If you
specify the option ``-i`` before the filename, it will enter an interactive
IPython session after running the script, rather than exiting. Files ending
in .py will be treated as normal Python, but files ending in .ipy can
contain special IPython syntax (magic commands, shell expansions, etc.).
Almost all configuration in IPython is available via the command-line. Do
`ipython --help-all` to see all available options. For persistent
configuration, look into your `ipython_config.py` configuration file for
details.
This file is typically installed in the `IPYTHONDIR` directory, and there
is a separate configuration directory for each profile. The default profile
directory will be located in $IPYTHONDIR/profile_default. IPYTHONDIR
defaults to `$HOME/.ipython`. For Windows users, $HOME resolves to
C:\Users\YourUserName in most instances.
To initialize a profile with the default configuration file, do::
$> ipython profile create
and start editing `IPYTHONDIR/profile_default/ipython_config.py`
In IPython's documentation, we will refer to this directory as
`IPYTHONDIR`, you can change its default location by creating an
environment variable with this name and setting it to the desired path.
For more information, see the manual available in HTML and PDF in your
installation, or online at https://ipython.org/documentation.html.
Subcommands
===========
Subcommands are launched as `ipython cmd [args]`. For information on using
subcommand 'cmd', do: `ipython cmd -h`.
profile
Create and manage IPython profiles.
kernel
Start a kernel without an attached frontend.
locate
print the path to the IPython dir
history
Manage the IPython history database.
Options
=======
The options below are convenience aliases to configurable class-options,
as listed in the "Equivalent to" description-line of the aliases.
To see all configurable class-options for some <cmd>, use:
<cmd> --help-all
--debug
set log level to logging.DEBUG (maximize logging output)
Equivalent to: [--Application.log_level=10]
--show-config
Show the application's configuration (human-readable format)
Equivalent to: [--Application.show_config=True]
--show-config-json
Show the application's configuration (json format)
Equivalent to: [--Application.show_config_json=True]
--quiet
set log level to logging.CRITICAL (minimize logging output)
Equivalent to: [--Application.log_level=50]
--init
Initialize profile with default config files. This is equivalent
to running `ipython profile create <profile>` prior to startup.
Equivalent to: [--BaseIPythonApplication.copy_config_files=True --BaseIPythonApplication.auto_create=True]
--autoindent
Turn on autoindenting.
Equivalent to: [--InteractiveShell.autoindent=True]
--no-autoindent
Turn off autoindenting.
Equivalent to: [--InteractiveShell.autoindent=False]
--automagic
Turn on the auto calling of magic commands. Type %%magic at the
IPython prompt for more information.
Equivalent to: [--InteractiveShell.automagic=True]
--no-automagic
Turn off the auto calling of magic commands.
Equivalent to: [--InteractiveShell.automagic=False]
--pdb
Enable auto calling the pdb debugger after every exception.
Equivalent to: [--InteractiveShell.pdb=True]
--no-pdb
Disable auto calling the pdb debugger after every exception.
Equivalent to: [--InteractiveShell.pdb=False]
--pprint
Enable auto pretty printing of results.
Equivalent to: [--PlainTextFormatter.pprint=True]
--no-pprint
Disable auto pretty printing of results.
Equivalent to: [--PlainTextFormatter.pprint=False]
--color-info
IPython can display information about objects via a set of functions,
and optionally can use colors for this, syntax highlighting
source code and various other elements. This is on by default, but can cause
problems with some pagers. If you see such problems, you can disable the
colours.
Equivalent to: [--InteractiveShell.color_info=True]
--no-color-info
Disable using colors for info related things.
Equivalent to: [--InteractiveShell.color_info=False]
--ignore-cwd
Exclude the current working directory from sys.path
Equivalent to: [--InteractiveShellApp.ignore_cwd=True]
--no-ignore-cwd
Include the current working directory in sys.path
Equivalent to: [--InteractiveShellApp.ignore_cwd=False]
--nosep
Eliminate all spacing between prompts.
Equivalent to: [--InteractiveShell.separate_in= --InteractiveShell.separate_out= --InteractiveShell.separate_out2=]
--pylab
Pre-load matplotlib and numpy for interactive use with
the default matplotlib backend. The exact options available
depend on what Matplotlib provides at runtime.
Equivalent to: [--InteractiveShellApp.pylab=auto]
--matplotlib
Configure matplotlib for interactive use with
the default matplotlib backend. The exact options available
depend on what Matplotlib provides at runtime.
Equivalent to: [--InteractiveShellApp.matplotlib=auto]
--autoedit-syntax
Turn on auto editing of files with syntax errors.
Equivalent to: [--TerminalInteractiveShell.autoedit_syntax=True]
--no-autoedit-syntax
Turn off auto editing of files with syntax errors.
Equivalent to: [--TerminalInteractiveShell.autoedit_syntax=False]
--simple-prompt
Force simple minimal prompt using `raw_input`
Equivalent to: [--TerminalInteractiveShell.simple_prompt=True]
--no-simple-prompt
Use a rich interactive prompt with prompt_toolkit
Equivalent to: [--TerminalInteractiveShell.simple_prompt=False]
--banner
Display a banner upon starting IPython.
Equivalent to: [--TerminalIPythonApp.display_banner=True]
--no-banner
Don't display a banner upon starting IPython.
Equivalent to: [--TerminalIPythonApp.display_banner=False]
--confirm-exit
Set to confirm when you try to exit IPython with an EOF (Control-D
in Unix, Control-Z/Enter in Windows). By typing 'exit' or 'quit',
you can force a direct exit without any confirmation.
Equivalent to: [--TerminalInteractiveShell.confirm_exit=True]
--no-confirm-exit
Don't prompt the user when exiting.
Equivalent to: [--TerminalInteractiveShell.confirm_exit=False]
--tip
Shows a tip when IPython starts.
Equivalent to: [--TerminalInteractiveShell.enable_tip=True]
--no-tip
Don't show tip when IPython starts.
Equivalent to: [--TerminalInteractiveShell.enable_tip=False]
--term-title
Enable auto setting the terminal title.
Equivalent to: [--TerminalInteractiveShell.term_title=True]
--no-term-title
Disable auto setting the terminal title.
Equivalent to: [--TerminalInteractiveShell.term_title=False]
--classic
Gives IPython a similar feel to the classic Python prompt.
Equivalent to: [--InteractiveShell.cache_size=0 --InteractiveShell.separate_in= --InteractiveShell.separate_out= --InteractiveShell.separate_out2= --InteractiveShell.colors=nocolor --InteractiveShell.xmode=Plain --PlainTextFormatter.pprint=False --TerminalInteractiveShell.prompts_class=IPython.terminal.prompts.ClassicPrompts]
--quick
Enable quick startup with no config files.
Equivalent to: [--TerminalIPythonApp.quick=True]
-i
If running code from the command line, become interactive afterwards.
It is often useful to follow this with `--` to treat remaining flags as
script arguments.
Equivalent to: [--TerminalIPythonApp.force_interact=True]
--log-level=<Enum>
Set the log level by value or name.
Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
Default: 30
Equivalent to: [--Application.log_level]
--profile-dir=<Unicode>
Set the profile location directly. This overrides the logic used by the
`profile` option.
Default: ''
Equivalent to: [--ProfileDir.location]
--profile=<Unicode>
The IPython profile to use.
Default: 'default'
Equivalent to: [--BaseIPythonApplication.profile]
--ipython-dir=<Unicode>
The name of the IPython directory. This directory is used for logging
configuration (through profiles), history storage, etc. The default is
usually $HOME/.ipython. This option can also be specified through the
environment variable IPYTHONDIR.
Default: ''
Equivalent to: [--BaseIPythonApplication.ipython_dir]
--config=<Unicode>
Path to an extra config file to load.
If specified, load this config file in addition to any other IPython config.
Default: ''
Equivalent to: [--BaseIPythonApplication.extra_config_file]
--autocall=<Enum>
Make IPython automatically call any callable object even if you didn't type
explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
The value can be '0' to disable the feature, '1' for 'smart' autocall, where
it is not applied if there are no more arguments on the line, and '2' for
'full' autocall, where all callable objects are automatically called (even
if no arguments are present).
Choices: any of [0, 1, 2]
Default: 0
Equivalent to: [--InteractiveShell.autocall]
--colors=<Unicode>
Set the color scheme (nocolor, neutral, linux, lightbg).
Default: 'neutral'
Equivalent to: [--InteractiveShell.colors]
--theme=<Unicode>
Set the color scheme (nocolor, neutral, linux, lightbg).
Default: 'neutral'
Equivalent to: [--InteractiveShell.colors]
--logfile=<Unicode>
The name of the logfile to use.
Default: ''
Equivalent to: [--InteractiveShell.logfile]
--logappend=<Unicode>
Start logging to the given file in append mode. Use `logfile` to specify a
log file to **overwrite** logs to.
Default: ''
Equivalent to: [--InteractiveShell.logappend]
-c=<Unicode>
Execute the given command string.
Default: ''
Equivalent to: [--InteractiveShellApp.code_to_run]
-m=<Unicode>
Run the module as a script.
Default: ''
Equivalent to: [--InteractiveShellApp.module_to_run]
--ext=<list-item-1>...
Dotted module name(s) of one or more IPython extensions to load.
For specifying extra extensions to load on the command-line.
.. versionadded:: 7.10
Default: []
Equivalent to: [--InteractiveShellApp.extra_extensions]
--gui=<CaselessStrEnum>
Enable GUI event loop integration with any of ('asyncio', 'glut', 'gtk',
'gtk2', 'gtk3', 'gtk4', 'osx', 'pyglet', 'qt', 'qt5', 'qt6', 'tk', 'wx',
'gtk2', 'qt4').
Choices: any of ['asyncio', 'glut', 'gtk', 'gtk2', 'gtk3', 'gtk4', 'osx', 'pyglet', 'qt', 'qt5', 'qt6', 'tk', 'wx', 'gtk2', 'qt4'] (case-insensitive) or None
Default: None
Equivalent to: [--InteractiveShellApp.gui]
--pylab=<MatplotlibBackendCaselessStrEnum>
Pre-load matplotlib and numpy for interactive use, selecting a particular
matplotlib backend and loop integration. The exact options available depend
on what Matplotlib provides at runtime.
Choices: any of ['agg', 'auto', 'gtk', 'gtk3', 'gtk4', 'inline', 'ipympl', 'nbagg', 'notebook', 'osx', 'pdf', 'ps', 'qt', 'qt4', 'qt5', 'qt6', 'svg', 'tk', 'webagg', 'widget', 'wx'] (case-insensitive) or None
Default: None
Equivalent to: [--InteractiveShellApp.pylab]
--matplotlib=<MatplotlibBackendCaselessStrEnum>
Configure matplotlib for interactive use with the default matplotlib
backend. The exact options available depend on what Matplotlib provides at
runtime.
Choices: any of ['agg', 'auto', 'gtk', 'gtk3', 'gtk4', 'inline', 'ipympl', 'nbagg', 'notebook', 'osx', 'pdf', 'ps', 'qt', 'qt4', 'qt5', 'qt6', 'svg', 'tk', 'webagg', 'widget', 'wx'] (case-insensitive) or None
Default: None
Equivalent to: [--InteractiveShellApp.matplotlib]
--cache-size=<Int>
Set the size of the output cache. The default is 1000, you can change it
permanently in your config file. Setting it to 0 completely disables the
caching system, and the minimum value accepted is 3 (if you provide a value
less than 3, it is reset to 0 and a warning is issued). This limit is
defined because otherwise you'll spend more time re-flushing a too small
cache than working
Default: 1000
Equivalent to: [--InteractiveShell.cache_size]
Examples
--------
ipython --matplotlib # enable matplotlib integration
ipython --matplotlib=qt # enable matplotlib integration with qt4 backend
ipython --log-level=DEBUG # set logging to DEBUG
ipython --profile=foo # start with profile foo
ipython profile create foo # create profile foo w/ default config files
ipython help profile # show the help for the profile subcmd
ipython locate # print the path to the IPython directory
ipython locate profile foo # print the path to the directory for profile `foo`
To see all available configurables, use `--help-all`.
Options (50)
| Option | Description | Source |
|---|
--debug | set log level to logging.DEBUG (maximize logging output) Equivalent to: [--Application.log_level=10] | help |
--show-config | Show the application's configuration (human-readable format) Equivalent to: [--Application.show_config=True] | help |
--show-config-json | Show the application's configuration (json format) Equivalent to: [--Application.show_config_json=True] | help |
--quiet | set log level to logging.CRITICAL (minimize logging output) Equivalent to: [--Application.log_level=50] | help |
--init | Initialize profile with default config files. | help |
--autoindent | Turn on autoindenting. | help |
--no-autoindent | Turn off autoindenting. | help |
--automagic | Turn on the auto calling of magic commands. | help |
--no-automagic | Turn off the auto calling of magic commands. | help |
--pdb | Enable auto calling the pdb debugger after every exception. | help |
--no-pdb | Disable auto calling the pdb debugger after every exception. | help |
--pprint | Enable auto pretty printing of results. | help |
--no-pprint | Disable auto pretty printing of results. | help |
--color-info | IPython can display information about objects via a set of functions, and optionally can use colors for this, syntax highlighting source code and various other elements. | help |
--no-color-info | Disable using colors for info related things. | help |
--ignore-cwd | Exclude the current working directory from sys.path Equivalent to: [--InteractiveShellApp.ignore_cwd=True] | help |
--no-ignore-cwd | Include the current working directory in sys.path Equivalent to: [--InteractiveShellApp.ignore_cwd=False] | help |
--nosep | Eliminate all spacing between prompts. | help |
--pylab | Pre-load matplotlib and numpy for interactive use with the default matplotlib backend. | help |
--matplotlib | Configure matplotlib for interactive use with the default matplotlib backend. | help |
--autoedit-syntax | Turn on auto editing of files with syntax errors. | help |
--no-autoedit-syntax | Turn off auto editing of files with syntax errors. | help |
--simple-prompt | Force simple minimal prompt using `raw_input` Equivalent to: [--TerminalInteractiveShell.simple_prompt=True] | help |
--no-simple-prompt | Use a rich interactive prompt with prompt_toolkit Equivalent to: [--TerminalInteractiveShell.simple_prompt=False] | help |
--banner | Display a banner upon starting IPython. | help |
--no-banner | Don't display a banner upon starting IPython. | help |
--confirm-exit | Set to confirm when you try to exit IPython with an EOF (Control-D in Unix, Control-Z/Enter in Windows). | help |
--no-confirm-exit | Don't prompt the user when exiting. | help |
--tip | Shows a tip when IPython starts. | help |
--no-tip | Don't show tip when IPython starts. | help |
--term-title | Enable auto setting the terminal title. | help |
--no-term-title | Disable auto setting the terminal title. | help |
--classic | Gives IPython a similar feel to the classic Python prompt. | help |
--quick | Enable quick startup with no config files. | help |
-i | If running code from the command line, become interactive afterwards. | help |
--log-level Enum | Set the log level by value or name. | help |
--profile-dir Unicode | Set the profile location directly. | help |
--profile Unicode | The IPython profile to use. | help |
--ipython-dir Unicode | The name of the IPython directory. | help |
--config Unicode | Path to an extra config file to load. | help |
--autocall Enum | Make IPython automatically call any callable object even if you didn't type explicit parentheses. | help |
--colors Unicode | Set the color scheme (nocolor, neutral, linux, lightbg). | help |
--theme Unicode | Set the color scheme (nocolor, neutral, linux, lightbg). | help |
--logfile Unicode | The name of the logfile to use. | help |
--logappend Unicode | Start logging to the given file in append mode. | help |
-c Unicode | Execute the given command string. | help |
-m Unicode | Run the module as a script. | help |
--ext list-item-1>... | Dotted module name(s) of one or more IPython extensions to load. | help |
--gui CaselessStrEnum | Enable GUI event loop integration with any of ('asyncio', 'glut', 'gtk', 'gtk2', 'gtk3', 'gtk4', 'osx', 'pyglet', 'qt', 'qt5', 'qt6', 'tk', 'wx', 'gtk2', 'qt4'). | help |
--cache-size Int | Set the size of the output cache. | help |
Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.