{
  "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
    },
    "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] ...\n--quiet\n    set log level to logging.CRITICAL (minimize logging output)\n--no-autoindent\n    Turn off autoindenting.\n--no-automagic\n    Turn off the auto calling of magic commands.\n--pdb\n    Enable auto calling the pdb debugger after every exception.\n--no-pprint\n    Disable auto pretty printing of results.\n--simple-prompt\n    Force simple minimal prompt using `raw_input`\n--no-banner\n    Don't display a banner upon starting IPython.\n--no-confirm-exit\n    Don't prompt the user when exiting.\n--classic\n    Gives IPython a similar feel to the classic Python prompt.\n--quick\n    Enable quick startup with no config files.\n-i\n    If running code from the command line, become interactive afterwards.\n--profile=<Unicode>\n    The IPython profile to use.\n--ipython-dir=<Unicode>\n    The name of the IPython directory.\n--colors=<Unicode>\n    Set the color scheme (nocolor, neutral, linux, lightbg).\n-c=<Unicode>\n    Execute the given command string.\n-m=<Unicode>\n    Run the module as a script.\n--ext=<list-item-1>...\n    Dotted module name(s) of one or more IPython extensions to load.\n"
      }
    ],
    "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"
        ]
      },
      {
        "id": "command",
        "label": "Command string",
        "description": "Execute this Python code instead of a script.",
        "type": "string",
        "option": [
          "-c"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "module",
        "label": "Module",
        "description": "Run this module as a script.",
        "type": "string",
        "option": [
          "-m"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "interactive",
        "label": "Stay interactive afterwards",
        "description": "After running the script or command, enter an interactive session.",
        "type": "boolean",
        "option": [
          "-i"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "profile",
        "label": "Profile",
        "type": "string",
        "option": [
          "--profile"
        ],
        "suggestions": [
          {
            "value": "default",
            "label": "default"
          }
        ],
        "sources": [
          "help"
        ]
      },
      {
        "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"
        ]
      },
      {
        "id": "ext",
        "label": "Extensions to load",
        "description": "Dotted module names of IPython extensions.",
        "type": "string",
        "option": [
          "--ext"
        ],
        "multiple": true,
        "sources": [
          "help"
        ]
      },
      {
        "id": "simple_prompt",
        "label": "Simple prompt",
        "type": "boolean",
        "option": [
          "--simple-prompt"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "no_banner",
        "label": "No banner",
        "type": "boolean",
        "option": [
          "--no-banner"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "no_confirm_exit",
        "label": "Do not confirm exit",
        "type": "boolean",
        "option": [
          "--no-confirm-exit"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "pdb",
        "label": "Debug on exceptions",
        "description": "Start the pdb debugger after every exception.",
        "type": "boolean",
        "option": [
          "--pdb"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "quick",
        "label": "Quick start (no config files)",
        "type": "boolean",
        "option": [
          "--quick"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "classic",
        "label": "Classic Python feel",
        "type": "boolean",
        "option": [
          "--classic"
        ],
        "sources": [
          "help"
        ]
      }
    ],
    "task": [
      {
        "id": "repl",
        "label": "Interactive session",
        "fields": [
          "profile",
          "colors",
          "no_banner",
          "quick"
        ],
        "required": []
      },
      {
        "id": "run_script",
        "label": "Run a script, then stay interactive",
        "fields": [
          "script",
          "interactive",
          "pdb",
          "profile"
        ],
        "required": [
          "script"
        ],
        "set": {
          "interactive": [
            true
          ]
        }
      },
      {
        "id": "run_module",
        "label": "Run a module",
        "fields": [
          "module",
          "interactive",
          "profile"
        ],
        "required": [
          "module"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "script",
          "command",
          "module",
          "interactive",
          "profile",
          "colors"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "ext",
          "simple_prompt",
          "no_banner",
          "no_confirm_exit",
          "pdb",
          "quick",
          "classic"
        ]
      }
    ]
  }
}
