Menu

[r8871]: / trunk / htdocs / matplotlib.units.html.template  Maximize  Restore  History

Download this file

218 lines (174 with data), 18.3 kB

@header@
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="matplotlib.html"><font color="#ffffff">matplotlib</font></a>.units</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/jdhunter/dev/lib64/python2.5/site-packages/matplotlib/units.py">/home/jdhunter/dev/lib64/python2.5/site-packages/matplotlib/units.py</a></font></td></tr></table>
    <p><tt>The&nbsp;classes&nbsp;here&nbsp;provide&nbsp;support&nbsp;for&nbsp;using&nbsp;custom&nbsp;classes&nbsp;with<br>
matplotlib,&nbsp;eg&nbsp;those&nbsp;that&nbsp;do&nbsp;not&nbsp;expose&nbsp;the&nbsp;array&nbsp;interface&nbsp;but&nbsp;know<br>
how&nbsp;to&nbsp;converter&nbsp;themselves&nbsp;to&nbsp;arrays.&nbsp;&nbsp;It&nbsp;also&nbsp;supoprts&nbsp;classes&nbsp;with<br>
units&nbsp;and&nbsp;units&nbsp;conversion.&nbsp;&nbsp;Use&nbsp;cases&nbsp;include&nbsp;converters&nbsp;for&nbsp;custom<br>
objects,&nbsp;eg&nbsp;a&nbsp;list&nbsp;of&nbsp;datetime&nbsp;objects,&nbsp;as&nbsp;well&nbsp;as&nbsp;for&nbsp;objects&nbsp;that<br>
are&nbsp;unit&nbsp;aware.&nbsp;&nbsp;We&nbsp;don't&nbsp;assume&nbsp;any&nbsp;particular&nbsp;units&nbsp;implementation,<br>
rather&nbsp;a&nbsp;units&nbsp;implementation&nbsp;must&nbsp;provide&nbsp;a&nbsp;<a href="#ConversionInterface">ConversionInterface</a>,&nbsp;and<br>
the&nbsp;register&nbsp;with&nbsp;the&nbsp;<a href="#Registry">Registry</a>&nbsp;converter&nbsp;dictionary.&nbsp;&nbsp;For&nbsp;example,<br>
here&nbsp;is&nbsp;a&nbsp;complete&nbsp;implementation&nbsp;which&nbsp;support&nbsp;plotting&nbsp;with&nbsp;native<br>
datetime&nbsp;objects<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;import&nbsp;matplotlib.units&nbsp;as&nbsp;units<br>
&nbsp;&nbsp;&nbsp;&nbsp;import&nbsp;matplotlib.dates&nbsp;as&nbsp;dates<br>
&nbsp;&nbsp;&nbsp;&nbsp;import&nbsp;matplotlib.ticker&nbsp;as&nbsp;ticker<br>
&nbsp;&nbsp;&nbsp;&nbsp;import&nbsp;datetime<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;class&nbsp;DateConverter(units.<a href="#ConversionInterface">ConversionInterface</a>):<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;convert(value,&nbsp;unit):<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'convert&nbsp;value&nbsp;to&nbsp;a&nbsp;scalar&nbsp;or&nbsp;array'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;dates.date2num(value)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;convert&nbsp;=&nbsp;staticmethod(convert)<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;axisinfo(unit):<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'return&nbsp;major&nbsp;and&nbsp;minor&nbsp;tick&nbsp;locators&nbsp;and&nbsp;formatters'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;unit!='date':&nbsp;return&nbsp;None<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;majloc&nbsp;=&nbsp;dates.AutoDateLocator()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;majfmt&nbsp;=&nbsp;dates.AutoDateFormatter(majloc)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;<a href="#AxisInfo">AxisInfo</a>(majloc=majloc,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;majfmt=majfmt,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label='date')<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;axisinfo&nbsp;=&nbsp;staticmethod(axisinfo)<br>
&nbsp;<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;default_units(x):<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'return&nbsp;the&nbsp;default&nbsp;unit&nbsp;for&nbsp;x&nbsp;or&nbsp;None'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;'date'<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default_units&nbsp;=&nbsp;staticmethod(default_units)<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;finally&nbsp;we&nbsp;register&nbsp;our&nbsp;object&nbsp;type&nbsp;with&nbsp;a&nbsp;converter<br>
&nbsp;&nbsp;&nbsp;&nbsp;units.registry[datetime.date]&nbsp;=&nbsp;DateConverter()</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
    
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="__builtin__.html#dict">__builtin__.dict</a>(<a href="__builtin__.html#object">__builtin__.object</a>)
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="matplotlib.units.html#Registry">Registry</a>
</font></dt></dl>
</dd>
<dt><font face="helvetica, arial"><a href="matplotlib.units.html#AxisInfo">AxisInfo</a>
</font></dt><dt><font face="helvetica, arial"><a href="matplotlib.units.html#ConversionInterface">ConversionInterface</a>
</font></dt></dl>
 <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="AxisInfo">class <strong>AxisInfo</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>information&nbsp;to&nbsp;support&nbsp;default&nbsp;axis&nbsp;labeling&nbsp;and&nbsp;tick&nbsp;labeling<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Methods defined here:<br>
