Commits

Nick Coghlan committed 6771d93

Reorder and drop a couple of the demo ideas

Comments (0)

Files changed (2)

talks/2012-pyconindia/py3.3-highlights/presentation.html

             </aside>
             
             <aside class="page_number">
-              1/33
+              1/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              2/33
+              2/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              3/33
+              3/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              4/33
+              4/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              5/33
+              5/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              6/33
+              6/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              7/33
+              7/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              8/33
+              8/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              9/33
+              9/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              10/33
+              10/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              11/33
+              11/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              12/33
+              12/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              13/33
-            </aside>
-          </footer>
-        </div>
-      </div>
-      
-      <!-- slide source: talk.md -->
-      <div class="slide-wrapper">
-        <div class="slide">
-          <div class="inner">
-            
-            <header><h1>Introspection improvements</h1></header>
-            
-            
-            <section><ul>
-<li>Callable signatures: <code>inspect.signature</code></li>
-<li>Closure state: <code>inspect.getclosurevars</code></li>
-<li>Generator state: <code>inspect.getgeneratorstate</code></li>
-</ul></section>
-            
-          </div>
-          <div class="presenter_notes">
-            <header><h1>Presenter Notes</h1></header>
-            <section>
-            
-            </section>
-          </div>
-          <footer>
-            
-            <aside class="source">
-              Source: <a href="talk.md">talk.md</a>
-            </aside>
-            
-            <aside class="page_number">
-              14/33
-            </aside>
-          </footer>
-        </div>
-      </div>
-      
-      <!-- slide source: talk.md -->
-      <div class="slide-wrapper">
-        <div class="slide">
-          <div class="inner">
-            
-            <header><h1>Introspection improvements (Demo)</h1></header>
-            
-            
-            <section><div id="pias-introspection-player" class="pias_player"></div></section>
-            
-          </div>
-          <div class="presenter_notes">
-            <header><h1>Presenter Notes</h1></header>
-            <section>
-            
-            </section>
-          </div>
-          <footer>
-            
-            <aside class="source">
-              Source: <a href="talk.md">talk.md</a>
-            </aside>
-            
-            <aside class="page_number">
-              15/33
-            </aside>
-          </footer>
-        </div>
-      </div>
-      
-      <!-- slide source: talk.md -->
-      <div class="slide-wrapper">
-        <div class="slide">
-          <div class="inner">
-            
-            <header><h1>IP address manipulation</h1></header>
-            
-            
-            <section><ul>
-<li>New ipaddress module</li>
-<li>Can define addresses, networks and interfaces</li>
-<li>IPv4 and IPv6</li>
-<li>Convert to string or integer to pass to socket APIs</li>
-</ul></section>
-            
-          </div>
-          <div class="presenter_notes">
-            <header><h1>Presenter Notes</h1></header>
-            <section>
-            
-            </section>
-          </div>
-          <footer>
-            
-            <aside class="source">
-              Source: <a href="talk.md">talk.md</a>
-            </aside>
-            
-            <aside class="page_number">
-              16/33
-            </aside>
-          </footer>
-        </div>
-      </div>
-      
-      <!-- slide source: talk.md -->
-      <div class="slide-wrapper">
-        <div class="slide">
-          <div class="inner">
-            
-            <header><h1>IP address manipulation (Demo)</h1></header>
-            
-            
-            <section><div id="pias-ipaddress-player" class="pias_player"></div></section>
-            
-          </div>
-          <div class="presenter_notes">
-            <header><h1>Presenter Notes</h1></header>
-            <section>
-            
-            </section>
-          </div>
-          <footer>
-            
-            <aside class="source">
-              Source: <a href="talk.md">talk.md</a>
-            </aside>
-            
-            <aside class="page_number">
-              17/33
-            </aside>
-          </footer>
-        </div>
-      </div>
-      
-      <!-- slide source: talk.md -->
-      <div class="slide-wrapper">
-        <div class="slide">
-          <div class="inner">
-            
-            <header><h1>Email policy framework</h1></header>
-            
-            
-            <section><ul>
-<li>Allows flexible control of email parsing rules</li>
-<li>Supports structured header processing</li>
-<li>3.2 compatible by default</li>
-<li>Other policies offer stricter RFC compliance</li>
-<li>SMTP policy suitable for SMTP agents</li>
-<li>HTTP policy suitable for email serialisation</li>
-</ul></section>
-            
-          </div>
-          <div class="presenter_notes">
-            <header><h1>Presenter Notes</h1></header>
-            <section>
-            
-            </section>
-          </div>
-          <footer>
-            
-            <aside class="source">
-              Source: <a href="talk.md">talk.md</a>
-            </aside>
-            
-            <aside class="page_number">
-              18/33
-            </aside>
-          </footer>
-        </div>
-      </div>
-      
-      <!-- slide source: talk.md -->
-      <div class="slide-wrapper">
-        <div class="slide">
-          <div class="inner">
-            
-            <header><h1>Time improvements</h1></header>
-            
-            
-            <section><ul>
-<li>Better abstraction of platform differences in timers</li>
-<li><code>time.monotonic()</code> for timeouts</li>
-<li><code>time.perf_counter()</code> for benchmarking</li>
-<li>Improved access to platform specific timers</li>
-</ul></section>
-            
-          </div>
-          <div class="presenter_notes">
-            <header><h1>Presenter Notes</h1></header>
-            <section>
-            
-            </section>
-          </div>
-          <footer>
-            
-            <aside class="source">
-              Source: <a href="talk.md">talk.md</a>
-            </aside>
-            
-            <aside class="page_number">
-              19/33
-            </aside>
-          </footer>
-        </div>
-      </div>
-      
-      <!-- slide source: talk.md -->
-      <div class="slide-wrapper">
-        <div class="slide">
-          <div class="inner">
-            
-            <header><h1>Datetime improvements</h1></header>
-            
-            
-            <section><ul>
-<li>New <code>timestamp()</code> method for easy conversion to POSIX timestamp</li>
-<li><code>astimezone()</code> argument is now optional, uses system TZ by default</li>
-<li>Invalid equality comparisons now return <code>False</code> instead of raising</li>
-</ul></section>
-            
-          </div>
-          <div class="presenter_notes">
-            <header><h1>Presenter Notes</h1></header>
-            <section>
-            
-            </section>
-          </div>
-          <footer>
-            
-            <aside class="source">
-              Source: <a href="talk.md">talk.md</a>
-            </aside>
-            
-            <aside class="page_number">
-              20/33
-            </aside>
-          </footer>
-        </div>
-      </div>
-      
-      <!-- slide source: talk.md -->
-      <div class="slide-wrapper">
-        <div class="slide">
-          <div class="inner">
-            
-            <header><h1>Filesystem manipulation</h1></header>
-            
-            
-            <section><ul>
-<li><code>os.replace</code> API for cross-platform file replacement</li>
-<li><code>stat.filemode</code> to display <code>-rwxrwxrwx</code> style flags</li>
-<li><code>shutil.disk_usage()</code></li>
-<li><code>shutil.chown()</code></li>
-<li><code>os.fwalk()</code></li>
-<li>symlink handling support: <code>follow_symlinks</code></li>
-<li>symlink attack resistance: <code>dirfd</code></li>
-</ul></section>
-            
-          </div>
-          <div class="presenter_notes">
-            <header><h1>Presenter Notes</h1></header>
-            <section>
-            
-            </section>
-          </div>
-          <footer>
-            
-            <aside class="source">
-              Source: <a href="talk.md">talk.md</a>
-            </aside>
-            
-            <aside class="page_number">
-              21/33
-            </aside>
-          </footer>
-        </div>
-      </div>
-      
-      <!-- slide source: talk.md -->
-      <div class="slide-wrapper">
-        <div class="slide">
-          <div class="inner">
-            
-            <header><h1>Other IO enhancements</h1></header>
-            
-            
-            <section><ul>
-<li><code>x</code> mode in <code>open()</code> for exclusive creation</li>
-<li><code>opener</code> parameter to more easily create custom IO stacks</li>
-<li><code>write_through</code> option in TextIOWrapper to disable write caching</li>
-<li><code>flush</code> keyword argument to print</li>
-</ul></section>
-            
-          </div>
-          <div class="presenter_notes">
-            <header><h1>Presenter Notes</h1></header>
-            <section>
-            
-            </section>
-          </div>
-          <footer>
-            
-            <aside class="source">
-              Source: <a href="talk.md">talk.md</a>
-            </aside>
-            
-            <aside class="page_number">
-              22/33
-            </aside>
-          </footer>
-        </div>
-      </div>
-      
-      <!-- slide source: talk.md -->
-      <div class="slide-wrapper">
-        <div class="slide">
-          <div class="inner">
-            
-            <header><h1>Network protocols and formats</h1></header>
-            
-            
-            <section><ul>
-<li>More robust HTML parsing</li>
-<li>More flexible FTP link establishment</li>
-<li>SSLContext support for SMTP and IMAP</li>
-</ul></section>
-            
-          </div>
-          <div class="presenter_notes">
-            <header><h1>Presenter Notes</h1></header>
-            <section>
-            
-            </section>
-          </div>
-          <footer>
-            
-            <aside class="source">
-              Source: <a href="talk.md">talk.md</a>
-            </aside>
-            
-            <aside class="page_number">
-              23/33
+              13/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              24/33
+              14/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              25/33
+              15/31
+            </aside>
+          </footer>
+        </div>
+      </div>
+      
+      <!-- slide source: talk.md -->
+      <div class="slide-wrapper">
+        <div class="slide">
+          <div class="inner">
+            
+            <header><h1>Time improvements</h1></header>
+            
+            
+            <section><ul>
+<li>Better abstraction of platform differences in timers</li>
+<li><code>time.monotonic()</code> for timeouts</li>
+<li><code>time.perf_counter()</code> for benchmarking</li>
+<li>Improved access to platform specific timers</li>
+</ul></section>
+            
+          </div>
+          <div class="presenter_notes">
+            <header><h1>Presenter Notes</h1></header>
+            <section>
+            
+            </section>
+          </div>
+          <footer>
+            
+            <aside class="source">
+              Source: <a href="talk.md">talk.md</a>
+            </aside>
+            
+            <aside class="page_number">
+              16/31
+            </aside>
+          </footer>
+        </div>
+      </div>
+      
+      <!-- slide source: talk.md -->
+      <div class="slide-wrapper">
+        <div class="slide">
+          <div class="inner">
+            
+            <header><h1>Datetime improvements</h1></header>
+            
+            
+            <section><ul>
+<li>New <code>timestamp()</code> method for easy conversion to POSIX timestamp</li>
+<li><code>astimezone()</code> argument is now optional, uses system TZ by default</li>
+<li>Invalid equality comparisons now return <code>False</code> instead of raising</li>
+</ul></section>
+            
+          </div>
+          <div class="presenter_notes">
+            <header><h1>Presenter Notes</h1></header>
+            <section>
+            
+            </section>
+          </div>
+          <footer>
+            
+            <aside class="source">
+              Source: <a href="talk.md">talk.md</a>
+            </aside>
+            
+            <aside class="page_number">
+              17/31
+            </aside>
+          </footer>
+        </div>
+      </div>
+      
+      <!-- slide source: talk.md -->
+      <div class="slide-wrapper">
+        <div class="slide">
+          <div class="inner">
+            
+            <header><h1>Filesystem manipulation</h1></header>
+            
+            
+            <section><ul>
+<li><code>os.replace</code> API for cross-platform file replacement</li>
+<li><code>stat.filemode</code> to display <code>-rwxrwxrwx</code> style flags</li>
+<li><code>shutil.disk_usage()</code></li>
+<li><code>shutil.chown()</code></li>
+<li><code>os.fwalk()</code></li>
+<li>symlink handling support: <code>follow_symlinks</code></li>
+<li>symlink attack resistance: <code>dirfd</code></li>
+</ul></section>
+            
+          </div>
+          <div class="presenter_notes">
+            <header><h1>Presenter Notes</h1></header>
+            <section>
+            
+            </section>
+          </div>
+          <footer>
+            
+            <aside class="source">
+              Source: <a href="talk.md">talk.md</a>
+            </aside>
+            
+            <aside class="page_number">
+              18/31
+            </aside>
+          </footer>
+        </div>
+      </div>
+      
+      <!-- slide source: talk.md -->
+      <div class="slide-wrapper">
+        <div class="slide">
+          <div class="inner">
+            
+            <header><h1>Other IO enhancements</h1></header>
+            
+            
+            <section><ul>
+<li><code>x</code> mode in <code>open()</code> for exclusive creation</li>
+<li><code>opener</code> parameter to more easily create custom IO stacks</li>
+<li><code>write_through</code> option in TextIOWrapper to disable write caching</li>
+<li><code>flush</code> keyword argument to print</li>
+</ul></section>
+            
+          </div>
+          <div class="presenter_notes">
+            <header><h1>Presenter Notes</h1></header>
+            <section>
+            
+            </section>
+          </div>
+          <footer>
+            
+            <aside class="source">
+              Source: <a href="talk.md">talk.md</a>
+            </aside>
+            
+            <aside class="page_number">
+              19/31
+            </aside>
+          </footer>
+        </div>
+      </div>
+      
+      <!-- slide source: talk.md -->
+      <div class="slide-wrapper">
+        <div class="slide">
+          <div class="inner">
+            
+            <header><h1>Network protocols and formats</h1></header>
+            
+            
+            <section><ul>
+<li>More robust HTML parsing</li>
+<li>More flexible FTP link establishment</li>
+<li>SSLContext support for SMTP and IMAP</li>
+</ul></section>
+            
+          </div>
+          <div class="presenter_notes">
+            <header><h1>Presenter Notes</h1></header>
+            <section>
+            
+            </section>
+          </div>
+          <footer>
+            
+            <aside class="source">
+              Source: <a href="talk.md">talk.md</a>
+            </aside>
+            
+            <aside class="page_number">
+              20/31
+            </aside>
+          </footer>
+        </div>
+      </div>
+      
+      <!-- slide source: talk.md -->
+      <div class="slide-wrapper">
+        <div class="slide">
+          <div class="inner">
+            
+            <header><h1>Email policy framework</h1></header>
+            
+            
+            <section><ul>
+<li>Allows flexible control of email parsing rules</li>
+<li>Supports structured header processing</li>
+<li>3.2 compatible by default</li>
+<li>Other policies offer stricter RFC compliance</li>
+<li>SMTP policy suitable for SMTP agents</li>
+<li>HTTP policy suitable for email serialisation</li>
+</ul></section>
+            
+          </div>
+          <div class="presenter_notes">
+            <header><h1>Presenter Notes</h1></header>
+            <section>
+            
+            </section>
+          </div>
+          <footer>
+            
+            <aside class="source">
+              Source: <a href="talk.md">talk.md</a>
+            </aside>
+            
+            <aside class="page_number">
+              21/31
+            </aside>
+          </footer>
+        </div>
+      </div>
+      
+      <!-- slide source: talk.md -->
+      <div class="slide-wrapper">
+        <div class="slide">
+          <div class="inner">
+            
+            <header><h1>IP address manipulation</h1></header>
+            
+            
+            <section><ul>
+<li>New ipaddress module</li>
+<li>Can define addresses, networks and interfaces</li>
+<li>IPv4 and IPv6</li>
+<li>Convert to string or integer to pass to socket APIs</li>
+</ul></section>
+            
+          </div>
+          <div class="presenter_notes">
+            <header><h1>Presenter Notes</h1></header>
+            <section>
+            
+            </section>
+          </div>
+          <footer>
+            
+            <aside class="source">
+              Source: <a href="talk.md">talk.md</a>
+            </aside>
+            
+            <aside class="page_number">
+              22/31
+            </aside>
+          </footer>
+        </div>
+      </div>
+      
+      <!-- slide source: talk.md -->
+      <div class="slide-wrapper">
+        <div class="slide">
+          <div class="inner">
+            
+            <header><h1>Socket &amp; SSL improvements</h1></header>
+            
+            
+            <section><ul>
+<li>sendmsg/recvmsg/rcvmsginto</li>
+<li>CANbus and RDS (Reliable Datagram Sockets) support</li>
+<li>Support for more SSL options</li>
+</ul></section>
+            
+          </div>
+          <div class="presenter_notes">
+            <header><h1>Presenter Notes</h1></header>
+            <section>
+            
+            </section>
+          </div>
+          <footer>
+            
+            <aside class="source">
+              Source: <a href="talk.md">talk.md</a>
+            </aside>
+            
+            <aside class="page_number">
+              23/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              26/33
+              24/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              27/33
+              25/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              28/33
+              26/31
             </aside>
           </footer>
         </div>
         <div class="slide">
           <div class="inner">
             
