id = "ipython"
name = "IPython"
homepage = "https://ipython.org"
description = "IPython provides a rich architecture for interactive computing with a powerful shell and Jupyter kernel support."
icon = "https://ipython.org/ipython-logo.png"
executables = ["ipython", "ipython3"]
[dotfiles]
paths = ["~/.ipython/"]
exclude = [
"~/.ipython/profile_*/history.sqlite",
"~/.ipython/profile_*/log/",
]
secret = []
[commands]
format = 1
label = "Start IPython"
description = "Start an interactive IPython session, or run a script, module or command first. Subcommands (profile, kernel, history, locate), GUI/matplotlib integration and passing arguments to the script are not covered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "posix", long_equals = true, short_attached = true, short_bundles = false }
[[commands.source]]
id = "help"
kind = "help"
url = "https://manpages.debian.org/unstable/ipython3/ipython3.1.en.html"
revision = "ipython 9.17.1 --help"
evidence = """
ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg] ...
--quiet
set log level to logging.CRITICAL (minimize logging output)
--no-autoindent
Turn off autoindenting.
--no-automagic
Turn off the auto calling of magic commands.
--pdb
Enable auto calling the pdb debugger after every exception.
--no-pprint
Disable auto pretty printing of results.
--simple-prompt
Force simple minimal prompt using `raw_input`
--no-banner
Don't display a banner upon starting IPython.
--no-confirm-exit
Don't prompt the user when exiting.
--classic
Gives IPython a similar feel to the classic Python prompt.
--quick
Enable quick startup with no config files.
-i
If running code from the command line, become interactive afterwards.
--profile=<Unicode>
The IPython profile to use.
--ipython-dir=<Unicode>
The name of the IPython directory.
--colors=<Unicode>
Set the color scheme (nocolor, neutral, linux, lightbg).
-c=<Unicode>
Execute the given command string.
-m=<Unicode>
Run the module as a script.
--ext=<list-item-1>...
Dotted module name(s) of one or more IPython extensions to load.
"""
[[commands.field]]
id = "script"
label = "Script file"
description = "A .py or .ipy file to run. Leave empty for a plain interactive session."
type = "path"
position = 0
path = { kind = "file", role = "input" }
sources = ["help"]
[[commands.field]]
id = "command"
label = "Command string"
description = "Execute this Python code instead of a script."
type = "string"
option = ["-c"]
sources = ["help"]
[[commands.field]]
id = "module"
label = "Module"
description = "Run this module as a script."
type = "string"
option = ["-m"]
sources = ["help"]
[[commands.field]]
id = "interactive"
label = "Stay interactive afterwards"
description = "After running the script or command, enter an interactive session."
type = "boolean"
option = ["-i"]
sources = ["help"]
[[commands.field]]
id = "profile"
label = "Profile"
type = "string"
option = ["--profile"]
suggestions = [{ value = "default", label = "default" }]
sources = ["help"]
[[commands.field]]
id = "colors"
label = "Color scheme"
type = "enum"
option = ["--colors"]
choices = [{ value = "nocolor", label = "No color" }, { value = "neutral", label = "Neutral" }, { value = "linux", label = "Linux (dark terminal)" }, { value = "lightbg", label = "Light background" }]
sources = ["help"]
[[commands.field]]
id = "ext"
label = "Extensions to load"
description = "Dotted module names of IPython extensions."
type = "string"
option = ["--ext"]
multiple = true
sources = ["help"]
[[commands.field]]
id = "simple_prompt"
label = "Simple prompt"
type = "boolean"
option = ["--simple-prompt"]
sources = ["help"]
[[commands.field]]
id = "no_banner"
label = "No banner"
type = "boolean"
option = ["--no-banner"]
sources = ["help"]
[[commands.field]]
id = "no_confirm_exit"
label = "Do not confirm exit"
type = "boolean"
option = ["--no-confirm-exit"]
sources = ["help"]
[[commands.field]]
id = "pdb"
label = "Debug on exceptions"
description = "Start the pdb debugger after every exception."
type = "boolean"
option = ["--pdb"]
sources = ["help"]
[[commands.field]]
id = "quick"
label = "Quick start (no config files)"
type = "boolean"
option = ["--quick"]
sources = ["help"]
[[commands.field]]
id = "classic"
label = "Classic Python feel"
type = "boolean"
option = ["--classic"]
sources = ["help"]
[[commands.task]]
id = "repl"
label = "Interactive session"
fields = ["profile", "colors", "no_banner", "quick"]
required = []
[[commands.task]]
id = "run_script"
label = "Run a script, then stay interactive"
fields = ["script", "interactive", "pdb", "profile"]
required = ["script"]
set = { interactive = [true] }
[[commands.task]]
id = "run_module"
label = "Run a module"
fields = ["module", "interactive", "profile"]
required = ["module"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["script", "command", "module", "interactive", "profile", "colors"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["ext", "simple_prompt", "no_banner", "no_confirm_exit", "pdb", "quick", "classic"]