<dl><dt><a name="AxisInfo-__init__"><strong>__init__</strong></a>(self, majloc<font color="#909090">=None</font>, minloc<font color="#909090">=None</font>, majfmt<font color="#909090">=None</font>, minfmt<font color="#909090">=None</font>, label<font color="#909090">=None</font>)</dt><dd><tt>majloc&nbsp;and&nbsp;minloc:&nbsp;TickLocators&nbsp;for&nbsp;the&nbsp;major&nbsp;and&nbsp;minor&nbsp;ticks<br>
majfmt&nbsp;and&nbsp;minfmt:&nbsp;TickFormatters&nbsp;for&nbsp;the&nbsp;major&nbsp;and&nbsp;minor&nbsp;ticks<br>
label:&nbsp;the&nbsp;default&nbsp;axis&nbsp;label<br>
&nbsp;<br>
If&nbsp;any&nbsp;of&nbsp;the&nbsp;above&nbsp;are&nbsp;None,&nbsp;the&nbsp;axis&nbsp;will&nbsp;simply&nbsp;use&nbsp;the&nbsp;default</tt></dd></dl>

</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ConversionInterface">class <strong>ConversionInterface</strong></a></font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>The&nbsp;minimal&nbsp;interface&nbsp;for&nbsp;a&nbsp;converter&nbsp;to&nbsp;take&nbsp;custom&nbsp;instances&nbsp;(or<br>
sequences)&nbsp;and&nbsp;convert&nbsp;them&nbsp;to&nbsp;values&nbsp;mpl&nbsp;can&nbsp;use<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%">Static methods defined here:<br>
<dl><dt><a name="ConversionInterface-axisinfo"><strong>axisinfo</strong></a>(unit)</dt><dd><tt>return&nbsp;an&nbsp;units.<a href="#AxisInfo">AxisInfo</a>&nbsp;instance&nbsp;for&nbsp;unit</tt></dd></dl>

<dl><dt><a name="ConversionInterface-convert"><strong>convert</strong></a>(obj, unit)</dt><dd><tt>convert&nbsp;obj&nbsp;using&nbsp;unit.&nbsp;&nbsp;If&nbsp;obj&nbsp;is&nbsp;a&nbsp;sequence,&nbsp;return&nbsp;the<br>
converted&nbsp;sequence.&nbsp;&nbsp;The&nbsp;ouput&nbsp;must&nbsp;be&nbsp;a&nbsp;sequence&nbsp;of&nbsp;scalars<br>
that&nbsp;can&nbsp;be&nbsp;used&nbsp;by&nbsp;the&nbsp;numpy&nbsp;array&nbsp;layer</tt></dd></dl>

<dl><dt><a name="ConversionInterface-default_units"><strong>default_units</strong></a>(x)</dt><dd><tt>return&nbsp;the&nbsp;default&nbsp;unit&nbsp;for&nbsp;x&nbsp;or&nbsp;None</tt></dd></dl>