-            <header><h1>Socket &amp; SSL improvements</h1></header>
+            <header><h1>Introspection improvements</h1></header>
             
             
             <section><ul>
-<li>sendmsg/recvmsg/rcvmsginto</li>
-<li>CANbus and RDS (Reliable Datagram Sockets) support</li>
-<li>Support for more SSL options</li>
+<li>Callable signatures: <code>inspect.signature</code></li>
+<li>Closure state: <code>inspect.getclosurevars</code></li>
+<li>Generator state: <code>inspect.getgeneratorstate</code></li>
 </ul></section>
             
           </div>
             </aside>
             
             <aside class="page_number">
-              29/33
+              27/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              30/33
+              28/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              31/33
+              29/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              32/33
+              30/31
             </aside>
           </footer>
         </div>
             </aside>
             
             <aside class="page_number">
-              33/33
+              31/31
             </aside>
           </footer>
         </div>
       
       
       <tr id="toc-row-14">
-        <th><a href="#slide14">Introspection improvements</a></th>
+        <th><a href="#slide14">Data structure improvements</a></th>
         <td><a href="#slide14">14</a></td>
       </tr>
       
       
       <tr id="toc-row-15">
-        <th><a href="#slide15">Introspection improvements (Demo)</a></th>
+        <th><a href="#slide15">Abstract base classes</a></th>
         <td><a href="#slide15">15</a></td>
       </tr>
       
       
       <tr id="toc-row-16">
