##// 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
from IPython.utils.version import check_version
try:
import argparse
# don't use system argparse if older than 1.1:
if not check_version(argparse.__version__, '1.1'):
raise ImportError
else:
from argparse import *
from argparse import SUPPRESS
except (ImportError, AttributeError):
from _argparse import *
from _argparse import SUPPRESS