<dl><dt><a name="ConversionInterface-is_numlike"><strong>is_numlike</strong></a>(x)</dt><dd><tt>The&nbsp;matplotlib&nbsp;datalim,&nbsp;autoscaling,&nbsp;locators&nbsp;etc&nbsp;work&nbsp;with<br>
scalars&nbsp;which&nbsp;are&nbsp;the&nbsp;units&nbsp;converted&nbsp;to&nbsp;floats&nbsp;given&nbsp;the<br>
current&nbsp;unit.&nbsp;&nbsp;The&nbsp;converter&nbsp;may&nbsp;be&nbsp;passed&nbsp;these&nbsp;floats,&nbsp;or<br>
arrays&nbsp;of&nbsp;them,&nbsp;even&nbsp;when&nbsp;units&nbsp;are&nbsp;set.&nbsp;&nbsp;Derived&nbsp;conversion<br>
interfaces&nbsp;may&nbsp;opt&nbsp;to&nbsp;pass&nbsp;plain-ol&nbsp;unitless&nbsp;numbers&nbsp;through<br>
the&nbsp;conversion&nbsp;interface&nbsp;and&nbsp;this&nbsp;is&nbsp;a&nbsp;helper&nbsp;function&nbsp;for<br>
them.</tt></dd></dl>

</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="Registry">class <strong>Registry</strong></a>(<a href="__builtin__.html#dict">__builtin__.dict</a>)</font></td></tr>
    
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>register&nbsp;types&nbsp;with&nbsp;conversion&nbsp;interface<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="matplotlib.units.html#Registry">Registry</a></dd>
<dd><a href="__builtin__.html#dict">__builtin__.dict</a></dd>
<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="Registry-__init__"><strong>__init__</strong></a>(self)</dt></dl>

<dl><dt><a name="Registry-get_converter"><strong>get_converter</strong></a>(self, x)</dt><dd><tt>get&nbsp;the&nbsp;converter&nbsp;interface&nbsp;instance&nbsp;for&nbsp;x,&nbsp;or&nbsp;None</tt></dd></dl>

<hr>
Data descriptors defined here:<br>
<dl><dt><strong>__dict__</strong></dt>
<dd><tt>dictionary&nbsp;for&nbsp;instance&nbsp;variables&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<dl><dt><strong>__weakref__</strong></dt>
<dd><tt>list&nbsp;of&nbsp;weak&nbsp;references&nbsp;to&nbsp;the&nbsp;object&nbsp;(if&nbsp;defined)</tt></dd>
</dl>
<hr>
Methods inherited from <a href="__builtin__.html#dict">__builtin__.dict</a>:<br>
<dl><dt><a name="Registry-__cmp__"><strong>__cmp__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__cmp__">__cmp__</a>(y)&nbsp;&lt;==&gt;&nbsp;cmp(x,y)</tt></dd></dl>

<dl><dt><a name="Registry-__contains__"><strong>__contains__</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-__contains__">__contains__</a>(k)&nbsp;-&gt;&nbsp;True&nbsp;if&nbsp;D&nbsp;has&nbsp;a&nbsp;key&nbsp;k,&nbsp;else&nbsp;False</tt></dd></dl>

<dl><dt><a name="Registry-__delitem__"><strong>__delitem__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__delitem__">__delitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;del&nbsp;x[y]</tt></dd></dl>

<dl><dt><a name="Registry-__eq__"><strong>__eq__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__eq__">__eq__</a>(y)&nbsp;&lt;==&gt;&nbsp;x==y</tt></dd></dl>

<dl><dt><a name="Registry-__ge__"><strong>__ge__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__ge__">__ge__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&gt;=y</tt></dd></dl>

<dl><dt><a name="Registry-__getattribute__"><strong>__getattribute__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__getattribute__">__getattribute__</a>('name')&nbsp;&lt;==&gt;&nbsp;x.name</tt></dd></dl>

<dl><dt><a name="Registry-__getitem__"><strong>__getitem__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__getitem__">__getitem__</a>(y)&nbsp;&lt;==&gt;&nbsp;x[y]</tt></dd></dl>

<dl><dt><a name="Registry-__gt__"><strong>__gt__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__gt__">__gt__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&gt;y</tt></dd></dl>