-        <th><a href="#slide16">IP address manipulation</a></th>
+        <th><a href="#slide16">Time improvements</a></th>
         <td><a href="#slide16">16</a></td>
       </tr>
       
       
       <tr id="toc-row-17">
-        <th><a href="#slide17">IP address manipulation (Demo)</a></th>
+        <th><a href="#slide17">Datetime improvements</a></th>
         <td><a href="#slide17">17</a></td>
       </tr>
       
       
       <tr id="toc-row-18">
-        <th><a href="#slide18">Email policy framework</a></th>
+        <th><a href="#slide18">Filesystem manipulation</a></th>
         <td><a href="#slide18">18</a></td>
       </tr>
       
       
       <tr id="toc-row-19">
-        <th><a href="#slide19">Time improvements</a></th>
+        <th><a href="#slide19">Other IO enhancements</a></th>
         <td><a href="#slide19">19</a></td>
       </tr>
       
       
       <tr id="toc-row-20">
-        <th><a href="#slide20">Datetime improvements</a></th>
+        <th><a href="#slide20">Network protocols and formats</a></th>
         <td><a href="#slide20">20</a></td>
       </tr>
       
       
       <tr id="toc-row-21">
-        <th><a href="#slide21">Filesystem manipulation</a></th>
+        <th><a href="#slide21">Email policy framework</a></th>
         <td><a href="#slide21">21</a></td>
       </tr>
       
       
       <tr id="toc-row-22">
