# HG changeset patch # User Steve Losh # Date 1440005607 0 # Node ID f93fd42c8df84f6df974e6ed8f0b3a4282eacfdd # Parent f6c9df4f2babf930222aaa915525e9e057ae5e0a (s)i(gh)python diff -r f6c9df4f2bab -r f93fd42c8df8 bin/bootstrap.sh --- a/bin/bootstrap.sh Wed Aug 19 17:29:47 2015 +0000 +++ b/bin/bootstrap.sh Wed Aug 19 17:33:27 2015 +0000 @@ -50,6 +50,7 @@ ensure_link "lib/dotfiles/inputrc" ".inputrc" ensure_link "lib/dotfiles/fish/config.fish" ".config/fish/config.fish" ensure_link "lib/dotfiles/fish/functions" ".config/fish/functions" +ensure_link "lib/dotfiles/ipython" ".ipython" echo remember to copy the notmuch-config echo completed diff -r f6c9df4f2bab -r f93fd42c8df8 ipython/profile_default/ipython_config.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ipython/profile_default/ipython_config.py Wed Aug 19 17:33:27 2015 +0000 @@ -0,0 +1,603 @@ +# Configuration file for ipython. + +#------------------------------------------------------------------------------ +# Configurable configuration +#------------------------------------------------------------------------------ + +#------------------------------------------------------------------------------ +# InteractiveShellApp configuration +#------------------------------------------------------------------------------ + +# A Mixin for applications that start InteractiveShell instances. +# +# Provides configurables for loading extensions and executing files as part of +# configuring a Shell environment. +# +# The following methods should be called by the :meth:`initialize` method of the +# subclass: +# +# - :meth:`init_path` +# - :meth:`init_shell` (to be implemented by the subclass) +# - :meth:`init_gui_pylab` +# - :meth:`init_extensions` +# - :meth:`init_code` + +# Configure matplotlib for interactive use with the default matplotlib backend. +# c.InteractiveShellApp.matplotlib = None + +# Reraise exceptions encountered loading IPython extensions? +# c.InteractiveShellApp.reraise_ipython_extension_failures = False + +# A file to be run +# c.InteractiveShellApp.file_to_run = '' + +# Run the module as a script. +# c.InteractiveShellApp.module_to_run = '' + +# Run the file referenced by the PYTHONSTARTUP environment variable at IPython +# startup. +# c.InteractiveShellApp.exec_PYTHONSTARTUP = True + +# dotted module name of an IPython extension to load. +# c.InteractiveShellApp.extra_extension = '' + +# Execute the given command string. +# c.InteractiveShellApp.code_to_run = '' + +# lines of code to run at IPython startup. +# c.InteractiveShellApp.exec_lines = traitlets.Undefined + +# List of files to run at IPython startup. +# c.InteractiveShellApp.exec_files = traitlets.Undefined + +# Pre-load matplotlib and numpy for interactive use, selecting a particular +# matplotlib backend and loop integration. +# c.InteractiveShellApp.pylab = None + +# Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk3', 'osx', +# 'pyglet', 'qt', 'qt5', 'tk', 'wx'). +# c.InteractiveShellApp.gui = None + +# Should variables loaded at startup (by startup files, exec_lines, etc.) be +# hidden from tools like %who? +# c.InteractiveShellApp.hide_initial_ns = True + +# A list of dotted module names of IPython extensions to load. +# c.InteractiveShellApp.extensions = traitlets.Undefined + +# If true, IPython will populate the user namespace with numpy, pylab, etc. and +# an ``import *`` is done from numpy and pylab, when using pylab mode. +# +# When False, pylab mode should not import any names into the user namespace. +# c.InteractiveShellApp.pylab_import_all = True + +#------------------------------------------------------------------------------ +# SingletonConfigurable configuration +#------------------------------------------------------------------------------ + +# A configurable that only allows one instance. +# +# This class is for classes that should only have one instance of itself or +# *any* subclass. To create and retrieve such a class use the +# :meth:`SingletonConfigurable.instance` method. + +#------------------------------------------------------------------------------ +# Application configuration +#------------------------------------------------------------------------------ + +# This is an application. + +# The Logging format template +# c.Application.log_format = '[%(name)s]%(highlevel)s %(message)s' + +# Set the log level by value or name. +# c.Application.log_level = 30 + +# The date format used by logging formatters for %(asctime)s +# c.Application.log_datefmt = '%Y-%m-%d %H:%M:%S' + +#------------------------------------------------------------------------------ +# BaseIPythonApplication configuration +#------------------------------------------------------------------------------ + +# IPython: an enhanced interactive Python shell. + +# The IPython profile to use. +# c.BaseIPythonApplication.profile = 'default' + +# Path to an extra config file to load. +# +# If specified, load this config file in addition to any other IPython config. +# c.BaseIPythonApplication.extra_config_file = '' + +# 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. +# c.BaseIPythonApplication.ipython_dir = '' + +# Whether to overwrite existing config files when copying +# c.BaseIPythonApplication.overwrite = False + +# Whether to create profile dir if it doesn't exist +# c.BaseIPythonApplication.auto_create = False + +# Create a massive crash report when IPython encounters what may be an internal +# error. The default is to append a short message to the usual traceback +# c.BaseIPythonApplication.verbose_crash = False + +# Whether to install the default config files into the profile dir. If a new +# profile is being created, and IPython contains config files for that profile, +# then they will be staged into the new directory. Otherwise, default config +# files will be automatically generated. +# c.BaseIPythonApplication.copy_config_files = False + +#------------------------------------------------------------------------------ +# TerminalIPythonApp configuration +#------------------------------------------------------------------------------ + +# Start IPython quickly by skipping the loading of config files. +# c.TerminalIPythonApp.quick = False + +# If a command or file is given via the command-line, e.g. 'ipython foo.py', +# start an interactive shell after executing the file or command. +# c.TerminalIPythonApp.force_interact = False + +# Whether to display a banner upon starting IPython. +# c.TerminalIPythonApp.display_banner = True + +#------------------------------------------------------------------------------ +# InteractiveShell configuration +#------------------------------------------------------------------------------ + +# An enhanced, interactive shell for Python. + +# +# c.InteractiveShell.xmode = 'Context' + +# 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). +# c.InteractiveShell.autocall = 0 + +# +# c.InteractiveShell.history_length = 10000 + +# Deprecated, use PromptManager.in2_template +# c.InteractiveShell.prompt_in2 = ' .\\D.: ' + +# The name of the logfile to use. +# c.InteractiveShell.logfile = '' + +# Automatically call the pdb debugger after every exception. +# c.InteractiveShell.pdb = False + +# +# c.InteractiveShell.quiet = False + +# A list of ast.NodeTransformer subclass instances, which will be applied to +# user input before code is run. +# c.InteractiveShell.ast_transformers = traitlets.Undefined + +# +# c.InteractiveShell.separate_in = '\n' + +# +# c.InteractiveShell.readline_remove_delims = '-/~' + +# **Deprecated** +# +# Enable deep (recursive) reloading by default. IPython can use the deep_reload +# module which reloads changes in modules recursively (it replaces the reload() +# function, so you don't need to change anything to use it). `deep_reload` +# forces a full reload of modules whose code may have changed, which the default +# reload() function does not. When deep_reload is off, IPython will use the +# normal reload(), but deep_reload will still be available as dreload(). +# c.InteractiveShell.deep_reload = False + +# Deprecated, use PromptManager.in_template +# c.InteractiveShell.prompt_in1 = 'In [\\#]: ' + +# Save multi-line entries as one entry in readline history +# c.InteractiveShell.multiline_history = True + +# Start logging to the default log file in overwrite mode. Use `logappend` to +# specify a log file to **append** logs to. +# c.InteractiveShell.logstart = False + +# 'all', 'last', 'last_expr' or 'none', specifying which nodes should be run +# interactively (displaying output from expressions). +# c.InteractiveShell.ast_node_interactivity = 'last_expr' + +# Don't call post-execute functions that have failed in the past. +# c.InteractiveShell.disable_failing_post_execute = False + +# Start logging to the given file in append mode. Use `logfile` to specify a log +# file to **overwrite** logs to. +# c.InteractiveShell.logappend = '' + +# Deprecated, use PromptManager.justify +# c.InteractiveShell.prompts_pad_left = True + +# +# c.InteractiveShell.wildcards_case_sensitive = True + +# +# c.InteractiveShell.separate_out2 = '' + +# Enable magic commands to be called without the leading %. +# c.InteractiveShell.automagic = True + +# The number of saved history entries to be loaded into the readline buffer at +# startup. +# c.InteractiveShell.history_load_length = 1000 + +# +# c.InteractiveShell.ipython_dir = '' + +# Show rewritten input, e.g. for autocall. +# c.InteractiveShell.show_rewritten_input = True + +# The part of the banner to be printed after the profile +# c.InteractiveShell.banner2 = '' + +# Set the color scheme (NoColor, Linux, or LightBG). +# c.InteractiveShell.colors = 'LightBG' + +# The part of the banner to be printed before the profile +# c.InteractiveShell.banner1 = 'Python 3.4.3 (default, Aug 11 2015, 08:57:25) \nType "copyright", "credits" or "license" for more information.\n\nIPython 4.0.0 -- An enhanced Interactive Python.\n? -> Introduction and overview of IPython\'s features.\n%quickref -> Quick reference.\nhelp -> Python\'s own help system.\nobject? -> Details about \'object\', use \'object??\' for extra details.\n' + +# Use colors for displaying information about objects. Because this information +# is passed through a pager (like 'less'), and some pagers get confused with +# color codes, this capability can be turned off. +# c.InteractiveShell.color_info = True + +# +# c.InteractiveShell.readline_use = True + +# Autoindent IPython code entered interactively. +# c.InteractiveShell.autoindent = True + +# +# c.InteractiveShell.debug = False + +# If True, anything that would be passed to the pager will be displayed as +# regular output instead. +# c.InteractiveShell.display_page = False + +# 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 20 (if you provide a value +# less than 20, 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 +# c.InteractiveShell.cache_size = 1000 + +# +# c.InteractiveShell.separate_out = '' + +# +# c.InteractiveShell.readline_parse_and_bind = traitlets.Undefined + +# +# c.InteractiveShell.object_info_string_level = 0 + +# Deprecated, use PromptManager.out_template +# c.InteractiveShell.prompt_out = 'Out[\\#]: ' + +#------------------------------------------------------------------------------ +# TerminalInteractiveShell configuration +#------------------------------------------------------------------------------ + +# auto editing of files with syntax errors. +# c.TerminalInteractiveShell.autoedit_syntax = False + +# Enable auto setting the terminal title. +# c.TerminalInteractiveShell.term_title = False + +# 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. +c.TerminalInteractiveShell.confirm_exit = False + +# The shell program to be used for paging. +# c.TerminalInteractiveShell.pager = 'less' + +# Set the editor used by IPython (default to $EDITOR/vi/notepad). +# c.TerminalInteractiveShell.editor = 'vim' + +# Number of lines of your screen, used to control printing of very long strings. +# Strings longer than this number of lines will be sent through a pager instead +# of directly printed. The default value for this is 0, which means IPython +# will auto-detect your screen size every time it needs to print certain +# potentially long strings (this doesn't change the behavior of the 'print' +# keyword, it's only triggered internally). If for some reason this isn't +# working well (it needs curses support), specify it yourself. Otherwise don't +# change the default. +# c.TerminalInteractiveShell.screen_length = 0 + +#------------------------------------------------------------------------------ +# PromptManager configuration +#------------------------------------------------------------------------------ + +# This is the primary interface for producing IPython's prompts. + +# If True (default), each prompt will be right-aligned with the preceding one. +# c.PromptManager.justify = True + +# +# c.PromptManager.color_scheme = 'Linux' + +# Output prompt. '\#' will be transformed to the prompt number +# c.PromptManager.out_template = 'Out[\\#]: ' + +# Continuation prompt. +# c.PromptManager.in2_template = ' .\\D.: ' + +# Input prompt. '\#' will be transformed to the prompt number +# c.PromptManager.in_template = 'In [\\#]: ' + +#------------------------------------------------------------------------------ +# HistoryAccessorBase configuration +#------------------------------------------------------------------------------ + +# An abstract class for History Accessors + +#------------------------------------------------------------------------------ +# HistoryAccessor configuration +#------------------------------------------------------------------------------ + +# Access the history database without adding to it. +# +# This is intended for use by standalone history tools. IPython shells use +# HistoryManager, below, which is a subclass of this. + +# Path to file to use for SQLite history database. +# +# By default, IPython will put the history database in the IPython profile +# directory. If you would rather share one history among profiles, you can set +# this value in each, so that they are consistent. +# +# Due to an issue with fcntl, SQLite is known to misbehave on some NFS mounts. +# If you see IPython hanging, try setting this to something on a local disk, +# e.g:: +# +# ipython --HistoryManager.hist_file=/tmp/ipython_hist.sqlite +# c.HistoryAccessor.hist_file = '' + +# Options for configuring the SQLite connection +# +# These options are passed as keyword args to sqlite3.connect when establishing +# database conenctions. +# c.HistoryAccessor.connection_options = traitlets.Undefined + +# enable the SQLite history +# +# set enabled=False to disable the SQLite history, in which case there will be +# no stored history, no SQLite connection, and no background saving thread. +# This may be necessary in some threaded environments where IPython is embedded. +# c.HistoryAccessor.enabled = True + +#------------------------------------------------------------------------------ +# HistoryManager configuration +#------------------------------------------------------------------------------ + +# A class to organize all history-related functionality in one place. + +# Should the history database include output? (default: no) +# c.HistoryManager.db_log_output = False + +# Write to database every x commands (higher values save disk access & power). +# Values of 1 or less effectively disable caching. +# c.HistoryManager.db_cache_size = 0 + +#------------------------------------------------------------------------------ +# LoggingConfigurable configuration +#------------------------------------------------------------------------------ + +# A parent class for Configurables that log. +# +# Subclasses have a log trait, and the default behavior is to get the logger +# from the currently running Application. + +#------------------------------------------------------------------------------ +# ProfileDir configuration +#------------------------------------------------------------------------------ + +# An object to manage the profile directory and its resources. +# +# The profile directory is used by all IPython applications, to manage +# configuration, logging and security. +# +# This object knows how to find, create and manage these directories. This +# should be used by any code that wants to handle profiles. + +# Set the profile location directly. This overrides the logic used by the +# `profile` option. +# c.ProfileDir.location = '' + +#------------------------------------------------------------------------------ +# BaseFormatter configuration +#------------------------------------------------------------------------------ + +# A base formatter class that is configurable. +# +# This formatter should usually be used as the base class of all formatters. It +# is a traited :class:`Configurable` class and includes an extensible API for +# users to determine how their objects are formatted. The following logic is +# used to find a function to format an given object. +# +# 1. The object is introspected to see if it has a method with the name +# :attr:`print_method`. If is does, that object is passed to that method +# for formatting. +# 2. If no print method is found, three internal dictionaries are consulted +# to find print method: :attr:`singleton_printers`, :attr:`type_printers` +# and :attr:`deferred_printers`. +# +# Users should use these dictionaries to register functions that will be used to +# compute the format data for their objects (if those objects don't have the +# special print methods). The easiest way of using these dictionaries is through +# the :meth:`for_type` and :meth:`for_type_by_name` methods. +# +# If no function/callable is found to compute the format data, ``None`` is +# returned and this format type is not used. + +# +# c.BaseFormatter.type_printers = traitlets.Undefined + +# +# c.BaseFormatter.enabled = True + +# +# c.BaseFormatter.singleton_printers = traitlets.Undefined + +# +# c.BaseFormatter.deferred_printers = traitlets.Undefined + +#------------------------------------------------------------------------------ +# PlainTextFormatter configuration +#------------------------------------------------------------------------------ + +# The default pretty-printer. +# +# This uses :mod:`IPython.lib.pretty` to compute the format data of the object. +# If the object cannot be pretty printed, :func:`repr` is used. See the +# documentation of :mod:`IPython.lib.pretty` for details on how to write pretty +# printers. Here is a simple example:: +# +# def dtype_pprinter(obj, p, cycle): +# if cycle: +# return p.text('dtype(...)') +# if hasattr(obj, 'fields'): +# if obj.fields is None: +# p.text(repr(obj)) +# else: +# p.begin_group(7, 'dtype([') +# for i, field in enumerate(obj.descr): +# if i > 0: +# p.text(',') +# p.breakable() +# p.pretty(field) +# p.end_group(7, '])') + +# Truncate large collections (lists, dicts, tuples, sets) to this size. +# +# Set to 0 to disable truncation. +# c.PlainTextFormatter.max_seq_length = 1000 + +# +# c.PlainTextFormatter.verbose = False + +# +# c.PlainTextFormatter.float_precision = '' + +# +# c.PlainTextFormatter.max_width = 79 + +# +# c.PlainTextFormatter.pprint = True + +# +# c.PlainTextFormatter.newline = '\n' + +#------------------------------------------------------------------------------ +# Completer configuration +#------------------------------------------------------------------------------ + +# Activate greedy completion +# +# This will enable completion on elements of lists, results of function calls, +# etc., but can be unsafe because the code is actually evaluated on TAB. +# c.Completer.greedy = False + +#------------------------------------------------------------------------------ +# IPCompleter configuration +#------------------------------------------------------------------------------ + +# Extension of the completer class with IPython-specific features + +# Instruct the completer to omit private method names +# +# Specifically, when completing on ``object.``. +# +# When 2 [default]: all names that start with '_' will be excluded. +# +# When 1: all 'magic' names (``__foo__``) will be excluded. +# +# When 0: nothing will be excluded. +# c.IPCompleter.omit__names = 2 + +# Instruct the completer to use __all__ for the completion +# +# Specifically, when completing on ``object.``. +# +# When True: only those names in obj.__all__ will be included. +# +# When False [default]: the __all__ attribute is ignored +# c.IPCompleter.limit_to__all__ = False + +# Whether to merge completion results into a single list +# +# If False, only the completion results from the first non-empty completer will +# be returned. +# c.IPCompleter.merge_completions = True + +#------------------------------------------------------------------------------ +# Magics configuration +#------------------------------------------------------------------------------ + +# Base class for implementing magic functions. +# +# Shell functions which can be reached as %function_name. All magic functions +# should accept a string, which they can parse for their own needs. This can +# make some functions easier to type, eg `%cd ../` vs. `%cd("../")` +# +# Classes providing magic functions need to subclass this class, and they MUST: +# +# - Use the method decorators `@line_magic` and `@cell_magic` to decorate +# individual methods as magic functions, AND +# +# - Use the class decorator `@magics_class` to ensure that the magic +# methods are properly registered at the instance level upon instance +# initialization. +# +# See :mod:`magic_functions` for examples of actual implementation classes. + +#------------------------------------------------------------------------------ +# ScriptMagics configuration +#------------------------------------------------------------------------------ + +# Magics for talking to scripts +# +# This defines a base `%%script` cell magic for running a cell with a program in +# a subprocess, and registers a few top-level magics that call %%script with +# common interpreters. + +# Extra script cell magics to define +# +# This generates simple wrappers of `%%script foo` as `%%foo`. +# +# If you want to add script magics that aren't on your path, specify them in +# script_paths +# c.ScriptMagics.script_magics = traitlets.Undefined + +# Dict mapping short 'ruby' names to full paths, such as '/opt/secret/bin/ruby' +# +# Only necessary for items in script_magics where the default path will not find +# the right interpreter. +# c.ScriptMagics.script_paths = traitlets.Undefined + +#------------------------------------------------------------------------------ +# StoreMagics configuration +#------------------------------------------------------------------------------ + +# Lightweight persistence for python variables. +# +# Provides the %store magic. + +# If True, any %store-d variables will be automatically restored when IPython +# starts. +# c.StoreMagics.autorestore = False diff -r f6c9df4f2bab -r f93fd42c8df8 ipython/profile_default/startup/README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ipython/profile_default/startup/README Wed Aug 19 17:33:27 2015 +0000 @@ -0,0 +1,11 @@ +This is the IPython startup directory + +.py and .ipy files in this directory will be run *prior* to any code or files specified +via the exec_lines or exec_files configurables whenever you load this profile. + +Files will be run in lexicographical order, so you can control the execution order of files +with a prefix, e.g.:: + + 00-first.py + 50-middle.py + 99-last.ipy