<dl><dt><a name="Registry-__hash__"><strong>__hash__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__hash__">__hash__</a>()&nbsp;&lt;==&gt;&nbsp;hash(x)</tt></dd></dl>

<dl><dt><a name="Registry-__iter__"><strong>__iter__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__iter__">__iter__</a>()&nbsp;&lt;==&gt;&nbsp;iter(x)</tt></dd></dl>

<dl><dt><a name="Registry-__le__"><strong>__le__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__le__">__le__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&lt;=y</tt></dd></dl>

<dl><dt><a name="Registry-__len__"><strong>__len__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__len__">__len__</a>()&nbsp;&lt;==&gt;&nbsp;len(x)</tt></dd></dl>

<dl><dt><a name="Registry-__lt__"><strong>__lt__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__lt__">__lt__</a>(y)&nbsp;&lt;==&gt;&nbsp;x&lt;y</tt></dd></dl>

<dl><dt><a name="Registry-__ne__"><strong>__ne__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__ne__">__ne__</a>(y)&nbsp;&lt;==&gt;&nbsp;x!=y</tt></dd></dl>

<dl><dt><a name="Registry-__repr__"><strong>__repr__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__repr__">__repr__</a>()&nbsp;&lt;==&gt;&nbsp;repr(x)</tt></dd></dl>

<dl><dt><a name="Registry-__setitem__"><strong>__setitem__</strong></a>(...)</dt><dd><tt>x.<a href="#Registry-__setitem__">__setitem__</a>(i,&nbsp;y)&nbsp;&lt;==&gt;&nbsp;x[i]=y</tt></dd></dl>

<dl><dt><a name="Registry-clear"><strong>clear</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-clear">clear</a>()&nbsp;-&gt;&nbsp;None.&nbsp;&nbsp;Remove&nbsp;all&nbsp;items&nbsp;from&nbsp;D.</tt></dd></dl>

<dl><dt><a name="Registry-copy"><strong>copy</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-copy">copy</a>()&nbsp;-&gt;&nbsp;a&nbsp;shallow&nbsp;copy&nbsp;of&nbsp;D</tt></dd></dl>

<dl><dt><a name="Registry-get"><strong>get</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-get">get</a>(k[,d])&nbsp;-&gt;&nbsp;D[k]&nbsp;if&nbsp;k&nbsp;in&nbsp;D,&nbsp;else&nbsp;d.&nbsp;&nbsp;d&nbsp;defaults&nbsp;to&nbsp;None.</tt></dd></dl>

<dl><dt><a name="Registry-has_key"><strong>has_key</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-has_key">has_key</a>(k)&nbsp;-&gt;&nbsp;True&nbsp;if&nbsp;D&nbsp;has&nbsp;a&nbsp;key&nbsp;k,&nbsp;else&nbsp;False</tt></dd></dl>

<dl><dt><a name="Registry-items"><strong>items</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-items">items</a>()&nbsp;-&gt;&nbsp;list&nbsp;of&nbsp;D's&nbsp;(key,&nbsp;value)&nbsp;pairs,&nbsp;as&nbsp;2-tuples</tt></dd></dl>

<dl><dt><a name="Registry-iteritems"><strong>iteritems</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-iteritems">iteritems</a>()&nbsp;-&gt;&nbsp;an&nbsp;iterator&nbsp;over&nbsp;the&nbsp;(key,&nbsp;value)&nbsp;items&nbsp;of&nbsp;D</tt></dd></dl>

<dl><dt><a name="Registry-iterkeys"><strong>iterkeys</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-iterkeys">iterkeys</a>()&nbsp;-&gt;&nbsp;an&nbsp;iterator&nbsp;over&nbsp;the&nbsp;keys&nbsp;of&nbsp;D</tt></dd></dl>

<dl><dt><a name="Registry-itervalues"><strong>itervalues</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-itervalues">itervalues</a>()&nbsp;-&gt;&nbsp;an&nbsp;iterator&nbsp;over&nbsp;the&nbsp;values&nbsp;of&nbsp;D</tt></dd></dl>