-        <th><a href="#slide22">Other IO enhancements</a></th>
+        <th><a href="#slide22">IP address manipulation</a></th>
         <td><a href="#slide22">22</a></td>
       </tr>
       
       
       <tr id="toc-row-23">
-        <th><a href="#slide23">Network protocols and formats</a></th>
+        <th><a href="#slide23">Socket &amp; SSL improvements</a></th>
         <td><a href="#slide23">23</a></td>
       </tr>
       
       
       <tr id="toc-row-24">
-        <th><a href="#slide24">Data structure improvements</a></th>
+        <th><a href="#slide24">C accelerators</a></th>
         <td><a href="#slide24">24</a></td>
       </tr>
       
       
       <tr id="toc-row-25">
-        <th><a href="#slide25">Abstract base classes</a></th>
+        <th><a href="#slide25">POSIX/Linux Features</a></th>
         <td><a href="#slide25">25</a></td>
       </tr>
       
       
       <tr id="toc-row-26">
-        <th><a href="#slide26">C accelerators</a></th>
+        <th><a href="#slide26">Crypto Primitives</a></th>
         <td><a href="#slide26">26</a></td>
       </tr>
       
       
       <tr id="toc-row-27">
-        <th><a href="#slide27">POSIX/Linux Features</a></th>
+        <th><a href="#slide27">Introspection improvements</a></th>
         <td><a href="#slide27">27</a></td>
       </tr>
       
       
       <tr id="toc-row-28">
