##// END OF EJS Templates
add parent to Configurable...
add parent to Configurable this adds the notion of a parent and member config, so the config: c.Foo.Bar.attr = value will only set `Bar.attr = value` for `Bar` instances which are members of `Foo` instances. The mechanism for doing this is ```python f = Foo(config=cfg) f.b = Bar(parent=f) ``` This Instance config has higher priority than plain class config for Bar, but still lower priority than direct keyword arg trait assignment. The main implication this has is to change the standard creation of descendants: ```python self.bar = Bar(config=self.config) ``` into a direct parent expression ```python self.bar = Bar(parent=self) ``` This also means that most Configurables will actually have a handle on their parent object.

File last commit:

r10136:1b8fc4fc
r11062:7f44a560
Show More
__init__.py
12 lines | 385 B | text/x-python | PythonLexer
Julian Taylor
fix argparse version check
r10136 from IPython.utils.version import check_version
Thomas Spura
Unbundle of all external modules....
r3408 try:
import argparse
MinRK
use bundled argparse if system argparse is < 1.1
r4669 # don't use system argparse if older than 1.1:
Julian Taylor
fix argparse version check
r10136 if not check_version(argparse.__version__, '1.1'):
MinRK
use bundled argparse if system argparse is < 1.1
r4669 raise ImportError
else:
from argparse import *
from argparse import SUPPRESS
except (ImportError, AttributeError):
Thomas Spura
Unbundle of all external modules....
r3408 from _argparse import *
Thomas Kluyver
Fix up argparse (update bundled version) so IPython starts whether or not argparse is installed system-wide.
r3456 from _argparse import SUPPRESS