<dl><dt><a name="Registry-keys"><strong>keys</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-keys">keys</a>()&nbsp;-&gt;&nbsp;list&nbsp;of&nbsp;D's&nbsp;keys</tt></dd></dl>

<dl><dt><a name="Registry-pop"><strong>pop</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-pop">pop</a>(k[,d])&nbsp;-&gt;&nbsp;v,&nbsp;remove&nbsp;specified&nbsp;key&nbsp;and&nbsp;return&nbsp;the&nbsp;corresponding&nbsp;value<br>
If&nbsp;key&nbsp;is&nbsp;not&nbsp;found,&nbsp;d&nbsp;is&nbsp;returned&nbsp;if&nbsp;given,&nbsp;otherwise&nbsp;KeyError&nbsp;is&nbsp;raised</tt></dd></dl>

<dl><dt><a name="Registry-popitem"><strong>popitem</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-popitem">popitem</a>()&nbsp;-&gt;&nbsp;(k,&nbsp;v),&nbsp;remove&nbsp;and&nbsp;return&nbsp;some&nbsp;(key,&nbsp;value)&nbsp;pair&nbsp;as&nbsp;a<br>
2-tuple;&nbsp;but&nbsp;raise&nbsp;KeyError&nbsp;if&nbsp;D&nbsp;is&nbsp;empty</tt></dd></dl>

<dl><dt><a name="Registry-setdefault"><strong>setdefault</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-setdefault">setdefault</a>(k[,d])&nbsp;-&gt;&nbsp;D.<a href="#Registry-get">get</a>(k,d),&nbsp;also&nbsp;set&nbsp;D[k]=d&nbsp;if&nbsp;k&nbsp;not&nbsp;in&nbsp;D</tt></dd></dl>

<dl><dt><a name="Registry-update"><strong>update</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-update">update</a>(E,&nbsp;**F)&nbsp;-&gt;&nbsp;None.&nbsp;&nbsp;Update&nbsp;D&nbsp;from&nbsp;E&nbsp;and&nbsp;F:&nbsp;for&nbsp;k&nbsp;in&nbsp;E:&nbsp;D[k]&nbsp;=&nbsp;E[k]<br>
(if&nbsp;E&nbsp;has&nbsp;keys&nbsp;else:&nbsp;for&nbsp;(k,&nbsp;v)&nbsp;in&nbsp;E:&nbsp;D[k]&nbsp;=&nbsp;v)&nbsp;then:&nbsp;for&nbsp;k&nbsp;in&nbsp;F:&nbsp;D[k]&nbsp;=&nbsp;F[k]</tt></dd></dl>

<dl><dt><a name="Registry-values"><strong>values</strong></a>(...)</dt><dd><tt>D.<a href="#Registry-values">values</a>()&nbsp;-&gt;&nbsp;list&nbsp;of&nbsp;D's&nbsp;values</tt></dd></dl>

<hr>
Data and other attributes inherited from <a href="__builtin__.html#dict">__builtin__.dict</a>:<br>
<dl><dt><strong>__new__</strong> = &lt;built-in method __new__ of type object at 0x3f8ab3c120&gt;<dd><tt>T.<a href="#Registry-__new__">__new__</a>(S,&nbsp;...)&nbsp;-&gt;&nbsp;a&nbsp;new&nbsp;object&nbsp;with&nbsp;type&nbsp;S,&nbsp;a&nbsp;subtype&nbsp;of&nbsp;T</tt></dl>

<dl><dt><strong>fromkeys</strong> = &lt;built-in method fromkeys of type object at 0x21a4480&gt;<dd><tt><a href="__builtin__.html#dict">dict</a>.<a href="#Registry-fromkeys">fromkeys</a>(S[,v])&nbsp;-&gt;&nbsp;New&nbsp;<a href="__builtin__.html#dict">dict</a>&nbsp;with&nbsp;keys&nbsp;from&nbsp;S&nbsp;and&nbsp;values&nbsp;equal&nbsp;to&nbsp;v.<br>
v&nbsp;defaults&nbsp;to&nbsp;None.</tt></dl>

</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
    
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>registry</strong> = {}</td></tr></table>
@footer@
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.