-        <th><a href="#slide28">Crypto Primitives</a></th>
+        <th><a href="#slide28">Dynamic context management</a></th>
         <td><a href="#slide28">28</a></td>
       </tr>
       
       
       <tr id="toc-row-29">
-        <th><a href="#slide29">Socket &amp; SSL improvements</a></th>
+        <th><a href="#slide29">Delegating to a subgenerator</a></th>
         <td><a href="#slide29">29</a></td>
       </tr>
       
       
       <tr id="toc-row-30">
-        <th><a href="#slide30">Dynamic context management</a></th>
+        <th><a href="#slide30">Serialisation support</a></th>
         <td><a href="#slide30">30</a></td>
       </tr>
       
       
       <tr id="toc-row-31">
-        <th><a href="#slide31">Delegating to a subgenerator</a></th>
+        <th><a href="#slide31">Q &amp; A</a></th>
         <td><a href="#slide31">31</a></td>
       </tr>
       
       
-      <tr id="toc-row-32">
-        <th><a href="#slide32">Serialisation support</a></th>
-        <td><a href="#slide32">32</a></td>
-      </tr>
-      
-      
-      <tr id="toc-row-33">
-        <th><a href="#slide33">Q &amp; A</a></th>
-        <td><a href="#slide33">33</a></td>
-      </tr>
-      
-      
     </table>
   </div>
   

talks/2012-pyconindia/py3.3-highlights/talk.md

 
 ----
 
-# Introspection improvements
+# Data structure improvements
 
-* Callable signatures: ``inspect.signature``
-* Closure state: ``inspect.getclosurevars``
-* Generator state: ``inspect.getgeneratorstate``
+* More bytes/bytearray methods accept integers where appropriate
+* collections.ChainMap added
+* hash randomisation is enabled by default
+* dict.setdefault() is now atomic
+* dictionaries now share key state when possible
+* Read only mapping views: ``types.MappingProxyType``
+* Lightweight attribute access: ``types.SimpleNamespace``
+* memoryview improvements
 
 ----
 
-# Introspection improvements (Demo)
+# Abstract base classes
 
-<div id="pias-introspection-player" class="pias_player"></div>
-
-----
-
-# IP address manipulation
-
-* New ipaddress module
-* Can define addresses, networks and interfaces
-* IPv4 and IPv6
-* Convert to string or integer to pass to socket APIs
-
-----
-
-# IP address manipulation (Demo)
-
-<div id="pias-ipaddress-player" class="pias_player"></div>
-
-----
-
-# Email policy framework
-
-* Allows flexible control of email parsing rules
-* Supports structured header processing
-* 3.2 compatible by default
-* Other policies offer stricter RFC compliance
-* SMTP policy suitable for SMTP agents
-* HTTP policy suitable for email serialisation
+* collections.abc created
+* range now supports equality checks (based on contents)
+* list and bytearray now provide copy() and clear() methods
+* Properties now work correctly with abstract methods
 
 ----
 
 
 ----
 
-# Data structure improvements
+# Email policy framework
 
-* More bytes/bytearray methods accept integers where appropriate
-* collections.ChainMap added
-* hash randomisation is enabled by default
-* dict.setdefault() is now atomic
-* dictionaries now share key state when possible
-* Read only mapping views: ``types.MappingProxyType``
-* Lightweight attribute access: ``types.SimpleNamespace``
-* memoryview improvements
+* Allows flexible control of email parsing rules
+* Supports structured header processing
+* 3.2 compatible by default
+* Other policies offer stricter RFC compliance
+* SMTP policy suitable for SMTP agents
+* HTTP policy suitable for email serialisation
 
 ----
 
-# Abstract base classes
+# IP address manipulation
 
-* collections.abc created
-* range now supports equality checks (based on contents)
-* list and bytearray now provide copy() and clear() methods
-* Properties now work correctly with abstract methods
+* New ipaddress module
+* Can define addresses, networks and interfaces
+* IPv4 and IPv6
+* Convert to string or integer to pass to socket APIs
+
+----
+
+# Socket & SSL improvements
+
+* sendmsg/recvmsg/rcvmsginto
+* CANbus and RDS (Reliable Datagram Sockets) support
+* Support for more SSL options
 
 ----
 
 
 ----
 
-# Socket & SSL improvements
+# Introspection improvements
 
-* sendmsg/recvmsg/rcvmsginto
-* CANbus and RDS (Reliable Datagram Sockets) support
-* Support for more SSL options
+* Callable signatures: ``inspect.signature``
+* Closure state: ``inspect.getclosurevars``
+* Generator state: ``inspect.getgeneratorstate``
 
 ----