[instant] 01/03: Imported Upstream version 2016.1.0

Johannes Ring johannr-guest at moszumanska.debian.org
Fri Jun 24 11:19:39 UTC 2016


This is an automated email from the git hooks/post-receive script.

johannr-guest pushed a commit to branch master
in repository instant.

commit ff6ede130bb027eedaff8a29d781282c6bb5eaa2
Author: Johannes Ring <johannr at simula.no>
Date:   Fri Jun 24 13:13:10 2016 +0200

    Imported Upstream version 2016.1.0
---
 .bzrignore                                         |   2 +
 .gitignore                                         |   2 +
 ChangeLog                                          |   2 +
 README                                             |   4 +-
 doc/Instant.html                                   | 139 -----
 doc/html_reference/api-objects.txt                 | 196 ------
 doc/html_reference/class-tree.html                 | 235 --------
 doc/html_reference/crarr.png                       | Bin 340 -> 0 bytes
 doc/html_reference/epydoc.css                      | 322 ----------
 doc/html_reference/epydoc.js                       | 293 ---------
 doc/html_reference/frames.html                     |  17 -
 doc/html_reference/help.html                       | 278 ---------
 doc/html_reference/identifier-index.html           | 490 ---------------
 doc/html_reference/index.html                      |  17 -
 doc/html_reference/instant-module.html             | 203 -------
 doc/html_reference/instant-pysrc.html              | 151 -----
 doc/html_reference/instant.build-module.html       | 662 ---------------------
 doc/html_reference/instant.build-pysrc.html        | 619 -------------------
 doc/html_reference/instant.cache-module.html       | 453 --------------
 doc/html_reference/instant.cache-pysrc.html        | 277 ---------
 .../instant.codegeneration-module.html             | 425 -------------
 .../instant.codegeneration-pysrc.html              | 400 -------------
 doc/html_reference/instant.config-module.html      | 291 ---------
 doc/html_reference/instant.config-pysrc.html       | 219 -------
 doc/html_reference/instant.inlining-module.html    | 407 -------------
 doc/html_reference/instant.inlining-pysrc.html     | 257 --------
 doc/html_reference/instant.instant-class.html      | 559 -----------------
 doc/html_reference/instant.locking-module.html     | 233 --------
 doc/html_reference/instant.locking-pysrc.html      | 195 ------
 doc/html_reference/instant.output-module.html      | 355 -----------
 doc/html_reference/instant.output-pysrc.html       | 200 -------
 doc/html_reference/instant.paths-module.html       | 307 ----------
 doc/html_reference/instant.paths-pysrc.html        | 188 ------
 doc/html_reference/instant.signatures-module.html  | 194 ------
 doc/html_reference/instant.signatures-pysrc.html   | 173 ------
 doc/html_reference/module-tree.html                | 130 ----
 doc/html_reference/redirect.html                   |  38 --
 doc/html_reference/toc-everything.html             | 129 ----
 doc/html_reference/toc-instant-module.html         |  31 -
 doc/html_reference/toc-instant.build-module.html   |  41 --
 doc/html_reference/toc-instant.cache-module.html   |  49 --
 .../toc-instant.codegeneration-module.html         |  42 --
 doc/html_reference/toc-instant.config-module.html  |  35 --
 .../toc-instant.inlining-module.html               |  37 --
 doc/html_reference/toc-instant.locking-module.html |  44 --
 doc/html_reference/toc-instant.output-module.html  |  49 --
 doc/html_reference/toc-instant.paths-module.html   |  43 --
 .../toc-instant.signatures-module.html             |  36 --
 doc/html_reference/toc.html                        |  42 --
 doc/makedoc.sh                                     |   6 -
 doc/sphinx/Makefile                                | 177 ++++++
 doc/sphinx/README                                  |  27 +
 doc/sphinx/generate-apidoc                         |  29 +
 doc/sphinx/source/api-doc/instant.rst              |  86 +++
 doc/sphinx/source/api-doc/modules.rst              |   7 +
 doc/sphinx/source/conf.py                          | 271 +++++++++
 doc/sphinx/source/index.rst                        |  25 +
 doc/sphinx/source/releases.rst                     |   8 +
 doc/sphinx/source/releases/next.rst                |   2 +
 doc/sphinx/source/releases/v1.6.0.rst              |   6 +
 instant/__init__.py                                |   6 +-
 instant/codegeneration.py                          |   4 +-
 setup.py                                           |  20 +-
 63 files changed, 667 insertions(+), 9518 deletions(-)

diff --git a/.bzrignore b/.bzrignore
new file mode 100644
index 0000000..54f4cb8
--- /dev/null
+++ b/.bzrignore
@@ -0,0 +1,2 @@
+build
+tests/**/
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3a1f657
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+build/
+tests/**/
diff --git a/ChangeLog b/ChangeLog
index 13b2392..6be39ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,5 @@
+2016.1.0 [2016-06-23]
+ - Minor fixes
 1.6.0 [2015-07-28]
  - Minor fixes
 1.5.0 [2015-01-12]
diff --git a/README b/README
index 8ff71b5..df81922 100644
--- a/README
+++ b/README
@@ -20,7 +20,7 @@ Optional dependencies
 
 To enable NFS safe file locking flufl.lock can be installed:
 
-https://launchpad.net/flufl.lock
+https://gitlab.com/warsaw/flufl.lock
 
 
 Environment
@@ -29,7 +29,7 @@ Environment
 Instant's behaviour depened on following environment variables:
 
  - INSTANT_CACHE_DIR
- - INSTANT_ERROR_DIR 
+ - INSTANT_ERROR_DIR
 
      These options can override placement of default cache and error
      directories in ~/.instant/cache and ~/.instant/error.
diff --git a/doc/Instant.html b/doc/Instant.html
deleted file mode 100644
index f90ecdc..0000000
--- a/doc/Instant.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<html><head><title>The Instant C/C++ in Python</title><style>
-pre {color:  #000000;
-      background-color:  #b0c8d0;   
-      position: relative; 
-      left: 40px; margin-right: 80px;
-      border-style: solid; border-color: black; 
-      border-width: thin}
-</style></head>
-
-<body bgcolor="#ffffff" link="#0d271a" vlink="#8b0a50">
-
-<table width="600" cellpadding="0" cellspacing="0">
-<tbody><tr>
-   <td valign="top" bgcolor="#b0c8d0">
-       <table width="180" valign="top">
-           <tbody><tr>
-               <td>
-<table width="100%">
-<tbody><tr>
-
-<tr><td bgcolor="#000000"><font color="#ffffff"><b>Local</b></font></td></tr>
-<tr><td><a href="code/index.html">Documentation</a></td></tr>
-<tr><td><a href="http://sourceforge.net/projects/pyinstant">Download</a></td></tr>
-<tr><td></td></tr>
-<tr><td></td></tr>
-
-
-
-<tr><td bgcolor="#000000"><font color="#ffffff"><b>Global</b></font></td></tr>
-<tr><td><a href="http://www.python.org/">Python</a></td></tr>
-<tr><td><a href="http://www.numpy.org">NumPy</a></td></tr> 
-<tr><td><a href="http://www.stsci.edu/resources/software_hardware/numarray">Numarray</a></td></tr>   
-
-<tr><td><a href="http://www.swig.org/">SWIG</a></td></tr>
-<tr><td><a href="http://www.simula.no/">Simula Research Laboratory</a></td></tr>
-<tr><td></td></tr>
-<tr><td></td></tr>
-
-
-
- </tbody></table>
- </td>
- </tr>
- </tbody></table>
- </td>
-<td valign="top">
-<table width="600" valign="top">
-<tbody><tr>
-<td>
-<p>
-</p><h1>Instant inlining of C/C++ code in Python</h1>
-
-<h2>News</h2>
-<b>Release 0.9 (3/01/07):</b> Port to Windows with mingw pluss some
-                              added functionality and clean up. 
-<br>
-<b>Release 0.8 (5/10/06):</b> Added support for <a href="http://www.numpy.org">NumPy</a> 
-and <a href="http://www.stsci.edu/resources/software_hardware/numarray">Numarray</a>.   
-<b>Release 0.7 (12/09/06):</b> Added functionality for the use of pkg-config files. <br>  
-<b>Release 0.6 (17/07/06):</b> Cleanup of the user interface. <br>  
-<b>Release 0.5 (10/03/06):</b> Instant uses SWIG directors for cross language inheritance. <br>  
-<b>Release 0.4 (03/01/05):</b> Added md5sums to avoid unnecessary compilation. <br>  
-<b>Release 0.3 (27/11/05):</b> Instant supports Numeric arrays. <br>
-
- 
-<h2>Appetizer </h2>
-Instant is a Python module that allows for instant inlining of C and
-C++ code in Python. It is a small Python module built on top of SWIG and Distutils.   
-<p>
-Example of use: 
-<pre>
-from Instant import inline
-
-add_func = inline("double add(double a, double b){ return a+b; }") 
-
-print "The sum of 3 and 4.5 is ", add_func(3, 4.5)  
-
-</pre>
-
-Example with NumPy arrays converted to C double arrays:
-<pre>
-from Instant import inline_with_numpy
-
-c_code = """
-double sum (int n1, double* array1){
-  double tmp = 0.0; 
-  for (int i=0; i<n1; i++) {  
-      tmp += array1[i]; 
-  }
-  return tmp; 
-}
-"""
-
-
-sum_func = inline_with_numpy(c_code, arrays = [['n1', 'array1']])
-
-a = numpy.arange(10000000); a = numpy.sin(a)
-
-sum1 = sum_func(a)
-
-</pre>
-On my machine, the above example is about twice as fast as using the 
-sum function implemented in NumPy. This comparison
-is of course not fair, since there are no safety checks in the 
-above example. The comparison is implemented in the file <a href="../tests/test9.py">test9.py</a> 
-that comes with the Instant package. The old package Numeric is about
-as slow as NumPy (<a href="../tests/test2.py">test2.py</a>), while the same example with Numarray is
-about as fast as with Instant (<a href="../tests/test10.py">test10.py</a>).   
-
-
-
-
-<p>
-
-<h2>Requirement</h2>
-Instant requires Python and SWIG. It has only been tested with 
-Python 2.3 and 2.4 and SWIG 1.3.24 or newer. It only runs on Unix systems.      
-
-<h2>Related Projects</h2>
-The <a href="http://www.scipy.org/documentation/weave">weave</a> module
-in <a href="http://www.scipy.org">SciPy</a> <br>
-The <a href="http://pyinline.sourceforge.net/">PyInline</a> module <br>
-The <a href="http://nz.cosc.canterbury.ac.nz/~greg/python/Pyrex/version/Doc/About.html">PyRex</a> module 
-
-
-</p><hr>
-<address><a href="mailto:magnew at ifi.uio.no">Magne Westlie</a></address>
-<address><a href="mailto:kent-and at simula.no">Kent-Andre Mardal</a></address>
-
-</td>
-</tr>
-</tbody></table>
-</td>
-</tr>
-</tbody></table>
- 
-
-
-</body></html>
diff --git a/doc/html_reference/api-objects.txt b/doc/html_reference/api-objects.txt
deleted file mode 100644
index 87af512..0000000
--- a/doc/html_reference/api-objects.txt
+++ /dev/null
@@ -1,196 +0,0 @@
-instant	instant-module.html
-instant.delete_temp_dir	instant.paths-module.html#delete_temp_dir
-instant.get_instant_dir	instant.paths-module.html#get_instant_dir
-instant.instant_debug	instant.output-module.html#instant_debug
-instant.place_module_in_memory_cache	instant.cache-module.html#place_module_in_memory_cache
-instant.modulename_from_checksum	instant.cache-module.html#modulename_from_checksum
-instant.write_file	instant.output-module.html#write_file
-instant.instant_assert	instant.output-module.html#instant_assert
-instant.set_logging_level	instant.output-module.html#set_logging_level
-instant.check_disk_cache	instant.cache-module.html#check_disk_cache
-instant.get_default_cache_dir	instant.paths-module.html#get_default_cache_dir
-instant.get_temp_dir	instant.paths-module.html#get_temp_dir
-instant.strip_strings	instant.build-module.html#strip_strings
-instant.memory_cached_module	instant.cache-module.html#memory_cached_module
-instant.assert_is_str	instant.build-module.html#assert_is_str
-instant.reindent	instant.codegeneration-module.html#reindent
-instant.inline_module	instant.inlining-module.html#inline_module
-instant.instant_error	instant.output-module.html#instant_error
-instant.__package__	instant-module.html#__package__
-instant.get_logger	instant.output-module.html#get_logger
-instant.validate_cache_dir	instant.paths-module.html#validate_cache_dir
-instant.check_swig_version	instant.config-module.html#check_swig_version
-instant.recompile	instant.build-module.html#recompile
-instant.copy_files	instant.build-module.html#copy_files
-instant.assert_is_str_list	instant.build-module.html#assert_is_str_list
-instant.get_swig_version	instant.config-module.html#get_swig_version
-instant.instant_info	instant.output-module.html#instant_info
-instant.cached_modules	instant.cache-module.html#cached_modules
-instant.get_func_name	instant.inlining-module.html#get_func_name
-instant.header_and_libs_from_pkgconfig	instant.config-module.html#header_and_libs_from_pkgconfig
-instant.write_setup	instant.codegeneration-module.html#write_setup
-instant.check_memory_cache	instant.cache-module.html#check_memory_cache
-instant.inline_module_with_numpy	instant.inlining-module.html#inline_module_with_numpy
-instant.is_valid_module_name	instant.cache-module.html#is_valid_module_name
-instant.import_module_directly	instant.cache-module.html#import_module_directly
-instant.get_lock	instant.locking-module.html#get_lock
-instant.copy_to_cache	instant.build-module.html#copy_to_cache
-instant.import_and_cache_module	instant.cache-module.html#import_and_cache_module
-instant.instant_warning	instant.output-module.html#instant_warning
-instant.assert_is_bool	instant.build-module.html#assert_is_bool
-instant.import_module	instant.cache-module.html#import_module
-instant.get_log_handler	instant.output-module.html#get_log_handler
-instant.inline_with_numpy	instant.inlining-module.html#inline_with_numpy
-instant.write_interfacefile	instant.codegeneration-module.html#write_interfacefile
-instant.mapstrings	instant.codegeneration-module.html#mapstrings
-instant.set_log_handler	instant.output-module.html#set_log_handler
-instant.checksum_from_modulename	instant.cache-module.html#checksum_from_modulename
-instant.release_lock	instant.locking-module.html#release_lock
-instant.inline	instant.inlining-module.html#inline
-instant.get_status_output	instant.output-module.html#get_status_output
-instant.build_module	instant.build-module.html#build_module
-instant.arg_strings	instant.build-module.html#arg_strings
-instant.compute_checksum	instant.signatures-module.html#compute_checksum
-instant.build	instant.build-module.html
-instant.build.delete_temp_dir	instant.paths-module.html#delete_temp_dir
-instant.build.get_instant_dir	instant.paths-module.html#get_instant_dir
-instant.build.instant_debug	instant.output-module.html#instant_debug
-instant.build.place_module_in_memory_cache	instant.cache-module.html#place_module_in_memory_cache
-instant.build.write_file	instant.output-module.html#write_file
-instant.build.instant_assert	instant.output-module.html#instant_assert
-instant.build.set_logging_level	instant.output-module.html#set_logging_level
-instant.build.check_disk_cache	instant.cache-module.html#check_disk_cache
-instant.build.get_default_cache_dir	instant.paths-module.html#get_default_cache_dir
-instant.build.get_temp_dir	instant.paths-module.html#get_temp_dir
-instant.build.strip_strings	instant.build-module.html#strip_strings
-instant.build.memory_cached_module	instant.cache-module.html#memory_cached_module
-instant.build.assert_is_str	instant.build-module.html#assert_is_str
-instant.build.reindent	instant.codegeneration-module.html#reindent
-instant.build.__package__	instant.build-module.html#__package__
-instant.build.get_logger	instant.output-module.html#get_logger
-instant.build.copy_files	instant.build-module.html#copy_files
-instant.build.validate_cache_dir	instant.paths-module.html#validate_cache_dir
-instant.build.write_interfacefile	instant.codegeneration-module.html#write_interfacefile
-instant.build.modulename_from_checksum	instant.cache-module.html#modulename_from_checksum
-instant.build.assert_is_str_list	instant.build-module.html#assert_is_str_list
-instant.build.instant_info	instant.output-module.html#instant_info
-instant.build.cached_modules	instant.cache-module.html#cached_modules
-instant.build.recompile	instant.build-module.html#recompile
-instant.build.header_and_libs_from_pkgconfig	instant.config-module.html#header_and_libs_from_pkgconfig
-instant.build.write_setup	instant.codegeneration-module.html#write_setup
-instant.build.check_memory_cache	instant.cache-module.html#check_memory_cache
-instant.build.instant_error	instant.output-module.html#instant_error
-instant.build.is_valid_module_name	instant.cache-module.html#is_valid_module_name
-instant.build.import_module_directly	instant.cache-module.html#import_module_directly
-instant.build.get_lock	instant.locking-module.html#get_lock
-instant.build.copy_to_cache	instant.build-module.html#copy_to_cache
-instant.build.import_and_cache_module	instant.cache-module.html#import_and_cache_module
-instant.build.instant_warning	instant.output-module.html#instant_warning
-instant.build.assert_is_bool	instant.build-module.html#assert_is_bool
-instant.build.import_module	instant.cache-module.html#import_module
-instant.build.get_log_handler	instant.output-module.html#get_log_handler
-instant.build.mapstrings	instant.codegeneration-module.html#mapstrings
-instant.build.set_log_handler	instant.output-module.html#set_log_handler
-instant.build.checksum_from_modulename	instant.cache-module.html#checksum_from_modulename
-instant.build.release_lock	instant.locking-module.html#release_lock
-instant.build.get_status_output	instant.output-module.html#get_status_output
-instant.build.build_module	instant.build-module.html#build_module
-instant.build.arg_strings	instant.build-module.html#arg_strings
-instant.build.compute_checksum	instant.signatures-module.html#compute_checksum
-instant.cache	instant.cache-module.html
-instant.cache.instant_debug	instant.output-module.html#instant_debug
-instant.cache.place_module_in_memory_cache	instant.cache-module.html#place_module_in_memory_cache
-instant.cache.instant_assert	instant.output-module.html#instant_assert
-instant.cache.check_disk_cache	instant.cache-module.html#check_disk_cache
-instant.cache.get_default_cache_dir	instant.paths-module.html#get_default_cache_dir
-instant.cache.validate_cache_dir	instant.paths-module.html#validate_cache_dir
-instant.cache.memory_cached_module	instant.cache-module.html#memory_cached_module
-instant.cache.is_valid_module_name	instant.cache-module.html#is_valid_module_name
-instant.cache.__package__	instant.cache-module.html#__package__
-instant.cache.modulename_from_checksum	instant.cache-module.html#modulename_from_checksum
-instant.cache.cached_modules	instant.cache-module.html#cached_modules
-instant.cache.check_memory_cache	instant.cache-module.html#check_memory_cache
-instant.cache._modulename_prefix	instant.cache-module.html#_modulename_prefix
-instant.cache.import_module_directly	instant.cache-module.html#import_module_directly
-instant.cache.get_lock	instant.locking-module.html#get_lock
-instant.cache.import_and_cache_module	instant.cache-module.html#import_and_cache_module
-instant.cache.instant_warning	instant.output-module.html#instant_warning
-instant.cache._memory_cache	instant.cache-module.html#_memory_cache
-instant.cache.checksum_from_modulename	instant.cache-module.html#checksum_from_modulename
-instant.cache.release_lock	instant.locking-module.html#release_lock
-instant.cache.import_module	instant.cache-module.html#import_module
-instant.cache.compute_checksum	instant.signatures-module.html#compute_checksum
-instant.codegeneration	instant.codegeneration-module.html
-instant.codegeneration._test_write_interfacefile	instant.codegeneration-module.html#_test_write_interfacefile
-instant.codegeneration.instant_warning	instant.output-module.html#instant_warning
-instant.codegeneration.instant_debug	instant.output-module.html#instant_debug
-instant.codegeneration.write_interfacefile	instant.codegeneration-module.html#write_interfacefile
-instant.codegeneration.mapstrings	instant.codegeneration-module.html#mapstrings
-instant.codegeneration.__package__	instant.codegeneration-module.html#__package__
-instant.codegeneration.instant_assert	instant.output-module.html#instant_assert
-instant.codegeneration.write_file	instant.output-module.html#write_file
-instant.codegeneration.write_setup	instant.codegeneration-module.html#write_setup
-instant.codegeneration._test_write_setup	instant.codegeneration-module.html#_test_write_setup
-instant.codegeneration.reindent	instant.codegeneration-module.html#reindent
-instant.config	instant.config-module.html
-instant.config.get_swig_version	instant.config-module.html#get_swig_version
-instant.config.header_and_libs_from_pkgconfig	instant.config-module.html#header_and_libs_from_pkgconfig
-instant.config.__package__	instant.config-module.html#__package__
-instant.config.check_swig_version	instant.config-module.html#check_swig_version
-instant.config.get_status_output	instant.output-module.html#get_status_output
-instant.inlining	instant.inlining-module.html
-instant.inlining.inline_module	instant.inlining-module.html#inline_module
-instant.inlining.instant_warning	instant.output-module.html#instant_warning
-instant.inlining.inline_with_numpy	instant.inlining-module.html#inline_with_numpy
-instant.inlining.get_func_name	instant.inlining-module.html#get_func_name
-instant.inlining.instant_error	instant.output-module.html#instant_error
-instant.inlining.__package__	instant.inlining-module.html#__package__
-instant.inlining.inline_module_with_numpy	instant.inlining-module.html#inline_module_with_numpy
-instant.inlining.instant_assert	instant.output-module.html#instant_assert
-instant.inlining.inline	instant.inlining-module.html#inline
-instant.inlining.build_module	instant.build-module.html#build_module
-instant.locking	instant.locking-module.html
-instant.locking._lock_names	instant.locking-module.html#_lock_names
-instant.locking._lock_files	instant.locking-module.html#_lock_files
-instant.locking.instant_debug	instant.output-module.html#instant_debug
-instant.locking.__package__	instant.locking-module.html#__package__
-instant.locking.instant_error	instant.output-module.html#instant_error
-instant.locking.instant_assert	instant.output-module.html#instant_assert
-instant.locking.release_lock	instant.locking-module.html#release_lock
-instant.locking._lock_count	instant.locking-module.html#_lock_count
-instant.locking.get_lock	instant.locking-module.html#get_lock
-instant.locking.release_all_locks	instant.locking-module.html#release_all_locks
-instant.locking.validate_cache_dir	instant.paths-module.html#validate_cache_dir
-instant.output	instant.output-module.html
-instant.output.instant_info	instant.output-module.html#instant_info
-instant.output.write_file	instant.output-module.html#write_file
-instant.output.get_log_handler	instant.output-module.html#get_log_handler
-instant.output.instant_debug	instant.output-module.html#instant_debug
-instant.output._loghandler	instant.output-module.html#_loghandler
-instant.output.__package__	instant.output-module.html#__package__
-instant.output.get_logger	instant.output-module.html#get_logger
-instant.output.instant_assert	instant.output-module.html#instant_assert
-instant.output._log	instant.output-module.html#_log
-instant.output.instant_error	instant.output-module.html#instant_error
-instant.output.get_status_output	instant.output-module.html#get_status_output
-instant.output.set_log_handler	instant.output-module.html#set_log_handler
-instant.output.set_logging_level	instant.output-module.html#set_logging_level
-instant.output.instant_warning	instant.output-module.html#instant_warning
-instant.paths	instant.paths-module.html
-instant.paths.delete_temp_dir	instant.paths-module.html#delete_temp_dir
-instant.paths._tmp_dir	instant.paths-module.html#_tmp_dir
-instant.paths.get_instant_dir	instant.paths-module.html#get_instant_dir
-instant.paths._test	instant.paths-module.html#_test
-instant.paths.__package__	instant.paths-module.html#__package__
-instant.paths.validate_cache_dir	instant.paths-module.html#validate_cache_dir
-instant.paths.instant_assert	instant.output-module.html#instant_assert
-instant.paths.get_default_cache_dir	instant.paths-module.html#get_default_cache_dir
-instant.paths.instant_debug	instant.output-module.html#instant_debug
-instant.paths.get_temp_dir	instant.paths-module.html#get_temp_dir
-instant.signatures	instant.signatures-module.html
-instant.signatures.instant_debug	instant.output-module.html#instant_debug
-instant.signatures.__package__	instant.signatures-module.html#__package__
-instant.signatures.instant_error	instant.output-module.html#instant_error
-instant.signatures.instant_assert	instant.output-module.html#instant_assert
-instant.signatures._test	instant.signatures-module.html#_test
-instant.signatures.compute_checksum	instant.signatures-module.html#compute_checksum
diff --git a/doc/html_reference/class-tree.html b/doc/html_reference/class-tree.html
deleted file mode 100644
index 45233ba..0000000
--- a/doc/html_reference/class-tree.html
+++ /dev/null
@@ -1,235 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>Class Hierarchy</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >   Trees   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%"> </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="class-tree.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<center><b>
- [ <a href="module-tree.html">Module Hierarchy</a>
- | <a href="class-tree.html">Class Hierarchy</a> ]
-</b></center><br />
-<h1 class="epydoc">Class Hierarchy</h1>
-<ul class="nomargin-top">
-    <li> <strong class="uidlink">UserDict.UserDict</strong>
-    <ul>
-    <li> <strong class="uidlink">UserDict.IterableUserDict</strong>
-    <ul>
-    <li> <strong class="uidlink"><a href="os._Environ-class.html">os._Environ</a></strong>
-    </li>
-    </ul>
-    </li>
-    </ul>
-    </li>
-    <li> <strong class="uidlink"><a href="logging.BufferingFormatter-class.html">logging.BufferingFormatter</a></strong>:
-      <em class="summary">A formatter suitable for formatting a number of records.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="logging.Filter-class.html">logging.Filter</a></strong>:
-      <em class="summary">Filter instances are used to perform arbitrary filtering of 
-        LogRecords.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="logging.Filterer-class.html">logging.Filterer</a></strong>:
-      <em class="summary">A base class for loggers and handlers which allows them to share
-        common code.</em>
-    <ul>
-    <li> <strong class="uidlink"><a href="logging.Logger-class.html">logging.Logger</a></strong>:
-      <em class="summary">Instances of the Logger class represent a single logging 
-        channel.</em>
-    <ul>
-    <li> <strong class="uidlink"><a href="logging.RootLogger-class.html">logging.RootLogger</a></strong>:
-      <em class="summary">A root logger is not that different to any other logger, except 
-        that it must have a logging level and there is only one instance of
-        it in the hierarchy.</em>
-    </li>
-    </ul>
-    </li>
-    <li> <strong class="uidlink"><a href="logging.Handler-class.html">logging.Handler</a></strong>:
-      <em class="summary">Handler instances dispatch logging events to specific 
-        destinations.</em>
-    <ul>
-    <li> <strong class="uidlink"><a href="logging.StreamHandler-class.html">logging.StreamHandler</a></strong>:
-      <em class="summary">A handler class which writes logging records, appropriately 
-        formatted, to a stream.</em>
-    <ul>
-    <li> <strong class="uidlink"><a href="logging.FileHandler-class.html">logging.FileHandler</a></strong>:
-      <em class="summary">A handler class which writes formatted logging records to disk 
-        files.</em>
-    </li>
-    </ul>
-    </li>
-    </ul>
-    </li>
-    </ul>
-    </li>
-    <li> <strong class="uidlink"><a href="logging.Formatter-class.html">logging.Formatter</a></strong>:
-      <em class="summary">Formatter instances are used to convert a LogRecord to text.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="logging.LogRecord-class.html">logging.LogRecord</a></strong>:
-      <em class="summary">A LogRecord instance represents an event being logged.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="logging.Manager-class.html">logging.Manager</a></strong>:
-      <em class="summary">There is [under normal circumstances] just one Manager instance,
-        which holds the hierarchy of loggers.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="logging.PlaceHolder-class.html">logging.PlaceHolder</a></strong>:
-      <em class="summary">PlaceHolder instances are used in the Manager logger hierarchy 
-        to take the place of nodes for which no loggers have been 
-        defined.</em>
-    </li>
-    <li> <strong class="uidlink">object</strong>:
-      <em class="summary">The most base type</em>
-    <ul>
-    <li> <strong class="uidlink">exceptions.BaseException</strong>:
-      <em class="summary">Common base class for all exceptions</em>
-    <ul>
-    <li> <strong class="uidlink">exceptions.Exception</strong>:
-      <em class="summary">Common base class for all non-exit exceptions.</em>
-    <ul>
-    <li> <strong class="uidlink"><a href="sre_constants.error-class.html">sre_constants.error</a></strong>
-    </li>
-    <li> <strong class="uidlink">exceptions.StandardError</strong>:
-      <em class="summary">Base class for all standard Python exceptions that do not 
-        represent interpreter exiting.</em>
-    <ul>
-    <li> <strong class="uidlink">exceptions.EnvironmentError</strong>:
-      <em class="summary">Base class for I/O related errors.</em>
-    <ul>
-    <li> <strong class="uidlink"><a href="exceptions.OSError-class.html">exceptions.OSError</a></strong>:
-      <em class="summary">OS system call failed.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="shutil.Error-class.html">shutil.Error</a></strong>
-    </li>
-    </ul>
-    </li>
-    </ul>
-    </li>
-    </ul>
-    </li>
-    </ul>
-    </li>
-    <li> <strong class="uidlink"><a href="posix.statvfs_result-class.html">posix.statvfs_result</a></strong>:
-      <em class="summary">statvfs_result: Result from statvfs or fstatvfs.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="itertools.chain-class.html">itertools.chain</a></strong>:
-      <em class="summary">chain(*iterables) --> chain object</em>
-    </li>
-    <li> <strong class="uidlink"><a href="subprocess.Popen-class.html">subprocess.Popen</a></strong>
-    </li>
-    <li> <strong class="uidlink"><a href="time.struct_time-class.html">time.struct_time</a></strong>
-    </li>
-    <li> <strong class="uidlink"><a href="posix.stat_result-class.html">posix.stat_result</a></strong>:
-      <em class="summary">stat_result: Result from stat or lstat.</em>
-    </li>
-    </ul>
-    </li>
-    <li> <strong class="uidlink"><a href="re.Scanner-class.html">re.Scanner</a></strong>
-    </li>
-    <li> <strong class="uidlink"><a href="tempfile._RandomNameSequence-class.html">tempfile._RandomNameSequence</a></strong>:
-      <em class="summary">An instance of _RandomNameSequence generates an endless sequence
-        of unpredictable strings which can safely be incorporated into file
-        names.</em>
-    </li>
-    <li> <strong class="uidlink"><a href="tempfile._TemporaryFileWrapper-class.html">tempfile._TemporaryFileWrapper</a></strong>:
-      <em class="summary">Temporary file wrapper</em>
-    </li>
-</ul>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >   Trees   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0beta1 on Mon Oct 20 14:04:25 2008
-    </td>
-    <td align="right" class="footer">
-      <a href="http://epydoc.sourceforge.net">http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie()
-  // -->
-</script>
-  
-</body>
-</html>
diff --git a/doc/html_reference/crarr.png b/doc/html_reference/crarr.png
deleted file mode 100644
index 26b43c5..0000000
Binary files a/doc/html_reference/crarr.png and /dev/null differ
diff --git a/doc/html_reference/epydoc.css b/doc/html_reference/epydoc.css
deleted file mode 100644
index 86d4170..0000000
--- a/doc/html_reference/epydoc.css
+++ /dev/null
@@ -1,322 +0,0 @@
-
-
-/* Epydoc CSS Stylesheet
- *
- * This stylesheet can be used to customize the appearance of epydoc's
- * HTML output.
- *
- */
-
-/* Default Colors & Styles
- *   - Set the default foreground & background color with 'body'; and 
- *     link colors with 'a:link' and 'a:visited'.
- *   - Use bold for decision list terms.
- *   - The heading styles defined here are used for headings *within*
- *     docstring descriptions.  All headings used by epydoc itself use
- *     either class='epydoc' or class='toc' (CSS styles for both
- *     defined below).
- */
-body                        { background: #ffffff; color: #000000; }
-p                           { margin-top: 0.5em; margin-bottom: 0.5em; }
-a:link                      { color: #0000ff; }
-a:visited                   { color: #204080; }
-dt                          { font-weight: bold; }
-h1                          { font-size: +140%; font-style: italic;
-                              font-weight: bold; }
-h2                          { font-size: +125%; font-style: italic;
-                              font-weight: bold; }
-h3                          { font-size: +110%; font-style: italic;
-                              font-weight: normal; }
-code                        { font-size: 100%; }
-/* N.B.: class, not pseudoclass */
-a.link                      { font-family: monospace; }
- 
-/* Page Header & Footer
- *   - The standard page header consists of a navigation bar (with
- *     pointers to standard pages such as 'home' and 'trees'); a
- *     breadcrumbs list, which can be used to navigate to containing
- *     classes or modules; options links, to show/hide private
- *     variables and to show/hide frames; and a page title (using
- *     <h1>).  The page title may be followed by a link to the
- *     corresponding source code (using 'span.codelink').
- *   - The footer consists of a navigation bar, a timestamp, and a
- *     pointer to epydoc's homepage.
- */ 
-h1.epydoc                   { margin: 0; font-size: +140%; font-weight: bold; }
-h2.epydoc                   { font-size: +130%; font-weight: bold; }
-h3.epydoc                   { font-size: +115%; font-weight: bold;
-                              margin-top: 0.2em; }
-td h3.epydoc                { font-size: +115%; font-weight: bold;
-                              margin-bottom: 0; }
-table.navbar                { background: #a0c0ff; color: #000000;
-                              border: 2px groove #c0d0d0; }
-table.navbar table          { color: #000000; }
-th.navbar-select            { background: #70b0ff;
-                              color: #000000; } 
-table.navbar a              { text-decoration: none; }  
-table.navbar a:link         { color: #0000ff; }
-table.navbar a:visited      { color: #204080; }
-span.breadcrumbs            { font-size: 85%; font-weight: bold; }
-span.options                { font-size: 70%; }
-span.codelink               { font-size: 85%; }
-td.footer                   { font-size: 85%; }
-
-/* Table Headers
- *   - Each summary table and details section begins with a 'header'
- *     row.  This row contains a section title (marked by
- *     'span.table-header') as well as a show/hide private link
- *     (marked by 'span.options', defined above).
- *   - Summary tables that contain user-defined groups mark those
- *     groups using 'group header' rows.
- */
-td.table-header             { background: #70b0ff; color: #000000;
-                              border: 1px solid #608090; }
-td.table-header table       { color: #000000; }
-td.table-header table a:link      { color: #0000ff; }
-td.table-header table a:visited   { color: #204080; }
-span.table-header           { font-size: 120%; font-weight: bold; }
-th.group-header             { background: #c0e0f8; color: #000000;
-                              text-align: left; font-style: italic; 
-                              font-size: 115%; 
-                              border: 1px solid #608090; }
-
-/* Summary Tables (functions, variables, etc)
- *   - Each object is described by a single row of the table with
- *     two cells.  The left cell gives the object's type, and is
- *     marked with 'code.summary-type'.  The right cell gives the
- *     object's name and a summary description.
- *   - CSS styles for the table's header and group headers are
- *     defined above, under 'Table Headers'
- */
-table.summary               { border-collapse: collapse;
-                              background: #e8f0f8; color: #000000;
-                              border: 1px solid #608090;
-                              margin-bottom: 0.5em; }
-td.summary                  { border: 1px solid #608090; }
-code.summary-type           { font-size: 85%; }
-table.summary a:link        { color: #0000ff; }
-table.summary a:visited     { color: #204080; }
-
-
-/* Details Tables (functions, variables, etc)
- *   - Each object is described in its own div.
- *   - A single-row summary table w/ table-header is used as
- *     a header for each details section (CSS style for table-header
- *     is defined above, under 'Table Headers').
- */
-table.details               { border-collapse: collapse;
-                              background: #e8f0f8; color: #000000;
-                              border: 1px solid #608090;
-                              margin: .2em 0 0 0; }
-table.details table         { color: #000000; }
-table.details a:link        { color: #0000ff; }
-table.details a:visited     { color: #204080; }
-
-/* Fields */
-dl.fields                   { margin-left: 2em; margin-top: 1em;
-                              margin-bottom: 1em; }
-dl.fields dd ul             { margin-left: 0em; padding-left: 0em; }
-dl.fields dd ul li ul       { margin-left: 2em; padding-left: 0em; }
-div.fields                  { margin-left: 2em; }
-div.fields p                { margin-bottom: 0.5em; }
-
-/* Index tables (identifier index, term index, etc)
- *   - link-index is used for indices containing lists of links
- *     (namely, the identifier index & term index).
- *   - index-where is used in link indices for the text indicating
- *     the container/source for each link.
- *   - metadata-index is used for indices containing metadata
- *     extracted from fields (namely, the bug index & todo index).
- */
-table.link-index            { border-collapse: collapse;
-                              background: #e8f0f8; color: #000000;
-                              border: 1px solid #608090; }
-td.link-index               { border-width: 0px; }
-table.link-index a:link     { color: #0000ff; }
-table.link-index a:visited  { color: #204080; }
-span.index-where            { font-size: 70%; }
-table.metadata-index        { border-collapse: collapse;
-                              background: #e8f0f8; color: #000000;
-                              border: 1px solid #608090; 
-                              margin: .2em 0 0 0; }
-td.metadata-index           { border-width: 1px; border-style: solid; }
-table.metadata-index a:link { color: #0000ff; }
-table.metadata-index a:visited  { color: #204080; }
-
-/* Function signatures
- *   - sig* is used for the signature in the details section.
- *   - .summary-sig* is used for the signature in the summary 
- *     table, and when listing property accessor functions.
- * */
-.sig-name                   { color: #006080; }
-.sig-arg                    { color: #008060; }
-.sig-default                { color: #602000; }
-.summary-sig                { font-family: monospace; }
-.summary-sig-name           { color: #006080; font-weight: bold; }
-table.summary a.summary-sig-name:link
-                            { color: #006080; font-weight: bold; }
-table.summary a.summary-sig-name:visited
-                            { color: #006080; font-weight: bold; }
-.summary-sig-arg            { color: #006040; }
-.summary-sig-default        { color: #501800; }
-
-/* Subclass list
- */
-ul.subclass-list { display: inline; }
-ul.subclass-list li { display: inline; }
-
-/* To render variables, classes etc. like functions */
-table.summary .summary-name { color: #006080; font-weight: bold;
-                              font-family: monospace; }
-table.summary
-     a.summary-name:link    { color: #006080; font-weight: bold;
-                              font-family: monospace; }
-table.summary
-    a.summary-name:visited  { color: #006080; font-weight: bold;
-                              font-family: monospace; }
-
-/* Variable values
- *   - In the 'variable details' sections, each varaible's value is
- *     listed in a 'pre.variable' box.  The width of this box is
- *     restricted to 80 chars; if the value's repr is longer than
- *     this it will be wrapped, using a backslash marked with
- *     class 'variable-linewrap'.  If the value's repr is longer
- *     than 3 lines, the rest will be ellided; and an ellipsis
- *     marker ('...' marked with 'variable-ellipsis') will be used.
- *   - If the value is a string, its quote marks will be marked
- *     with 'variable-quote'.
- *   - If the variable is a regexp, it is syntax-highlighted using
- *     the re* CSS classes.
- */
-pre.variable                { padding: .5em; margin: 0;
-                              background: #dce4ec; color: #000000;
-                              border: 1px solid #708890; }
-.variable-linewrap          { color: #604000; font-weight: bold; }
-.variable-ellipsis          { color: #604000; font-weight: bold; }
-.variable-quote             { color: #604000; font-weight: bold; }
-.variable-group             { color: #008000; font-weight: bold; }
-.variable-op                { color: #604000; font-weight: bold; }
-.variable-string            { color: #006030; }
-.variable-unknown           { color: #a00000; font-weight: bold; }
-.re                         { color: #000000; }
-.re-char                    { color: #006030; }
-.re-op                      { color: #600000; }
-.re-group                   { color: #003060; }
-.re-ref                     { color: #404040; }
-
-/* Base tree
- *   - Used by class pages to display the base class hierarchy.
- */
-pre.base-tree               { font-size: 80%; margin: 0; }
-
-/* Frames-based table of contents headers
- *   - Consists of two frames: one for selecting modules; and
- *     the other listing the contents of the selected module.
- *   - h1.toc is used for each frame's heading
- *   - h2.toc is used for subheadings within each frame.
- */
-h1.toc                      { text-align: center; font-size: 105%;
-                              margin: 0; font-weight: bold;
-                              padding: 0; }
-h2.toc                      { font-size: 100%; font-weight: bold; 
-                              margin: 0.5em 0 0 -0.3em; }
-
-/* Syntax Highlighting for Source Code
- *   - doctest examples are displayed in a 'pre.py-doctest' block.
- *     If the example is in a details table entry, then it will use
- *     the colors specified by the 'table pre.py-doctest' line.
- *   - Source code listings are displayed in a 'pre.py-src' block.
- *     Each line is marked with 'span.py-line' (used to draw a line
- *     down the left margin, separating the code from the line
- *     numbers).  Line numbers are displayed with 'span.py-lineno'.
- *     The expand/collapse block toggle button is displayed with
- *     'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not
- *     modify the font size of the text.)
- *   - If a source code page is opened with an anchor, then the
- *     corresponding code block will be highlighted.  The code
- *     block's header is highlighted with 'py-highlight-hdr'; and
- *     the code block's body is highlighted with 'py-highlight'.
- *   - The remaining py-* classes are used to perform syntax
- *     highlighting (py-string for string literals, py-name for names,
- *     etc.)
- */
-pre.py-doctest              { padding: .5em; margin: 1em;
-                              background: #e8f0f8; color: #000000;
-                              border: 1px solid #708890; }
-table pre.py-doctest        { background: #dce4ec;
-                              color: #000000; }
-pre.py-src                  { border: 2px solid #000000; 
-                              background: #f0f0f0; color: #000000; }
-.py-line                    { border-left: 2px solid #000000; 
-                              margin-left: .2em; padding-left: .4em; }
-.py-lineno                  { font-style: italic; font-size: 90%;
-                              padding-left: .5em; }
-a.py-toggle                 { text-decoration: none; }
-div.py-highlight-hdr        { border-top: 2px solid #000000;
-                              border-bottom: 2px solid #000000;
-                              background: #d8e8e8; }
-div.py-highlight            { border-bottom: 2px solid #000000;
-                              background: #d0e0e0; }
-.py-prompt                  { color: #005050; font-weight: bold;}
-.py-more                    { color: #005050; font-weight: bold;}
-.py-string                  { color: #006030; }
-.py-comment                 { color: #003060; }
-.py-keyword                 { color: #600000; }
-.py-output                  { color: #404040; }
-.py-name                    { color: #000050; }
-.py-name:link               { color: #000050 !important; }
-.py-name:visited            { color: #000050 !important; }
-.py-number                  { color: #005000; }
-.py-defname                 { color: #000060; font-weight: bold; }
-.py-def-name                { color: #000060; font-weight: bold; }
-.py-base-class              { color: #000060; }
-.py-param                   { color: #000060; }
-.py-docstring               { color: #006030; }
-.py-decorator               { color: #804020; }
-/* Use this if you don't want links to names underlined: */
-/*a.py-name                   { text-decoration: none; }*/
-
-/* Graphs & Diagrams
- *   - These CSS styles are used for graphs & diagrams generated using
- *     Graphviz dot.  'img.graph-without-title' is used for bare
- *     diagrams (to remove the border created by making the image
- *     clickable).
- */
-img.graph-without-title     { border: none; }
-img.graph-with-title        { border: 1px solid #000000; }
-span.graph-title            { font-weight: bold; }
-span.graph-caption          { }
-
-/* General-purpose classes
- *   - 'p.indent-wrapped-lines' defines a paragraph whose first line
- *     is not indented, but whose subsequent lines are.
- *   - The 'nomargin-top' class is used to remove the top margin (e.g.
- *     from lists).  The 'nomargin' class is used to remove both the
- *     top and bottom margin (but not the left or right margin --
- *     for lists, that would cause the bullets to disappear.)
- */
-p.indent-wrapped-lines      { padding: 0 0 0 7em; text-indent: -7em; 
-                              margin: 0; }
-.nomargin-top               { margin-top: 0; }
-.nomargin                   { margin-top: 0; margin-bottom: 0; }
-
-/* HTML Log */
-div.log-block               { padding: 0; margin: .5em 0 .5em 0;
-                              background: #e8f0f8; color: #000000;
-                              border: 1px solid #000000; }
-div.log-error               { padding: .1em .3em .1em .3em; margin: 4px;
-                              background: #ffb0b0; color: #000000;
-                              border: 1px solid #000000; }
-div.log-warning             { padding: .1em .3em .1em .3em; margin: 4px;
-                              background: #ffffb0; color: #000000;
-                              border: 1px solid #000000; }
-div.log-info               { padding: .1em .3em .1em .3em; margin: 4px;
-                              background: #b0ffb0; color: #000000;
-                              border: 1px solid #000000; }
-h2.log-hdr                  { background: #70b0ff; color: #000000;
-                              margin: 0; padding: 0em 0.5em 0em 0.5em;
-                              border-bottom: 1px solid #000000; font-size: 110%; }
-p.log                       { font-weight: bold; margin: .5em 0 .5em 0; }
-tr.opt-changed              { color: #000000; font-weight: bold; }
-tr.opt-default              { color: #606060; }
-pre.log                     { margin: 0; padding: 0; padding-left: 1em; }
diff --git a/doc/html_reference/epydoc.js b/doc/html_reference/epydoc.js
deleted file mode 100644
index e787dbc..0000000
--- a/doc/html_reference/epydoc.js
+++ /dev/null
@@ -1,293 +0,0 @@
-function toggle_private() {
-        // Search for any private/public links on this page.  Store
-        // their old text in "cmd," so we will know what action to
-        // take; and change their text to the opposite action.
-        var cmd = "?";
-        var elts = document.getElementsByTagName("a");
-        for(var i=0; i<elts.length; i++) {
-          if (elts[i].className == "privatelink") {
-            cmd = elts[i].innerHTML;
-            elts[i].innerHTML = ((cmd && cmd.substr(0,4)=="show")?
-                                    "hide private":"show private");
-          }
-        }
-        // Update all DIVs containing private objects.
-        var elts = document.getElementsByTagName("div");
-        for(var i=0; i<elts.length; i++) {
-          if (elts[i].className == "private") {
-            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
-          }
-          else if (elts[i].className == "public") {
-            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"block":"none");
-          }
-        }
-        // Update all table rows containing private objects.  Note, we
-        // use "" instead of "block" becaue IE & firefox disagree on what
-        // this should be (block vs table-row), and "" just gives the
-        // default for both browsers.
-        var elts = document.getElementsByTagName("tr");
-        for(var i=0; i<elts.length; i++) {
-          if (elts[i].className == "private") {
-            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"");
-          }
-        }
-        // Update all list items containing private objects.
-        var elts = document.getElementsByTagName("li");
-        for(var i=0; i<elts.length; i++) {
-          if (elts[i].className == "private") {
-            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?
-                                        "none":"");
-          }
-        }
-        // Update all list items containing private objects.
-        var elts = document.getElementsByTagName("ul");
-        for(var i=0; i<elts.length; i++) {
-          if (elts[i].className == "private") {
-            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
-          }
-        }
-        // Set a cookie to remember the current option.
-        document.cookie = "EpydocPrivate="+cmd;
-      }
-function show_private() {
-        var elts = document.getElementsByTagName("a");
-        for(var i=0; i<elts.length; i++) {
-          if (elts[i].className == "privatelink") {
-            cmd = elts[i].innerHTML;
-            if (cmd && cmd.substr(0,4)=="show")
-                toggle_private();
-          }
-        }
-      }
-function getCookie(name) {
-        var dc = document.cookie;
-        var prefix = name + "=";
-        var begin = dc.indexOf("; " + prefix);
-        if (begin == -1) {
-          begin = dc.indexOf(prefix);
-          if (begin != 0) return null;
-        } else
-        { begin += 2; }
-        var end = document.cookie.indexOf(";", begin);
-        if (end == -1)
-        { end = dc.length; }
-        return unescape(dc.substring(begin + prefix.length, end));
-      }
-function setFrame(url1, url2) {
-          parent.frames[1].location.href = url1;
-          parent.frames[2].location.href = url2;
-      }
-function checkCookie() {
-        var cmd=getCookie("EpydocPrivate");
-        if (cmd && cmd.substr(0,4)!="show" && location.href.indexOf("#_") < 0)
-            toggle_private();
-      }
-function toggleCallGraph(id) {
-        var elt = document.getElementById(id);
-        if (elt.style.display == "none")
-            elt.style.display = "block";
-        else
-            elt.style.display = "none";
-      }
-function expand(id) {
-  var elt = document.getElementById(id+"-expanded");
-  if (elt) elt.style.display = "block";
-  var elt = document.getElementById(id+"-expanded-linenums");
-  if (elt) elt.style.display = "block";
-  var elt = document.getElementById(id+"-collapsed");
-  if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
-  var elt = document.getElementById(id+"-collapsed-linenums");
-  if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
-  var elt = document.getElementById(id+"-toggle");
-  if (elt) { elt.innerHTML = "-"; }
-}
-
-function collapse(id) {
-  var elt = document.getElementById(id+"-expanded");
-  if (elt) elt.style.display = "none";
-  var elt = document.getElementById(id+"-expanded-linenums");
-  if (elt) elt.style.display = "none";
-  var elt = document.getElementById(id+"-collapsed-linenums");
-  if (elt) { elt.innerHTML = "<br />"; elt.style.display="block"; }
-  var elt = document.getElementById(id+"-toggle");
-  if (elt) { elt.innerHTML = "+"; }
-  var elt = document.getElementById(id+"-collapsed");
-  if (elt) {
-    elt.style.display = "block";
-    
-    var indent = elt.getAttribute("indent");
-    var pad = elt.getAttribute("pad");
-    var s = "<tt class='py-lineno'>";
-    for (var i=0; i<pad.length; i++) { s += " " }
-    s += "</tt>";
-    s += "  <tt class='py-line'>";
-    for (var i=0; i<indent.length; i++) { s += " " }
-    s += "<a href='#' onclick='expand(\"" + id;
-    s += "\");return false'>...</a></tt><br />";
-    elt.innerHTML = s;
-  }
-}
-
-function toggle(id) {
-  elt = document.getElementById(id+"-toggle");
-  if (elt.innerHTML == "-")
-      collapse(id); 
-  else
-      expand(id);
-  return false;
-}
-
-function highlight(id) {
-  var elt = document.getElementById(id+"-def");
-  if (elt) elt.className = "py-highlight-hdr";
-  var elt = document.getElementById(id+"-expanded");
-  if (elt) elt.className = "py-highlight";
-  var elt = document.getElementById(id+"-collapsed");
-  if (elt) elt.className = "py-highlight";
-}
-
-function num_lines(s) {
-  var n = 1;
-  var pos = s.indexOf("\n");
-  while ( pos > 0) {
-    n += 1;
-    pos = s.indexOf("\n", pos+1);
-  }
-  return n;
-}
-
-// Collapse all blocks that mave more than `min_lines` lines.
-function collapse_all(min_lines) {
-  var elts = document.getElementsByTagName("div");
-  for (var i=0; i<elts.length; i++) {
-    var elt = elts[i];
-    var split = elt.id.indexOf("-");
-    if (split > 0)
-      if (elt.id.substring(split, elt.id.length) == "-expanded")
-        if (num_lines(elt.innerHTML) > min_lines)
-          collapse(elt.id.substring(0, split));
-  }
-}
-
-function expandto(href) {
-  var start = href.indexOf("#")+1;
-  if (start != 0 && start != href.length) {
-    if (href.substring(start, href.length) != "-") {
-      collapse_all(4);
-      pos = href.indexOf(".", start);
-      while (pos != -1) {
-        var id = href.substring(start, pos);
-        expand(id);
-        pos = href.indexOf(".", pos+1);
-      }
-      var id = href.substring(start, href.length);
-      expand(id);
-      highlight(id);
-    }
-  }
-}
-
-function kill_doclink(id) {
-  var parent = document.getElementById(id);
-  parent.removeChild(parent.childNodes.item(0));
-}
-function auto_kill_doclink(ev) {
-  if (!ev) var ev = window.event;
-  if (!this.contains(ev.toElement)) {
-    var parent = document.getElementById(this.parentID);
-    parent.removeChild(parent.childNodes.item(0));
-  }
-}
-
-function doclink(id, name, targets_id) {
-  var elt = document.getElementById(id);
-
-  // If we already opened the box, then destroy it.
-  // (This case should never occur, but leave it in just in case.)
-  if (elt.childNodes.length > 1) {
-    elt.removeChild(elt.childNodes.item(0));
-  }
-  else {
-    // The outer box: relative + inline positioning.
-    var box1 = document.createElement("div");
-    box1.style.position = "relative";
-    box1.style.display = "inline";
-    box1.style.top = 0;
-    box1.style.left = 0;
-  
-    // A shadow for fun
-    var shadow = document.createElement("div");
-    shadow.style.position = "absolute";
-    shadow.style.left = "-1.3em";
-    shadow.style.top = "-1.3em";
-    shadow.style.background = "#404040";
-    
-    // The inner box: absolute positioning.
-    var box2 = document.createElement("div");
-    box2.style.position = "relative";
-    box2.style.border = "1px solid #a0a0a0";
-    box2.style.left = "-.2em";
-    box2.style.top = "-.2em";
-    box2.style.background = "white";
-    box2.style.padding = ".3em .4em .3em .4em";
-    box2.style.fontStyle = "normal";
-    box2.onmouseout=auto_kill_doclink;
-    box2.parentID = id;
-
-    // Get the targets
-    var targets_elt = document.getElementById(targets_id);
-    var targets = targets_elt.getAttribute("targets");
-    var links = "";
-    target_list = targets.split(",");
-    for (var i=0; i<target_list.length; i++) {
-        var target = target_list[i].split("=");
-        links += "<li><a href='" + target[1] + 
-               "' style='text-decoration:none'>" +
-               target[0] + "</a></li>";
-    }
-  
-    // Put it all together.
-    elt.insertBefore(box1, elt.childNodes.item(0));
-    //box1.appendChild(box2);
-    box1.appendChild(shadow);
-    shadow.appendChild(box2);
-    box2.innerHTML =
-        "Which <b>"+name+"</b> do you want to see documentation for?" +
-        "<ul style='margin-bottom: 0;'>" +
-        links + 
-        "<li><a href='#' style='text-decoration:none' " +
-        "onclick='kill_doclink(\""+id+"\");return false;'>"+
-        "<i>None of the above</i></a></li></ul>";
-  }
-  return false;
-}
-
-function get_anchor() {
-          var href = location.href;
-          var start = href.indexOf("#")+1;
-          if ((start != 0) && (start != href.length))
-              return href.substring(start, href.length);
-      }
-function redirect_url(dottedName) {
-          // Scan through each element of the "pages" list, and check
-          // if "name" matches with any of them.
-          for (var i=0; i<pages.length; i++) {
-
-              // Each page has the form "<pagename>-m" or "<pagename>-c";
-              // extract the <pagename> portion & compare it to dottedName.
-              var pagename = pages[i].substring(0, pages[i].length-2);
-              if (pagename == dottedName.substring(0,pagename.length)) {
-
-                  // We've found a page that matches `dottedName`;
-                  // construct its URL, using leftover `dottedName`
-                  // content to form an anchor.
-                  var pagetype = pages[i].charAt(pages[i].length-1);
-                  var url = pagename + ((pagetype=="m")?"-module.html":
-                                                        "-class.html");
-                  if (dottedName.length > pagename.length)
-                      url += "#" + dottedName.substring(pagename.length+1,
-                                                        dottedName.length);
-                  return url;
-              }
-          }
-      }
diff --git a/doc/html_reference/frames.html b/doc/html_reference/frames.html
deleted file mode 100644
index 0e0610c..0000000
--- a/doc/html_reference/frames.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
-          "DTD/xhtml1-frameset.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title> API Documentation </title>
-</head>
-<frameset cols="20%,80%">
-  <frameset rows="30%,70%">
-    <frame src="toc.html" name="moduleListFrame"
-           id="moduleListFrame" />
-    <frame src="toc-everything.html" name="moduleFrame"
-           id="moduleFrame" />
-  </frameset>
-  <frame src="instant-module.html" name="mainFrame" id="mainFrame" />
-</frameset>
-</html>
diff --git a/doc/html_reference/help.html b/doc/html_reference/help.html
deleted file mode 100644
index 6eb6d32..0000000
--- a/doc/html_reference/help.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>Help</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >   Help   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%"> </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="help.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-
-<h1 class="epydoc"> API Documentation </h1>
-
-<p> This document contains the API (Application Programming Interface)
-documentation for this project.  Documentation for the Python
-objects defined by the project is divided into separate pages for each
-package, module, and class.  The API documentation also includes two
-pages containing information about the project as a whole: a trees
-page, and an index page.  </p>
-
-<h2> Object Documentation </h2>
-
-  <p>Each <strong>Package Documentation</strong> page contains: </p>
-  <ul>
-    <li> A description of the package. </li>
-    <li> A list of the modules and sub-packages contained by the
-    package.  </li>
-    <li> A summary of the classes defined by the package. </li>
-    <li> A summary of the functions defined by the package. </li>
-    <li> A summary of the variables defined by the package. </li>
-    <li> A detailed description of each function defined by the
-    package. </li>
-    <li> A detailed description of each variable defined by the
-    package. </li>
-  </ul>
-  
-  <p>Each <strong>Module Documentation</strong> page contains:</p>
-  <ul>
-    <li> A description of the module. </li>
-    <li> A summary of the classes defined by the module. </li>
-    <li> A summary of the functions defined by the module. </li>
-    <li> A summary of the variables defined by the module. </li>
-    <li> A detailed description of each function defined by the
-    module. </li>
-    <li> A detailed description of each variable defined by the
-    module. </li>
-  </ul>
-  
-  <p>Each <strong>Class Documentation</strong> page contains: </p>
-  <ul>
-    <li> A class inheritance diagram. </li>
-    <li> A list of known subclasses. </li>
-    <li> A description of the class. </li>
-    <li> A summary of the methods defined by the class. </li>
-    <li> A summary of the instance variables defined by the class. </li>
-    <li> A summary of the class (static) variables defined by the
-    class. </li> 
-    <li> A detailed description of each method defined by the
-    class. </li>
-    <li> A detailed description of each instance variable defined by the
-    class. </li> 
-    <li> A detailed description of each class (static) variable defined
-    by the class. </li> 
-  </ul>
-
-<h2> Project Documentation </h2>
-
-  <p> The <strong>Trees</strong> page contains the module and class hierarchies: </p>
-  <ul>
-    <li> The <em>module hierarchy</em> lists every package and module, with
-    modules grouped into packages.  At the top level, and within each
-    package, modules and sub-packages are listed alphabetically. </li>
-    <li> The <em>class hierarchy</em> lists every class, grouped by base
-    class.  If a class has more than one base class, then it will be
-    listed under each base class.  At the top level, and under each base
-    class, classes are listed alphabetically. </li>
-  </ul>
-  
-  <p> The <strong>Index</strong> page contains indices of terms and
-  identifiers: </p>
-  <ul>
-    <li> The <em>term index</em> lists every term indexed by any object's
-    documentation.  For each term, the index provides links to each
-    place where the term is indexed. </li>
-    <li> The <em>identifier index</em> lists the (short) name of every package,
-    module, class, method, function, variable, and parameter.  For each
-    identifier, the index provides a short description, and a link to
-    its documentation. </li>
-  </ul>
-
-<h2> The Table of Contents </h2>
-
-<p> The table of contents occupies the two frames on the left side of
-the window.  The upper-left frame displays the <em>project
-contents</em>, and the lower-left frame displays the <em>module
-contents</em>: </p>
-
-<table class="help summary" border="1" cellspacing="0" cellpadding="3">
-  <tr style="height: 30%">
-    <td align="center" style="font-size: small">
-       Project<br />Contents<hr />...</td>
-    <td align="center" style="font-size: small" rowspan="2" width="70%">
-      API<br />Documentation<br />Frame<br /><br /><br />
-    </td>
-  </tr>
-  <tr>
-    <td align="center" style="font-size: small">
-      Module<br />Contents<hr /> <br />...<br /> 
-    </td>
-  </tr>
-</table><br />
-
-<p> The <strong>project contents frame</strong> contains a list of all packages
-and modules that are defined by the project.  Clicking on an entry
-will display its contents in the module contents frame.  Clicking on a
-special entry, labeled "Everything," will display the contents of
-the entire project. </p>
-
-<p> The <strong>module contents frame</strong> contains a list of every
-submodule, class, type, exception, function, and variable defined by a
-module or package.  Clicking on an entry will display its
-documentation in the API documentation frame.  Clicking on the name of
-the module, at the top of the frame, will display the documentation
-for the module itself. </p>
-
-<p> The "<strong>frames</strong>" and "<strong>no frames</strong>" buttons below the top
-navigation bar can be used to control whether the table of contents is
-displayed or not. </p>
-
-<h2> The Navigation Bar </h2>
-
-<p> A navigation bar is located at the top and bottom of every page.
-It indicates what type of page you are currently viewing, and allows
-you to go to related pages.  The following table describes the labels
-on the navigation bar.  Note that not some labels (such as
-[Parent]) are not displayed on all pages. </p>
-
-<table class="summary" border="1" cellspacing="0" cellpadding="3" width="100%">
-<tr class="summary">
-  <th>Label</th>
-  <th>Highlighted when...</th>
-  <th>Links to...</th>
-</tr>
-  <tr><td valign="top"><strong>[Parent]</strong></td>
-      <td valign="top"><em>(never highlighted)</em></td>
-      <td valign="top"> the parent of the current package </td></tr>
-  <tr><td valign="top"><strong>[Package]</strong></td>
-      <td valign="top">viewing a package</td>
-      <td valign="top">the package containing the current object
-      </td></tr>
-  <tr><td valign="top"><strong>[Module]</strong></td>
-      <td valign="top">viewing a module</td>
-      <td valign="top">the module containing the current object
-      </td></tr> 
-  <tr><td valign="top"><strong>[Class]</strong></td>
-      <td valign="top">viewing a class </td>
-      <td valign="top">the class containing the current object</td></tr>
-  <tr><td valign="top"><strong>[Trees]</strong></td>
-      <td valign="top">viewing the trees page</td>
-      <td valign="top"> the trees page </td></tr>
-  <tr><td valign="top"><strong>[Index]</strong></td>
-      <td valign="top">viewing the index page</td>
-      <td valign="top"> the index page </td></tr>
-  <tr><td valign="top"><strong>[Help]</strong></td>
-      <td valign="top">viewing the help page</td>
-      <td valign="top"> the help page </td></tr>
-</table>
-
-<p> The "<strong>show private</strong>" and "<strong>hide private</strong>" buttons below
-the top navigation bar can be used to control whether documentation
-for private objects is displayed.  Private objects are usually defined
-as objects whose (short) names begin with a single underscore, but do
-not end with an underscore.  For example, "<code>_x</code>",
-"<code>__pprint</code>", and "<code>epydoc.epytext._tokenize</code>"
-are private objects; but "<code>re.sub</code>",
-"<code>__init__</code>", and "<code>type_</code>" are not.  However,
-if a module defines the "<code>__all__</code>" variable, then its
-contents are used to decide which objects are private. </p>
-
-<p> A timestamp below the bottom navigation bar indicates when each
-page was last updated. </p>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >   Help   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:06 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/identifier-index.html b/doc/html_reference/identifier-index.html
deleted file mode 100644
index 7358115..0000000
--- a/doc/html_reference/identifier-index.html
+++ /dev/null
@@ -1,490 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>Identifier Index</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >   Indices   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%"> </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="identifier-index.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<table border="0" width="100%">
-<tr valign="bottom"><td>
-<h1 class="epydoc">Identifier Index</h1>
-</td><td>
-[
- <a href="#A">A</a>
- <a href="#B">B</a>
- <a href="#C">C</a>
- <a href="#D">D</a>
-  E
-  F
- <a href="#G">G</a>
- <a href="#H">H</a>
- <a href="#I">I</a>
-  J
-  K
- <a href="#L">L</a>
- <a href="#M">M</a>
-  N
- <a href="#O">O</a>
- <a href="#P">P</a>
-  Q
- <a href="#R">R</a>
- <a href="#S">S</a>
-  T
-  U
- <a href="#V">V</a>
- <a href="#W">W</a>
-  X
-  Y
-  Z
- <a href="#_">_</a>
-]
-</td></table>
-<table border="0" width="100%">
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="A">A</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.build-module.html#arg_strings">arg_strings()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.build-module.html#assert_is_str">assert_is_str()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.build-module.html#assert_is_bool">assert_is_bool()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.build-module.html#assert_is_str_list">assert_is_str_list()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="B">B</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.build-module.html">build</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.build-module.html#build_module">build_module()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="C">C</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html">cache</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.config-module.html#check_swig_version">check_swig_version()</a><br />
-<span class="index-where">(in <a href="instant.config-module.html">instant.config</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.config-module.html">config</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#cached_modules">cached_modules()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#checksum_from_modulename">checksum_from_modulename()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.build-module.html#copy_files">copy_files()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#check_disk_cache">check_disk_cache()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html">codegeneration</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.build-module.html#copy_to_cache">copy_to_cache()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#check_memory_cache">check_memory_cache()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.signatures-module.html#compute_checksum">compute_checksum()</a><br />
-<span class="index-where">(in <a href="instant.signatures-module.html">instant.signatures</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="D">D</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#delete_temp_dir">delete_temp_dir()</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="G">G</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#get_default_cache_dir">get_default_cache_dir()</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.locking-module.html#get_lock">get_lock()</a><br />
-<span class="index-where">(in <a href="instant.locking-module.html">instant.locking</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#get_status_output">get_status_output()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.inlining-module.html#get_func_name">get_func_name()</a><br />
-<span class="index-where">(in <a href="instant.inlining-module.html">instant.inlining</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#get_log_handler">get_log_handler()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.config-module.html#get_swig_version">get_swig_version()</a><br />
-<span class="index-where">(in <a href="instant.config-module.html">instant.config</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#get_instant_dir">get_instant_dir()</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#get_logger">get_logger()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#get_temp_dir">get_temp_dir()</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="H">H</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.config-module.html#header_and_libs_from_pkgconfig">header_and_libs_from_pkgconfig()</a><br />
-<span class="index-where">(in <a href="instant.config-module.html">instant.config</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="I">I</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#import_and_cache_module">import_and_cache_module()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.inlining-module.html#inline_module_with_numpy">inline_module_with_numpy()</a><br />
-<span class="index-where">(in <a href="instant.inlining-module.html">instant.inlining</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#instant_debug">instant_debug()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#import_module">import_module()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.inlining-module.html#inline_with_numpy">inline_with_numpy()</a><br />
-<span class="index-where">(in <a href="instant.inlining-module.html">instant.inlining</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#instant_error">instant_error()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#import_module_directly">import_module_directly()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.inlining-module.html">inlining</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#instant_info">instant_info()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.inlining-module.html#inline">inline()</a><br />
-<span class="index-where">(in <a href="instant.inlining-module.html">instant.inlining</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant-module.html">instant</a></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#instant_warning">instant_warning()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.inlining-module.html#inline_module">inline_module()</a><br />
-<span class="index-where">(in <a href="instant.inlining-module.html">instant.inlining</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#instant_assert">instant_assert()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#is_valid_module_name">is_valid_module_name()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="L">L</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.locking-module.html">locking</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="M">M</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html#mapstrings">mapstrings()</a><br />
-<span class="index-where">(in <a href="instant.codegeneration-module.html">instant.codegeneration</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#memory_cached_module">memory_cached_module()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#modulename_from_checksum">modulename_from_checksum()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="O">O</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.output-module.html">output</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="P">P</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.paths-module.html">paths</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#place_module_in_memory_cache">place_module_in_memory_cache()</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="R">R</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.build-module.html#recompile">recompile()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.locking-module.html#release_all_locks">release_all_locks()</a><br />
-<span class="index-where">(in <a href="instant.locking-module.html">instant.locking</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html#reindent">reindent()</a><br />
-<span class="index-where">(in <a href="instant.codegeneration-module.html">instant.codegeneration</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.locking-module.html#release_lock">release_lock()</a><br />
-<span class="index-where">(in <a href="instant.locking-module.html">instant.locking</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="S">S</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.output-module.html#set_log_handler">set_log_handler()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.signatures-module.html">signatures</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.output-module.html#set_logging_level">set_logging_level()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.build-module.html#strip_strings">strip_strings()</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="V">V</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#validate_cache_dir">validate_cache_dir()</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="W">W</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant.output-module.html#write_file">write_file()</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html#write_interfacefile">write_interfacefile()</a><br />
-<span class="index-where">(in <a href="instant.codegeneration-module.html">instant.codegeneration</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html#write_setup">write_setup()</a><br />
-<span class="index-where">(in <a href="instant.codegeneration-module.html">instant.codegeneration</a>)</span></td>
-</tr>
-<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
-</table>
-</td></tr>
-<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="_">_</a></h2></td>
-<td valign="top">
-<table class="link-index" width="100%" border="1">
-<tr>
-<td width="33%" class="link-index"><a href="instant-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant-module.html">instant</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#_modulename_prefix">_modulename_prefix</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.build-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.build-module.html">instant.build</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.signatures-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.signatures-module.html">instant.signatures</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#_test">_test()</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.locking-module.html#_lock_count">_lock_count</a><br />
-<span class="index-where">(in <a href="instant.locking-module.html">instant.locking</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.signatures-module.html#_test">_test()</a><br />
-<span class="index-where">(in <a href="instant.signatures-module.html">instant.signatures</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.codegeneration-module.html">instant.codegeneration</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.locking-module.html#_lock_files">_lock_files</a><br />
-<span class="index-where">(in <a href="instant.locking-module.html">instant.locking</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html#_test_write_interfacefile">_test_write_interfacefile()</a><br />
-<span class="index-where">(in <a href="instant.codegeneration-module.html">instant.codegeneration</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.config-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.config-module.html">instant.config</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.locking-module.html#_lock_names">_lock_names</a><br />
-<span class="index-where">(in <a href="instant.locking-module.html">instant.locking</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.codegeneration-module.html#_test_write_setup">_test_write_setup()</a><br />
-<span class="index-where">(in <a href="instant.codegeneration-module.html">instant.codegeneration</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.inlining-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.inlining-module.html">instant.inlining</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#_log">_log</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.paths-module.html#_tmp_dir">_tmp_dir</a><br />
-<span class="index-where">(in <a href="instant.paths-module.html">instant.paths</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.locking-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.locking-module.html">instant.locking</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.output-module.html#_loghandler">_loghandler</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="instant.output-module.html#__package__">__package__</a><br />
-<span class="index-where">(in <a href="instant.output-module.html">instant.output</a>)</span></td>
-<td width="33%" class="link-index"><a href="instant.cache-module.html#_memory_cache">_memory_cache</a><br />
-<span class="index-where">(in <a href="instant.cache-module.html">instant.cache</a>)</span></td>
-<td width="33%" class="link-index"> </td>
-</tr>
-</table>
-</td></tr>
-</table>
-<br /><br /><!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >   Indices   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:06 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/index.html b/doc/html_reference/index.html
deleted file mode 100644
index 0e0610c..0000000
--- a/doc/html_reference/index.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
-          "DTD/xhtml1-frameset.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title> API Documentation </title>
-</head>
-<frameset cols="20%,80%">
-  <frameset rows="30%,70%">
-    <frame src="toc.html" name="moduleListFrame"
-           id="moduleListFrame" />
-    <frame src="toc-everything.html" name="moduleFrame"
-           id="moduleFrame" />
-  </frameset>
-  <frame src="instant-module.html" name="mainFrame" id="mainFrame" />
-</frameset>
-</html>
diff --git a/doc/html_reference/instant-module.html b/doc/html_reference/instant-module.html
deleted file mode 100644
index 2e071e4..0000000
--- a/doc/html_reference/instant-module.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >   Home   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        Package instant
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant-module.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== PACKAGE DESCRIPTION ==================== -->
-<h1 class="epydoc">Package instant</h1><p class="nomargin-top"><span class="codelink"><a href="instant-pysrc.html">source code</a></span></p>
-<p>Instant allows compiled C/C++ modules to be created at runtime in your
-  Python application, using SWIG to wrap the C/C++ code.</p>
-  <p>A simple example:</p>
-<pre class="py-doctest">
-<span class="py-prompt">>>> </span><span class="py-keyword">from</span> instant <span class="py-keyword">import</span> inline
-<span class="py-prompt">>>> </span>add_func = inline(<span class="py-string">"double add(double a, double b){ return a+b; }"</span>)
-<span class="py-prompt">>>> </span><span class="py-keyword">print</span> <span class="py-string">"The sum of 3 and 4.5 is "</span>, add_func(3, 4.5)</pre>
-  <p>The main functions are <code>build_module</code>, 
-  <code>write_code</code>, and <code>inline*</code> see their documentation
-  for more details.</p>
-  <p>For more examples, see the tests/ directory in the Instant 
-  distribution.</p>
-  <p>Questions, bugs and patches should be sent to 
-  instant-dev at fenics.org.</p>
-
-<hr />
-<div class="fields">      <p><strong>Version:</strong>
-        0.9.7
-      </p>
-      <p><strong>Date:</strong>
-        2009-05-28
-      </p>
-      <p><strong>Author:</strong>
-        Magne Westlie, Kent-Andre Mardal <kent-and at simula.no>, Martin
-        Alnes <martinal at simula.no>, Ilmar M. Wilbers 
-        <ilmarw at simula.no>
-      </p>
-</div><!-- ==================== SUBMODULES ==================== -->
-<a name="section-Submodules"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Submodules</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Submodules"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-  <tr><td class="summary">
-  <ul class="nomargin">
-    <li> <strong class="uidlink"><a href="instant.build-module.html">instant.build</a></strong>: <em class="summary">This module contains the main part of Instant, the build_module 
-        function.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.cache-module.html">instant.cache</a></strong>: <em class="summary">This module contains helper functions for working with the module 
-        cache.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.codegeneration-module.html">instant.codegeneration</a></strong>: <em class="summary">This module contains helper functions for code generation.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.config-module.html">instant.config</a></strong>: <em class="summary">This module contains helper functions for configuration using 
-        pkg-config.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.inlining-module.html">instant.inlining</a></strong>: <em class="summary">This module contains the inline* functions, which allows easy 
-        inlining of C/C++ functions.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.locking-module.html">instant.locking</a></strong>: <em class="summary">File locking for the cache system, to avoid problems when multiple 
-        processes work with the same module.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.output-module.html">instant.output</a></strong>: <em class="summary">This module contains internal logging utilities.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.paths-module.html">instant.paths</a></strong>: <em class="summary">This module contains helper functions for working with temp and 
-        cache directories.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.signatures-module.html">instant.signatures</a></strong>: <em class="summary">This module contains helper functions for working with checksums.</em>    </li>
-  </ul></td></tr>
-</table>
-
-<br />
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >   Home   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant-pysrc.html b/doc/html_reference/instant-pysrc.html
deleted file mode 100644
index b892926..0000000
--- a/doc/html_reference/instant-pysrc.html
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >   Home   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        Package instant
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant-pysrc.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant-module.html">Package instant</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">Instant allows compiled C/C++ modules to be created</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">at runtime in your Python application, using SWIG to wrap the</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-docstring">C/C++ code.</tt> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-docstring">A simple example:</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-docstring">    >>> from instant import inline</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    >>> add_func = inline(\"double add(double a, double b){ return a+b; }\")</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    >>> print "The sum of 3 and 4.5 is ", add_func(3, 4.5)</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-docstring">The main functions are C{build_module}, C{write_code}, and</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-docstring">C{inline*} see their documentation for more details.</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">For more examples, see the tests/ directory in the Instant distribution.</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">Questions, bugs and patches should be sent to instant-dev at fenics.org.</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"><tt class="py-name">__authors__</tt> <tt class="py-op">=</tt> <tt class="py-string">"Magne Westlie, Kent-Andre Mardal <kent-and at simula.no>, Martin Alnes <martinal at simula.no>, Ilmar M. Wilbers <ilmarw at simula.no>"</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-name">__date__</tt> <tt class="py-op">=</tt> <tt class="py-string">"2009-05-28"</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-string">"0.9.7"</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line"> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line"><tt class="py-comment"># TODO: Import only the official interface</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module instant.config=instant.config-module.html"><a title="instant.config" class="py-name" href="#" onclick="return doclink('link-1', 'config', 'link-1');">config</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-2" class="py-name" targets="Module instant.paths=instant.paths-module.html"><a title="instant.paths" class="py-name" href="#" onclick="return doclink('link-2', 'paths', 'link-2');">paths</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name" targets="Module instant.signatures=instant.signatures-module.html"><a title="instant.signatures" class="py-name" href="#" onclick="return doclink('link-3', 'signatures', 'link-3');">signatures</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module instant.cache=instant.cache-module.html"><a title="instant.cache" class="py-name" href="#" onclick="return doclink('link-4', 'cache', 'link-4');">cache</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name" targets="Module instant.codegeneration=instant.codegeneration-module.html"><a title="instant.codegeneration" class="py-name" href="#" onclick="return doclink('link-5', 'codegeneration', 'link-5');">codegeneration</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name" targets="Module instant.build=instant.build-module.html"><a title="instant.build" class="py-name" href="#" onclick="return doclink('link-6', 'build', 'link-6');">build</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name" targets="Module instant.inlining=instant.inlining-module.html"><a title="instant.inlining" class="py-name" href="#" onclick="return doclink('link-7', 'inlining', 'link-7');">inlining</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >   Home   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.build-module.html b/doc/html_reference/instant.build-module.html
deleted file mode 100644
index ce63c34..0000000
--- a/doc/html_reference/instant.build-module.html
+++ /dev/null
@@ -1,662 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.build</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module build
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.build-module.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module build</h1><p class="nomargin-top"><span class="codelink"><a href="instant.build-pysrc.html">source code</a></span></p>
-<p>This module contains the main part of Instant, the build_module 
-  function.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="assert_is_str"></a><span class="summary-sig-name">assert_is_str</span>(<span class="summary-sig-arg">x</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.build-pysrc.html#assert_is_str">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="assert_is_bool"></a><span class="summary-sig-name">assert_is_bool</span>(<span class="summary-sig-arg">x</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.build-pysrc.html#assert_is_bool">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="assert_is_str_list"></a><span class="summary-sig-name">assert_is_str_list</span>(<span class="summary-sig-arg">x</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.build-pysrc.html#assert_is_str_list">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="strip_strings"></a><span class="summary-sig-name">strip_strings</span>(<span class="summary-sig-arg">x</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.build-pysrc.html#strip_strings">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="arg_strings"></a><span class="summary-sig-name">arg_strings</span>(<span class="summary-sig-arg">x</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.build-pysrc.html#arg_strings">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.build-module.html#copy_files" class="summary-sig-name">copy_files</a>(<span class="summary-sig-arg">source</span>,
-        <span class="summary-sig-arg">dest</span>,
-        <span class="summary-sig-arg">files</span>)</span><br />
-      Copy a list of files from a source directory to a destination 
-      directory.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.build-pysrc.html#copy_files">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="recompile"></a><span class="summary-sig-name">recompile</span>(<span class="summary-sig-arg">modulename</span>,
-        <span class="summary-sig-arg">module_path</span>,
-        <span class="summary-sig-arg">setup_name</span>,
-        <span class="summary-sig-arg">new_compilation_checksum</span>)</span><br />
-      Recompile module if the new checksum is different from the one in the
-      checksum file in the module directory.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.build-pysrc.html#recompile">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="copy_to_cache"></a><span class="summary-sig-name">copy_to_cache</span>(<span class="summary-sig-arg">module_path</span>,
-        <span class="summary-sig-arg">cache_dir</span>,
-        <span class="summary-sig-arg">modulename</span>)</span><br />
-      Copy module directory to cache.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.build-pysrc.html#copy_to_cache">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.build-module.html#build_module" class="summary-sig-name">build_module</a>(<span class="summary-sig-arg">modulename</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">source_directory</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">.</code><code class="variable-quote">'</code></span>,
-        <span class="summary-sig-arg">code</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
-        <span class="summary-sig-arg">init_code</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
-        <span class="summary-sig-arg">additional_definitions</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
-        <span class="summary-sig-arg">additional_declarations</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
-        <span class="summary-sig-arg">sources</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="summary-sig-arg">wrap_headers</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="summary-sig-arg">local_headers</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="summary-sig-arg">system_headers</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="summary-sig-arg">include_dirs</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">.</code><code class="variable-quote">'</code><code class="variable-group">]</code></span>,
-        <span class="summary-sig-arg">library_dirs</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="summary-sig-arg">libraries</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="summary-sig-arg">swigargs</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">-c++</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">-fcompact</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-str [...]
-        <span class="summary-sig-arg">swig_include_dirs</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="summary-sig-arg">cppargs</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">-O2</code><code class="variable-quote">'</code><code class="variable-group">]</code></span>,
-        <span class="summary-sig-arg">lddargs</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="summary-sig-arg">object_files</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="summary-sig-arg">arrays</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="summary-sig-arg">generate_interface</span>=<span class="summary-sig-default">True</span>,
-        <span class="summary-sig-arg">generate_setup</span>=<span class="summary-sig-default">True</span>,
-        <span class="summary-sig-arg">signature</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">cache_dir</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Generate and compile a module from C/C++ code using SWIG.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.build-pysrc.html#build_module">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="copy_files"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">copy_files</span>(<span class="sig-arg">source</span>,
-        <span class="sig-arg">dest</span>,
-        <span class="sig-arg">files</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant.build-pysrc.html#copy_files">source code</a></span> 
-    </td>
-  </tr></table>
-  
-  <p>Copy a list of files from a source directory to a destination 
-  directory. This may seem a bit complicated, but a lot of this code is 
-  error checking.</p>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="build_module"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">build_module</span>(<span class="sig-arg">modulename</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">source_directory</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">.</code><code class="variable-quote">'</code></span>,
-        <span class="sig-arg">code</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
-        <span class="sig-arg">init_code</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
-        <span class="sig-arg">additional_definitions</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
-        <span class="sig-arg">additional_declarations</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
-        <span class="sig-arg">sources</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="sig-arg">wrap_headers</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="sig-arg">local_headers</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="sig-arg">system_headers</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="sig-arg">include_dirs</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">.</code><code class="variable-quote">'</code><code class="variable-group">]</code></span>,
-        <span class="sig-arg">library_dirs</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="sig-arg">libraries</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="sig-arg">swigargs</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">-c++</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">-fcompact</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">-O</code><c [...]
-        <span class="sig-arg">swig_include_dirs</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="sig-arg">cppargs</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">-O2</code><code class="variable-quote">'</code><code class="variable-group">]</code></span>,
-        <span class="sig-arg">lddargs</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="sig-arg">object_files</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="sig-arg">arrays</span>=<span class="sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>,
-        <span class="sig-arg">generate_interface</span>=<span class="sig-default">True</span>,
-        <span class="sig-arg">generate_setup</span>=<span class="sig-default">True</span>,
-        <span class="sig-arg">signature</span>=<span class="sig-default">None</span>,
-        <span class="sig-arg">cache_dir</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant.build-pysrc.html#build_module">source code</a></span> 
-    </td>
-  </tr></table>
-  
-  <p>Generate and compile a module from C/C++ code using SWIG.</p>
-  <h1 class="heading">Arguments:</h1>
-    <p>The keyword arguments are as follows:</p>
-    <ul>
-      <li>
-        <b>modulename</b>:
-        <ul>
-          <li>
-            The name you want for the module. If specified, the module will
-            not be cached. If missing, a name will be constructed based on 
-            a checksum of the other arguments, and the module will be 
-            placed in the global cache. String.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>source_directory</b>:
-        <ul>
-          <li>
-            The directory where user supplied files reside. The files given
-            in <b>sources</b>, <b>wrap_headers</b>, and 
-            <b>local_headers</b> are expected to exist in this directory. 
-            String.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>code</b>:
-        <ul>
-          <li>
-            A string containing C or C++ code to be compiled and wrapped. 
-            String.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>init_code</b>:
-        <ul>
-          <li>
-            Code that should be executed when the Instant module is 
-            imported. This code is inserted in the SWIG interface file, and
-            is used for instance for calling <code>import_array()</code> 
-            used for the initialization of NumPy arrays. String.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>additional_definitions</b>:
-        <ul>
-          <li>
-            Additional definitions (typically needed for inheritance) for 
-            interface file. These definitions should be given as 
-            triple-quoted strings in the case they span multiple lines, and
-            are placed both in the initial block for C/C++ code 
-            (<code>%{,%}</code>-block), and the main section of the 
-            interface file. String.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>additional_declarations</b>:
-        <ul>
-          <li>
-            Additional declarations (typically needed for inheritance) for 
-            interface file. These declarations should be given as 
-            triple-quoted strings in the case they span multiple lines, and
-            are plaves in the main section of the interface file. String.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>sources</b>:
-        <ul>
-          <li>
-            Source files to compile and link with the module. These files 
-            are compiled togehter with the SWIG-generated wrapper file into
-            the final library file. Should reside in directory specified in
-            <b>source_directory</b>. List of strings.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>wrap_headers</b>:
-        <ul>
-          <li>
-            Local header files that should be wrapped by SWIG. The files 
-            specified will be included both in the initial block for C/C++ 
-            code (with a C directive) and in the main section of the 
-            interface file (with a SWIG directive). Should reside in 
-            directory specified in <b>source_directory</b>. List of 
-            strings.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>local_headers</b>:
-        <ul>
-          <li>
-            Local header files required to compile the wrapped code. The 
-            files specified will be included in the initial block for C/C++
-            code (with a C directive). Should reside in directory specified
-            in <b>source_directory</b>. List of strings.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>system_headers</b>:
-        <ul>
-          <li>
-            System header files required to compile the wrapped code. The 
-            files specified will be included in the initial block for C/C++
-            code (with a C directive). List of strings.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>include_dirs</b>:
-        <ul>
-          <li>
-            Directories to search for header files for building the 
-            extension module. Needs to be absolute path names. List of 
-            strings.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>library_dirs</b>:
-        <ul>
-          <li>
-            Directories to search for libraries (<code>-l</code>) for 
-            building the extension module. Needs to be absolute paths. List
-            of strings.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>libraries</b>:
-        <ul>
-          <li>
-            Libraries needed by the Instant module. The libraries will be 
-            linked in from the shared object file. The initial 
-            <code>-l</code> is added automatically. List of strings.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>swigargs</b>:
-        <ul>
-          <li>
-            List of arguments to swig, e.g. 
-            <code>["-lpointers.i"]</code> to include the SWIG 
-            pointers.i library.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>swig_include_dirs</b>:
-        <ul>
-          <li>
-            A list of directories to include in the 'swig' command.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>cppargs</b>:
-        <ul>
-          <li>
-            List of arguments to the compiler, e.g. 
-            <code>["-Wall", "-fopenmp"]</code>.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>lddargs</b>:
-        <ul>
-          <li>
-            List of arguments to the linker, e.g. <code>["-E", 
-            "-U"]</code>.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>object_files</b>:
-        <ul>
-          <li>
-            If you want to compile the files yourself. TODO: Not yet 
-            supported.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>arrays</b>:
-        <ul>
-          <li>
-            A nested list describing the C arrays to be made from NumPy 
-            arrays. If the NumPy array is 1D, the inner list should contain
-            strings with the variable names for length of the array and the
-            array itself. If the NumPy array is a matrix or a tensor, the 
-            inner list should contain strings with variable names for the 
-            number of dimensions, the length in each dimension, and the 
-            array itself, respectively.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>generate_interface</b>:
-        <ul>
-          <li>
-            A bool to indicate if you want to generate the interface files.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>generate_setup</b>:
-        <ul>
-          <li>
-            A bool to indicate if you want to generate the setup.py file.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>signature</b>:
-        <ul>
-          <li>
-            A signature string to identify the form instead of the source 
-            code.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>cache_dir</b>:
-        <ul>
-          <li>
-            A directory to look for cached modules and place new ones. If 
-            missing, a default directory is used. Note that the module will
-            not be cached if <b>modulename</b> is specified. The cache 
-            directory should not be used for anything else.
-          </li>
-        </ul>
-      </li>
-    </ul>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.build-pysrc.html b/doc/html_reference/instant.build-pysrc.html
deleted file mode 100644
index 0990417..0000000
--- a/doc/html_reference/instant.build-pysrc.html
+++ /dev/null
@@ -1,619 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.build</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module build
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.build-pysrc.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.build-module.html">Module instant.build</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-docstring">"""This module contains the main part of Instant, the build_module function."""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">shutil</tt><tt class="py-op">,</tt> <tt class="py-name">glob</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">itertools</tt> <tt class="py-keyword">import</tt> <tt class="py-name">chain</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-comment"># TODO: Import only the official interface</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-1" class="py-name" targets="Module instant.config=instant.config-module.html"><a title="instant.config" class="py-name" href="#" onclick="return doclink('link-1', 'config', 'link-1');">config</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Function instant.config.header_and_libs_from_pkgconfig()=instant.config-module.html#header_and_libs_ [...]
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-3" class="py-name" targets="Module instant.paths=instant.paths-module.html"><a title="instant.paths" class="py-name" href="#" onclick="return doclink('link-3', 'paths', 'link-3');">paths</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module instant.signatures=instant.signatures-module.html"><a title="instant.signatures" class="py-name" href="#" onclick="return doclink('link-4', 'signatures', 'link-4');">signatures</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-5" class="py-name" targets="Module instant.cache=instant.cache-module.html"><a title="instant.cache" class="py-name" href="#" onclick="return doclink('link-5', 'cache', 'link-5');">cache</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-6" class="py-name" targets="Module instant.codegeneration=instant.codegeneration-module.html"><a title="instant.codegeneration" class="py-name" href="#" onclick="return doclink('link-6', 'codegeneration', 'link-6');">codegeneration</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name" targets="Module instant.locking=instant.locking-module.html"><a title="instant.locking" class="py-name" href="#" onclick="return doclink('link-7', 'locking', 'link-7');">locking</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Function instant.locking.get_lock()=instant.locking-module.html#get_lock"><a title="instant.lo [...]
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">     </tt>
-<a name="assert_is_str"></a><div id="assert_is_str-def"><a name="L15"></a><tt class="py-lineno"> 15</tt> <a class="py-toggle" href="#" id="assert_is_str-toggle" onclick="return toggle('assert_is_str');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#assert_is_str">assert_is_str</a><tt class="py-op">(</tt><tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="assert_is_str-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="assert_is_str-expanded"><a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">    <tt id="link-10" class="py-name" targets="Function instant.output.instant_assert()=instant.output-module.html#instant_assert"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-10', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="p [...]
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">        <tt class="py-string">"In instant.build_module: Expecting string."</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"> </tt>
-<a name="assert_is_bool"></a><div id="assert_is_bool-def"><a name="L19"></a><tt class="py-lineno"> 19</tt> <a class="py-toggle" href="#" id="assert_is_bool-toggle" onclick="return toggle('assert_is_bool');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#assert_is_bool">assert_is_bool</a><tt class="py-op">(</tt><tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="assert_is_bool-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="assert_is_bool-expanded"><a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">    <tt id="link-11" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-11', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name"> [...]
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">        <tt class="py-string">"In instant.build_module: Expecting bool."</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"> </tt>
-<a name="assert_is_str_list"></a><div id="assert_is_str_list-def"><a name="L23"></a><tt class="py-lineno"> 23</tt> <a class="py-toggle" href="#" id="assert_is_str_list-toggle" onclick="return toggle('assert_is_str_list');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#assert_is_str_list">assert_is_str_list</a><tt class="py-op">(</tt><tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="assert_is_str_list-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="assert_is_str_list-expanded"><a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt id="link-12" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-12', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="p [...]
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">        <tt class="py-string">"In instant.build_module: Expecting sequence."</tt><tt class="py-op">)</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">    <tt id="link-13" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-13', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op [...]
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-string">"In instant.build_module: Expecting sequence of strings."</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"> </tt>
-<a name="strip_strings"></a><div id="strip_strings-def"><a name="L29"></a><tt class="py-lineno"> 29</tt> <a class="py-toggle" href="#" id="strip_strings-toggle" onclick="return toggle('strip_strings');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#strip_strings">strip_strings</a><tt class="py-op">(</tt><tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="strip_strings-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="strip_strings-expanded"><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">    <tt id="link-14" class="py-name" targets="Function instant.build.assert_is_str_list()=instant.build-module.html#assert_is_str_list"><a title="instant.build.assert_is_str_list" class="py-name" href="#" onclick="return doclink('link-14', 'assert_is_str_list', 'link-14');">assert_is_str_list</a> [...]
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">[</tt><tt class="py-name">s</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">s</tt> <tt class="py-keyword">in</tt> <tt class="py-name">x</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"> </tt>
-<a name="arg_strings"></a><div id="arg_strings-def"><a name="L33"></a><tt class="py-lineno"> 33</tt> <a class="py-toggle" href="#" id="arg_strings-toggle" onclick="return toggle('arg_strings');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#arg_strings">arg_strings</a><tt class="py-op">(</tt><tt class="py-param">x</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="arg_strings-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="arg_strings-expanded"><a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-15" class="py-name" targets="Function instant.build.strip_strings()=instant.build-module.html#strip_strings"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-15', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"> </tt>
-<a name="copy_files"></a><div id="copy_files-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="copy_files-toggle" onclick="return toggle('copy_files');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#copy_files">copy_files</a><tt class="py-op">(</tt><tt class="py-param">source</tt><tt class="py-op">,</tt> <tt class="py-param">dest</tt><tt class="py-op">,</tt> <tt class="py-param">files< [...]
-</div><div id="copy_files-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="copy_files-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-docstring">"""Copy a list of files from a source directory to a destination directory.</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">    This may seem a bit complicated, but a lot of this code is error checking."""</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">dest</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">overwriting</tt> <tt class="py-op">=</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">files</tt><tt class="py-op">)</tt> <tt class="py-op">&</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">glob</tt><tt class="py-op">.</tt><tt class="py-name">glob</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt cla [...]
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">overwriting</tt><tt class="py-op">:</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt id="link-16" class="py-name" targets="Function instant.output.instant_warning()=instant.output-module.html#instant_warning"><a title="instant.output.instant_warning" class="py-name" href="#" onclick="return doclink('link-16', 'instant_warning', 'link-16');">instant_warning</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.copy_files: Path '%s' already exists, "</tt>\ </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">                <tt class="py-string">"overwriting existing files: %r."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">dest</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">overwriting</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">dest</tt><tt class="py-op">)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">     </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">source</tt> <tt class="py-op">!=</tt> <tt class="py-name">dest</tt><tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt id="link-17" class="py-name" targets="Function instant.output.instant_debug()=instant.output-module.html#instant_debug"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-17', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.copy_files: Copying files %r from %r to %r"</tt>\ </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">            <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">files</tt><tt class="py-op">,</tt> <tt class="py-name">source</tt><tt class="py-op">,</tt> <tt class="py-name">dest</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">         </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">files</tt><tt class="py-op">:</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">source</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">dest</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt id="link-18" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-18', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt> <tt class="py-op">!=</tt> <tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">"In instant.copy_files: Seems like the "</tt>\ </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">                <tt class="py-string">"input files are absolute paths, should be relative to "</tt>\ </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                <tt class="py-string">"source. (%r, %r)"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt id="link-19" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-19', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isfile</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py [...]
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                <tt class="py-string">"Missing source file '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isfile</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">copyfile</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"> </tt>
-<a name="recompile"></a><div id="recompile-def"><a name="L67"></a><tt class="py-lineno"> 67</tt> <a class="py-toggle" href="#" id="recompile-toggle" onclick="return toggle('recompile');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#recompile">recompile</a><tt class="py-op">(</tt><tt class="py-param">modulename</tt><tt class="py-op">,</tt> <tt class="py-param">module_path</tt><tt class="py-op">,</tt> <tt class="py-param">s [...]
-</div><div id="recompile-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="recompile-expanded"><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-docstring">"""Recompile module if the new checksum is different from</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring">    the one in the checksum file in the module directory."""</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-comment"># Check if the old checksum matches the new one</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">    <tt class="py-name">compilation_checksum_filename</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s.checksum"</tt> <tt class="py-op">%</tt> <tt class="py-name">modulename</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">compilation_checksum_filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">checksum_file</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">compilation_checksum_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-name">old_compilation_checksum</tt> <tt class="py-op">=</tt> <tt class="py-name">checksum_file</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-name">checksum_file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">old_compilation_checksum</tt> <tt class="py-op">==</tt> <tt class="py-name">new_compilation_checksum</tt><tt class="py-op">:</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">     </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">    <tt class="py-comment"># Verify that SWIG is on the system</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt class="py-name">swig_stat</tt><tt class="py-op">,</tt> <tt class="py-name">swig_out</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt id="link-20" class="py-name" targets="Function instant.output.get_status_output()=instant.output-module.html#get_status_output"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-20', 'get_status_outp [...]
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">swig_stat</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt id="link-21" class="py-name" targets="Function instant.output.instant_error()=instant.output-module.html#instant_error"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-21', 'instant_error', 'link-21');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.recompile: Could not find swig!"</tt>\ </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt class="py-string">" You can download swig from http://www.swig.org"</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">     </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">    <tt class="py-comment"># Create log file for logging of compilation errors</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">    <tt class="py-name">compile_log_filename</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">,</tt> <tt class="py-string">"compile.log"</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">    <tt class="py-name">compile_log_file</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">compile_log_filename</tt><tt class="py-op">,</tt> <tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-comment"># Build module</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"python %s build_ext"</tt> <tt class="py-op">%</tt> <tt class="py-name">setup_name</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt id="link-22" class="py-name" targets="Function instant.output.instant_info()=instant.output-module.html#instant_info"><a title="instant.output.instant_info" class="py-name" href="#" onclick="return doclink('link-22', 'instant_info', 'link-22');">instant_info</a></tt><tt class="py-op">(</tt><tt class="py-string">"--- Instant: compiling ---"</tt><tt class="py-op">)</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt id="link-23" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-23', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"cmd = %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">ret</tt><tt class="py-op">,</tt> <tt id="link-24" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-24', 'output', 'link-0');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-25', 'get_status_output', 'link-20');">get_stat [...]
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">compile_log_file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-26', 'output', 'link-0');">output</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">compile_log_file</tt><tt class="py-op">.</tt><tt class="py-name">flush</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">ret</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">compilation_checksum_filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">compilation_checksum_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt id="link-27" class="py-name"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-27', 'instant_error', 'link-21');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.recompile: The module did not "</tt>\ </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                <tt class="py-string">"compile, see '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-name">compile_log_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">         </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-comment"># 'Install' module</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">cmd</tt> <tt class="py-op">=</tt> <tt class="py-string">"python %s install --install-platlib=."</tt> <tt class="py-op">%</tt> <tt class="py-name">setup_name</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt id="link-28" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-28', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"cmd = %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">ret</tt><tt class="py-op">,</tt> <tt id="link-29" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-29', 'output', 'link-0');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-30', 'get_status_output', 'link-20');">get_sta [...]
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">        <tt class="py-name">compile_log_file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-31', 'output', 'link-0');">output</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-name">compile_log_file</tt><tt class="py-op">.</tt><tt class="py-name">flush</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">ret</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">compilation_checksum_filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">compilation_checksum_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt id="link-32" class="py-name"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-32', 'instant_error', 'link-21');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.recompile: Could not 'install' "</tt>\ </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">                <tt class="py-string">"the module, see '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-name">compile_log_filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">compile_log_file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">     </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">    <tt class="py-comment"># Compilation succeeded, write new_compilation_checksum to checksum_file</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">    <tt id="link-33" class="py-name" targets="Function instant.output.write_file()=instant.output-module.html#write_file"><a title="instant.output.write_file" class="py-name" href="#" onclick="return doclink('link-33', 'write_file', 'link-33');">write_file</a></tt><tt class="py-op">(</tt><tt class="py-name">compilation_checksum_filename</tt><tt class="py-op">,</tt> <tt class="py-name">new_compilation_checksum</tt><tt  [...]
-</div><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"> </tt>
-<a name="copy_to_cache"></a><div id="copy_to_cache-def"><a name="L120"></a><tt class="py-lineno">120</tt> <a class="py-toggle" href="#" id="copy_to_cache-toggle" onclick="return toggle('copy_to_cache');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#copy_to_cache">copy_to_cache</a><tt class="py-op">(</tt><tt class="py-param">module_path</tt><tt class="py-op">,</tt> <tt class="py-param">cache_dir</tt><tt class="py-op">,</tt [...]
-</div><div id="copy_to_cache-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="copy_to_cache-expanded"><a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">    <tt class="py-docstring">"Copy module directory to cache."</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">    <tt class="py-comment"># Get lock, check if the module exists, _otherwise_ copy the</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">    <tt class="py-comment"># finished compiled module from /tmp/foo to the cache directory,</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">    <tt class="py-comment"># and then release lock</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">    <tt class="py-name">lock</tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="instant.locking.get_lock" class="py-name" href="#" onclick="return doclink('link-34', 'get_lock', 'link-8');">get_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">    <tt class="py-comment"># Validate the path</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">    <tt class="py-name">cache_module_path</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">cache_module_path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        <tt class="py-comment"># This indicates a race condition has happened (and is being avoided!).</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt id="link-35" class="py-name"><a title="instant.output.instant_warning" class="py-name" href="#" onclick="return doclink('link-35', 'instant_warning', 'link-16');">instant_warning</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.build_module: Path '%s' already exists,"</tt>\ </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-string">" but module wasn't found in cache previously. Not overwriting,"</tt>\ </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">            <tt class="py-string">" assuming this module is valid."</tt> <tt class="py-op">%</tt> <tt class="py-name">cache_module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">         </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt id="link-36" class="py-name"><a title="instant.locking.release_lock" class="py-name" href="#" onclick="return doclink('link-36', 'release_lock', 'link-9');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">cache_module_path</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">         </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-comment"># Not deleting anymore, relying on locking system</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-comment">#shutil.rmtree(cache_module_path, ignore_errors=True)</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">     </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">    <tt class="py-comment"># Error checks</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">    <tt id="link-37" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-37', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class=" [...]
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-string">" Cannot copy non-existing directory %r!"</tt> <tt class="py-op">%</tt> <tt class="py-name">module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">    <tt id="link-38" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-38', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt class="py-n [...]
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-string">"In instant.build_module: Cache directory %r shouldn't exist "</tt>\ </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-string">"at this point!"</tt> <tt class="py-op">%</tt> <tt class="py-name">cache_module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">    <tt id="link-39" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-39', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.build_module: Copying built module from %r"</tt>\ </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-string">" to cache at %r"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">,</tt> <tt class="py-name">cache_module_path</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">     </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">    <tt class="py-comment"># Do the copying</tt> </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">    <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">copytree</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">,</tt> <tt class="py-name">cache_module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">    <tt id="link-40" class="py-name" targets="Function instant.paths.delete_temp_dir()=instant.paths-module.html#delete_temp_dir"><a title="instant.paths.delete_temp_dir" class="py-name" href="#" onclick="return doclink('link-40', 'delete_temp_dir', 'link-40');">delete_temp_dir</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">    <tt id="link-41" class="py-name"><a title="instant.locking.release_lock" class="py-name" href="#" onclick="return doclink('link-41', 'release_lock', 'link-9');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">cache_module_path</tt> </tt>
-</div><a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"> </tt>
-<a name="build_module"></a><div id="build_module-def"><a name="L157"></a><tt class="py-lineno">157</tt> <a class="py-toggle" href="#" id="build_module-toggle" onclick="return toggle('build_module');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.build-module.html#build_module">build_module</a><tt class="py-op">(</tt><tt class="py-param">modulename</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="p [...]
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">                 <tt class="py-param">code</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">init_code</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">                 <tt class="py-param">additional_definitions</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-param">additional_declarations</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">                 <tt class="py-param">sources</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-param">wrap_headers</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">                 <tt class="py-param">local_headers</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-param">system_headers</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">                 <tt class="py-param">include_dirs</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'.'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-param">library_dirs</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-param">libraries</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</ [...]
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">                 <tt class="py-param">swigargs</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'-c++'</tt><tt class="py-op">,</tt> <tt class="py-string">'-fcompact'</tt><tt class="py-op">,</tt> <tt class="py-string">'-O'</tt><tt class="py-op">,</tt> <tt class="py-string">'-I.'</tt><tt class="py-op">,</tt> <tt class="py-string">'-small'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">                 <tt class="py-param">swig_include_dirs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">                 <tt class="py-param">cppargs</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'-O2'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-param">lddargs</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">                 <tt class="py-param">object_files</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-param">arrays</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">                 <tt class="py-param">generate_interface</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-param">generate_setup</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">                 <tt class="py-param">signature</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">cache_dir</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="build_module-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="build_module-expanded"><a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">    <tt class="py-docstring">"""Generate and compile a module from C/C++ code using SWIG.</tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-docstring">    Arguments: </tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">    ==========</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-docstring">    The keyword arguments are as follows:</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-docstring">      - B{modulename}:</tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring">        - The name you want for the module.</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-docstring">          If specified, the module will not be cached.</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring">          If missing, a name will be constructed based on</tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-docstring">          a checksum of the other arguments, and the module</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-docstring">          will be placed in the global cache. String.</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-docstring">      - B{source_directory}:</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"><tt class="py-docstring">        - The directory where user supplied files reside. The files</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"><tt class="py-docstring">        given in B{sources}, B{wrap_headers}, and B{local_headers}</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"><tt class="py-docstring">        are expected to exist in this directory. String.</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-docstring">      - B{code}:</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-docstring">        - A string containing C or C++ code to be compiled and wrapped. String.</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-docstring">      - B{init_code}:</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-docstring">        - Code that should be executed when the Instant module is</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-docstring">        imported. This code is inserted in the SWIG interface file, and is</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"><tt class="py-docstring">        used for instance for calling C{import_array()} used for the</tt> </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"><tt class="py-docstring">        initialization of NumPy arrays. String.</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line"><tt class="py-docstring">      - B{additional_definitions}:</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"><tt class="py-docstring">        - Additional definitions (typically needed for inheritance)</tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"><tt class="py-docstring">        for interface file. These definitions should be given as triple-quoted</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line"><tt class="py-docstring">        strings in the case they span multiple lines, and are placed both in the</tt> </tt>
-<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line"><tt class="py-docstring">        initial block for C/C++ code (C{%{,%}}-block), and the main section</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line"><tt class="py-docstring">        of the interface file. String.</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"><tt class="py-docstring">      - B{additional_declarations}:</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line"><tt class="py-docstring">        - Additional declarations (typically needed for inheritance)</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line"><tt class="py-docstring">        for interface file. These declarations should be given as triple-quoted</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"><tt class="py-docstring">        strings in the case they span multiple lines, and are plaves in the main</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line"><tt class="py-docstring">        section of the interface file. String.</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"><tt class="py-docstring">      - B{sources}:</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line"><tt class="py-docstring">        - Source files to compile and link with the module. These</tt> </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line"><tt class="py-docstring">        files are compiled togehter with the SWIG-generated wrapper file into</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line"><tt class="py-docstring">        the final library file. Should reside in directory specified in</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line"><tt class="py-docstring">        B{source_directory}. List of strings.</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line"><tt class="py-docstring">      - B{wrap_headers}:</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line"><tt class="py-docstring">        - Local header files that should be wrapped by SWIG. The</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line"><tt class="py-docstring">        files specified will be included both in the initial block for C/C++ code</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"><tt class="py-docstring">        (with a C directive) and in the main section of the interface file (with</tt> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line"><tt class="py-docstring">        a SWIG directive). Should reside in directory specified in</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line"><tt class="py-docstring">        B{source_directory}. List of strings.</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"><tt class="py-docstring">      - B{local_headers}:</tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"><tt class="py-docstring">        - Local header files required to compile the wrapped</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"><tt class="py-docstring">        code. The files specified will be included in the initial block for</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"><tt class="py-docstring">        C/C++ code (with a C directive). Should reside in directory specified in</tt> </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line"><tt class="py-docstring">        B{source_directory}. List of strings.</tt> </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"><tt class="py-docstring">      - B{system_headers}:</tt> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"><tt class="py-docstring">        - System header files required to compile the wrapped</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line"><tt class="py-docstring">        code. The files specified will be included in the initial block for C/C++</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line"><tt class="py-docstring">        code (with a C directive). List of strings.</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line"><tt class="py-docstring">      - B{include_dirs}:</tt> </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line"><tt class="py-docstring">        - Directories to search for header files for building the</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line"><tt class="py-docstring">        extension module. Needs to be absolute path names. List of strings.</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-docstring">      - B{library_dirs}:</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-docstring">        - Directories to search for libraries (C{-l}) for building</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-docstring">        the extension module. Needs to be absolute paths. List of strings.</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-docstring">      - B{libraries}:</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-docstring">        -  Libraries needed by the Instant module. The libraries will</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-docstring">        be linked in from the shared object file. The initial C{-l} is added</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-docstring">        automatically. List of strings.</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-docstring">      - B{swigargs}:</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-docstring">        - List of arguments to swig, e.g. C{["-lpointers.i"]}</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-docstring">          to include the SWIG pointers.i library.</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-docstring">      - B{swig_include_dirs}:</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-docstring">        - A list of directories to include in the 'swig' command.</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-docstring">      - B{cppargs}:</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"><tt class="py-docstring">        - List of arguments to the compiler, e.g. C{["-Wall", "-fopenmp"]}.</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"><tt class="py-docstring">      - B{lddargs}:</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line"><tt class="py-docstring">        - List of arguments to the linker, e.g. C{["-E", "-U"]}.</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line"><tt class="py-docstring">      - B{object_files}:</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"><tt class="py-docstring">        - If you want to compile the files yourself. TODO: Not yet supported.</tt> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"><tt class="py-docstring">      - B{arrays}:</tt> </tt>
-<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"><tt class="py-docstring">        - A nested list describing the C arrays to be made from NumPy arrays.</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"><tt class="py-docstring">          If the NumPy array is 1D, the inner list should contain strings with</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"><tt class="py-docstring">          the variable names for length of the array and the array itself.</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring">          If the NumPy array is a matrix or a tensor, the inner list should</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"><tt class="py-docstring">          contain strings with variable names for the number of dimensions,</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"><tt class="py-docstring">          the length in each dimension, and the array itself, respectively.</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"><tt class="py-docstring">      - B{generate_interface}:</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line"><tt class="py-docstring">        - A bool to indicate if you want to generate the interface files.</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line"><tt class="py-docstring">      - B{generate_setup}:</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line"><tt class="py-docstring">        - A bool to indicate if you want to generate the setup.py file.</tt> </tt>
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line"><tt class="py-docstring">      - B{signature}:</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line"><tt class="py-docstring">        - A signature string to identify the form instead of the source code.</tt> </tt>
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"><tt class="py-docstring">      - B{cache_dir}:</tt> </tt>
-<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"><tt class="py-docstring">        - A directory to look for cached modules and place new ones.</tt> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"><tt class="py-docstring">          If missing, a default directory is used. Note that the module</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line"><tt class="py-docstring">          will not be cached if B{modulename} is specified.</tt> </tt>
-<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line"><tt class="py-docstring">          The cache directory should not be used for anything else.</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">     </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">    <tt class="py-comment"># Store original directory to be able to restore later</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-name">original_path</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">    <tt class="py-comment"># --- Validate arguments </tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">     </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">    <tt id="link-42" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-42', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">modulename</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> <tt class="py-keyword">or</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name [...]
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">        <tt class="py-string">"In instant.build_module: Expecting modulename to be string or None."</tt><tt class="py-op">)</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">    <tt id="link-43" class="py-name" targets="Function instant.build.assert_is_str()=instant.build-module.html#assert_is_str"><a title="instant.build.assert_is_str" class="py-name" href="#" onclick="return doclink('link-43', 'assert_is_str', 'link-43');">assert_is_str</a></tt><tt class="py-op">(</tt><tt class="py-name">source_directory</tt><tt class="py-op">)</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">    <tt class="py-name">source_directory</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">abspath</tt><tt class="py-op">(</tt><tt class="py-name">source_directory</tt><tt class="py-op">)</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">    <tt id="link-44" class="py-name"><a title="instant.build.assert_is_str" class="py-name" href="#" onclick="return doclink('link-44', 'assert_is_str', 'link-43');">assert_is_str</a></tt><tt class="py-op">(</tt><tt class="py-name">code</tt><tt class="py-op">)</tt> </tt>
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">    <tt id="link-45" class="py-name"><a title="instant.build.assert_is_str" class="py-name" href="#" onclick="return doclink('link-45', 'assert_is_str', 'link-43');">assert_is_str</a></tt><tt class="py-op">(</tt><tt class="py-name">init_code</tt><tt class="py-op">)</tt> </tt>
-<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">    <tt id="link-46" class="py-name"><a title="instant.build.assert_is_str" class="py-name" href="#" onclick="return doclink('link-46', 'assert_is_str', 'link-43');">assert_is_str</a></tt><tt class="py-op">(</tt><tt class="py-name">additional_definitions</tt><tt class="py-op">)</tt> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">    <tt id="link-47" class="py-name"><a title="instant.build.assert_is_str" class="py-name" href="#" onclick="return doclink('link-47', 'assert_is_str', 'link-43');">assert_is_str</a></tt><tt class="py-op">(</tt><tt class="py-name">additional_declarations</tt><tt class="py-op">)</tt> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">    <tt class="py-name">sources</tt>           <tt class="py-op">=</tt> <tt id="link-48" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-48', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">sources</tt><tt class="py-op">)</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">    <tt class="py-name">wrap_headers</tt>      <tt class="py-op">=</tt> <tt id="link-49" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-49', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">wrap_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">    <tt class="py-name">local_headers</tt>     <tt class="py-op">=</tt> <tt id="link-50" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-50', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">local_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">    <tt class="py-name">system_headers</tt>    <tt class="py-op">=</tt> <tt id="link-51" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-51', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">system_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">    <tt class="py-name">include_dirs</tt>      <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-52', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">include_dirs</tt><tt class="py-op">)</tt> </tt>
-<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">    <tt class="py-name">library_dirs</tt>      <tt class="py-op">=</tt> <tt id="link-53" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-53', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">library_dirs</tt><tt class="py-op">)</tt> </tt>
-<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">    <tt class="py-name">libraries</tt>         <tt class="py-op">=</tt> <tt id="link-54" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-54', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">libraries</tt><tt class="py-op">)</tt> </tt>
-<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">    <tt class="py-name">swigargs</tt>          <tt class="py-op">=</tt> <tt id="link-55" class="py-name" targets="Function instant.build.arg_strings()=instant.build-module.html#arg_strings"><a title="instant.build.arg_strings" class="py-name" href="#" onclick="return doclink('link-55', 'arg_strings', 'link-55');">arg_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">swigargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">    <tt class="py-name">swig_include_dirs</tt> <tt class="py-op">=</tt> <tt id="link-56" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-56', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">swig_include_dirs</tt><tt class="py-op">)</tt> </tt>
-<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">    <tt class="py-name">cppargs</tt>           <tt class="py-op">=</tt> <tt id="link-57" class="py-name"><a title="instant.build.arg_strings" class="py-name" href="#" onclick="return doclink('link-57', 'arg_strings', 'link-55');">arg_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">cppargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">    <tt class="py-name">lddargs</tt>           <tt class="py-op">=</tt> <tt id="link-58" class="py-name"><a title="instant.build.arg_strings" class="py-name" href="#" onclick="return doclink('link-58', 'arg_strings', 'link-55');">arg_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">lddargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">    <tt class="py-name">object_files</tt>      <tt class="py-op">=</tt> <tt id="link-59" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-59', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">object_files</tt><tt class="py-op">)</tt> </tt>
-<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">    <tt class="py-name">arrays</tt>            <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-60" class="py-name"><a title="instant.build.strip_strings" class="py-name" href="#" onclick="return doclink('link-60', 'strip_strings', 'link-15');">strip_strings</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt cla [...]
-<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">    <tt id="link-61" class="py-name" targets="Function instant.build.assert_is_bool()=instant.build-module.html#assert_is_bool"><a title="instant.build.assert_is_bool" class="py-name" href="#" onclick="return doclink('link-61', 'assert_is_bool', 'link-61');">assert_is_bool</a></tt><tt class="py-op">(</tt><tt class="py-name">generate_interface</tt><tt class="py-op">)</tt> </tt>
-<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">    <tt id="link-62" class="py-name"><a title="instant.build.assert_is_bool" class="py-name" href="#" onclick="return doclink('link-62', 'assert_is_bool', 'link-61');">assert_is_bool</a></tt><tt class="py-op">(</tt><tt class="py-name">generate_setup</tt><tt class="py-op">)</tt> </tt>
-<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">    <tt id="link-63" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-63', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt>   <tt class="py-name">signature</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt> \ </tt>
-<a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line">                   <tt class="py-keyword">or</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">signature</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt> \ </tt>
-<a name="L293"></a><tt class="py-lineno">293</tt>  <tt class="py-line">                   <tt class="py-keyword">or</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">signature</tt><tt class="py-op">,</tt> <tt class="py-string">"signature"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L294"></a><tt class="py-lineno">294</tt>  <tt class="py-line">        <tt class="py-string">"In instant.build_module: Expecting modulename to be string or None."</tt><tt class="py-op">)</tt> </tt>
-<a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line">    <tt id="link-64" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-64', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-op">(</tt><tt class="py-name">signature</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword [...]
-<a name="L296"></a><tt class="py-lineno">296</tt>  <tt class="py-line">        <tt class="py-string">"In instant.build_module: Can't have both modulename and signature."</tt><tt class="py-op">)</tt> </tt>
-<a name="L297"></a><tt class="py-lineno">297</tt>  <tt class="py-line">     </tt>
-<a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">    <tt class="py-comment"># --- Replace arguments with defaults if necessary</tt> </tt>
-<a name="L299"></a><tt class="py-lineno">299</tt>  <tt class="py-line">     </tt>
-<a name="L300"></a><tt class="py-lineno">300</tt>  <tt class="py-line">    <tt class="py-name">cache_dir</tt> <tt class="py-op">=</tt> <tt id="link-65" class="py-name" targets="Function instant.paths.validate_cache_dir()=instant.paths-module.html#validate_cache_dir"><a title="instant.paths.validate_cache_dir" class="py-name" href="#" onclick="return doclink('link-65', 'validate_cache_dir', 'link-65');">validate_cache_dir</a></tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt>< [...]
-<a name="L301"></a><tt class="py-lineno">301</tt>  <tt class="py-line">     </tt>
-<a name="L302"></a><tt class="py-lineno">302</tt>  <tt class="py-line">    <tt class="py-comment"># Split sources by file-suffix (.c or .cpp)</tt> </tt>
-<a name="L303"></a><tt class="py-lineno">303</tt>  <tt class="py-line">    <tt class="py-name">csrcs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">f</tt> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sources</tt> <tt class="py-keyword">if</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'.c'</tt><tt class="py-op"> [...]
-<a name="L304"></a><tt class="py-lineno">304</tt>  <tt class="py-line">    <tt class="py-name">cppsrcs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">f</tt> <tt class="py-keyword">for</tt> <tt class="py-name">f</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sources</tt> <tt class="py-keyword">if</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'.cpp'</tt><tt class="py- [...]
-<a name="L305"></a><tt class="py-lineno">305</tt>  <tt class="py-line">    <tt id="link-66" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-66', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">csrcs</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">c [...]
-<a name="L306"></a><tt class="py-lineno">306</tt>  <tt class="py-line">        <tt class="py-string">"In instant.build_module: Source files must have '.c' or '.cpp' suffix"</tt><tt class="py-op">)</tt> </tt>
-<a name="L307"></a><tt class="py-lineno">307</tt>  <tt class="py-line">     </tt>
-<a name="L308"></a><tt class="py-lineno">308</tt>  <tt class="py-line">    <tt class="py-comment"># --- Debugging code</tt> </tt>
-<a name="L309"></a><tt class="py-lineno">309</tt>  <tt class="py-line">    <tt id="link-67" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-67', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'In instant.build_module:'</tt><tt class="py-op">)</tt> </tt>
-<a name="L310"></a><tt class="py-lineno">310</tt>  <tt class="py-line">    <tt id="link-68" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-68', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'::: Begin Arguments :::'</tt><tt class="py-op">)</tt> </tt>
-<a name="L311"></a><tt class="py-lineno">311</tt>  <tt class="py-line">    <tt id="link-69" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-69', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    modulename: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L312"></a><tt class="py-lineno">312</tt>  <tt class="py-line">    <tt id="link-70" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-70', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    source_directory: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">source_directory</tt><tt class="py-op">)</tt> </tt>
-<a name="L313"></a><tt class="py-lineno">313</tt>  <tt class="py-line">    <tt id="link-71" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-71', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    code: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">code</tt><tt class="py-op">)</tt> </tt>
-<a name="L314"></a><tt class="py-lineno">314</tt>  <tt class="py-line">    <tt id="link-72" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-72', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    init_code: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">init_code</tt><tt class="py-op">)</tt> </tt>
-<a name="L315"></a><tt class="py-lineno">315</tt>  <tt class="py-line">    <tt id="link-73" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-73', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    additional_definitions: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">additional_definitions</tt><tt class="py-op">)</tt> </tt>
-<a name="L316"></a><tt class="py-lineno">316</tt>  <tt class="py-line">    <tt id="link-74" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-74', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    additional_declarations: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">additional_declarations</tt><tt class="py-op">)</tt> </tt>
-<a name="L317"></a><tt class="py-lineno">317</tt>  <tt class="py-line">    <tt id="link-75" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-75', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    sources: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">sources</tt><tt class="py-op">)</tt> </tt>
-<a name="L318"></a><tt class="py-lineno">318</tt>  <tt class="py-line">    <tt id="link-76" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-76', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    csrcs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">csrcs</tt><tt class="py-op">)</tt> </tt>
-<a name="L319"></a><tt class="py-lineno">319</tt>  <tt class="py-line">    <tt id="link-77" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-77', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    cppsrcs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">cppsrcs</tt><tt class="py-op">)</tt> </tt>
-<a name="L320"></a><tt class="py-lineno">320</tt>  <tt class="py-line">    <tt id="link-78" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-78', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    wrap_headers: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">wrap_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L321"></a><tt class="py-lineno">321</tt>  <tt class="py-line">    <tt id="link-79" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-79', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    local_headers: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">local_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L322"></a><tt class="py-lineno">322</tt>  <tt class="py-line">    <tt id="link-80" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-80', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    system_headers: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">system_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L323"></a><tt class="py-lineno">323</tt>  <tt class="py-line">    <tt id="link-81" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-81', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    include_dirs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">include_dirs</tt><tt class="py-op">)</tt> </tt>
-<a name="L324"></a><tt class="py-lineno">324</tt>  <tt class="py-line">    <tt id="link-82" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-82', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    library_dirs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">library_dirs</tt><tt class="py-op">)</tt> </tt>
-<a name="L325"></a><tt class="py-lineno">325</tt>  <tt class="py-line">    <tt id="link-83" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-83', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    libraries: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">libraries</tt><tt class="py-op">)</tt> </tt>
-<a name="L326"></a><tt class="py-lineno">326</tt>  <tt class="py-line">    <tt id="link-84" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-84', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    swigargs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">swigargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L327"></a><tt class="py-lineno">327</tt>  <tt class="py-line">    <tt id="link-85" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-85', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    swig_include_dirs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">swig_include_dirs</tt><tt class="py-op">)</tt> </tt>
-<a name="L328"></a><tt class="py-lineno">328</tt>  <tt class="py-line">    <tt id="link-86" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-86', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    cppargs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">cppargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L329"></a><tt class="py-lineno">329</tt>  <tt class="py-line">    <tt id="link-87" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-87', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    lddargs: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">lddargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L330"></a><tt class="py-lineno">330</tt>  <tt class="py-line">    <tt id="link-88" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-88', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    object_files: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">object_files</tt><tt class="py-op">)</tt> </tt>
-<a name="L331"></a><tt class="py-lineno">331</tt>  <tt class="py-line">    <tt id="link-89" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-89', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    arrays: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">arrays</tt><tt class="py-op">)</tt> </tt>
-<a name="L332"></a><tt class="py-lineno">332</tt>  <tt class="py-line">    <tt id="link-90" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-90', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    generate_interface: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">generate_interface</tt><tt class="py-op">)</tt> </tt>
-<a name="L333"></a><tt class="py-lineno">333</tt>  <tt class="py-line">    <tt id="link-91" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-91', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    generate_setup: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">generate_setup</tt><tt class="py-op">)</tt> </tt>
-<a name="L334"></a><tt class="py-lineno">334</tt>  <tt class="py-line">    <tt id="link-92" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-92', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    signature: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">signature</tt><tt class="py-op">)</tt> </tt>
-<a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">    <tt id="link-93" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-93', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'    cache_dir: %r'</tt> <tt class="py-op">%</tt> <tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line">    <tt id="link-94" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-94', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">'::: End Arguments :::'</tt><tt class="py-op">)</tt> </tt>
-<a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line"> </tt>
-<a name="L338"></a><tt class="py-lineno">338</tt>  <tt class="py-line">    <tt class="py-comment"># --- Setup module directory, making it and copying</tt> </tt>
-<a name="L339"></a><tt class="py-lineno">339</tt>  <tt class="py-line">    <tt class="py-comment">#     files to it if necessary, and compute a modulename</tt> </tt>
-<a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">    <tt class="py-comment">#     if it isn't specified explicitly</tt> </tt>
-<a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line">     </tt>
-<a name="L342"></a><tt class="py-lineno">342</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">modulename</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">        <tt class="py-comment"># Compute a signature if we have none passed by the user:</tt> </tt>
-<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">signature</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">            <tt class="py-comment"># Collect arguments used for checksum creation,</tt> </tt>
-<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">            <tt class="py-comment"># including everything that affects the interface</tt> </tt>
-<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">            <tt class="py-comment"># file generation and module compilation.</tt> </tt>
-<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">            <tt class="py-name">checksum_args</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> \ </tt>
-<a name="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line">                <tt class="py-comment"># We don't care about the modulename, that's what we're trying to construct!</tt> </tt>
-<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">                <tt class="py-comment">#modulename,</tt> </tt>
-<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">                <tt class="py-comment"># We don't care where the user code resides:</tt> </tt>
-<a name="L352"></a><tt class="py-lineno">352</tt>  <tt class="py-line">                <tt class="py-comment">#source_directory,</tt> </tt>
-<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">                <tt class="py-name">code</tt><tt class="py-op">,</tt> <tt class="py-name">init_code</tt><tt class="py-op">,</tt> </tt>
-<a name="L354"></a><tt class="py-lineno">354</tt>  <tt class="py-line">                <tt class="py-name">additional_definitions</tt><tt class="py-op">,</tt> </tt>
-<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">                <tt class="py-name">additional_declarations</tt><tt class="py-op">,</tt> </tt>
-<a name="L356"></a><tt class="py-lineno">356</tt>  <tt class="py-line">                <tt class="py-comment"># Skipping filenames, since we use the file contents:</tt> </tt>
-<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">                <tt class="py-comment">#sources, wrap_headers,</tt> </tt>
-<a name="L358"></a><tt class="py-lineno">358</tt>  <tt class="py-line">                <tt class="py-comment">#local_headers,</tt> </tt>
-<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">                <tt class="py-name">system_headers</tt><tt class="py-op">,</tt> </tt>
-<a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line">                <tt class="py-name">include_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">library_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">libraries</tt><tt class="py-op">,</tt> </tt>
-<a name="L361"></a><tt class="py-lineno">361</tt>  <tt class="py-line">                <tt class="py-name">swig_include_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">swigargs</tt><tt class="py-op">,</tt> <tt class="py-name">cppargs</tt><tt class="py-op">,</tt> <tt class="py-name">lddargs</tt><tt class="py-op">,</tt> </tt>
-<a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">                <tt class="py-name">object_files</tt><tt class="py-op">,</tt> <tt class="py-name">arrays</tt><tt class="py-op">,</tt> </tt>
-<a name="L363"></a><tt class="py-lineno">363</tt>  <tt class="py-line">                <tt class="py-name">generate_interface</tt><tt class="py-op">,</tt> <tt class="py-name">generate_setup</tt><tt class="py-op">,</tt> </tt>
-<a name="L364"></a><tt class="py-lineno">364</tt>  <tt class="py-line">                <tt class="py-comment"># The signature isn't defined, and the cache_dir doesn't affect the module:</tt> </tt>
-<a name="L365"></a><tt class="py-lineno">365</tt>  <tt class="py-line">                <tt class="py-comment">#signature, cache_dir)</tt> </tt>
-<a name="L366"></a><tt class="py-lineno">366</tt>  <tt class="py-line">                <tt class="py-op">)</tt> </tt>
-<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">            <tt class="py-name">allfiles</tt> <tt class="py-op">=</tt> <tt class="py-name">sources</tt> <tt class="py-op">+</tt> <tt class="py-name">wrap_headers</tt> <tt class="py-op">+</tt> <tt class="py-name">local_headers</tt> </tt>
-<a name="L368"></a><tt class="py-lineno">368</tt>  <tt class="py-line">            <tt class="py-name">allfiles</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">source_directory</tt><tt class="py-op">,</tt> <tt class="py-name">file</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-nam [...]
-<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">            <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">checksum_ [...]
-<a name="L370"></a><tt class="py-lineno">370</tt>  <tt class="py-line">            <tt class="py-name">signature</tt> <tt class="py-op">=</tt> <tt id="link-95" class="py-name" targets="Function instant.cache.modulename_from_checksum()=instant.cache-module.html#modulename_from_checksum"><a title="instant.cache.modulename_from_checksum" class="py-name" href="#" onclick="return doclink('link-95', 'modulename_from_checksum', 'link-95');">modulename_from_checksum</a></tt><tt class="py-op">(</ [...]
-<a name="L371"></a><tt class="py-lineno">371</tt>  <tt class="py-line">            <tt class="py-name">modulename</tt> <tt class="py-op">=</tt> <tt class="py-name">signature</tt> </tt>
-<a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">            <tt class="py-name">moduleids</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">signature</tt><tt class="py-op">]</tt> </tt>
-<a name="L373"></a><tt class="py-lineno">373</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">            <tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">moduleids</tt> <tt class="py-op">=</tt> <tt id="link-97" class="py-name" targets="Function instant.cache.check_memory_cache()=instant.cache-module.html#check_memory_cache"><a title="instant.cache.check_memory_cache" class="py-name" href="#" onclick="return doclink('link-97', 'check_memory_cache', 'link-97');">check_memory_cache</a> [...]
-<a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-<a name="L376"></a><tt class="py-lineno">376</tt>  <tt class="py-line">            <tt class="py-name">modulename</tt> <tt class="py-op">=</tt> <tt class="py-name">moduleids</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line"> </tt>
-<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">        <tt class="py-comment"># Look for module in disk cache </tt> </tt>
-<a name="L379"></a><tt class="py-lineno">379</tt>  <tt class="py-line">        <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-98" class="py-name" targets="Function instant.cache.check_disk_cache()=instant.cache-module.html#check_disk_cache"><a title="instant.cache.check_disk_cache" class="py-name" href="#" onclick="return doclink('link-98', 'check_disk_cache', 'link-98');">check_disk_cache</a></tt><tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class [...]
-<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-<a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line">         </tt>
-<a name="L382"></a><tt class="py-lineno">382</tt>  <tt class="py-line">        <tt class="py-comment"># Make a temporary module path for compilation</tt> </tt>
-<a name="L383"></a><tt class="py-lineno">383</tt>  <tt class="py-line">        <tt class="py-name">module_path</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-99" class="py-name" targets="Function instant.paths.get_temp_dir()=instant.paths-module.html#get_temp_dir"><a title="instant.paths.get_temp_dir" class="py-name" href="#" onclick="re [...]
-<a name="L384"></a><tt class="py-lineno">384</tt>  <tt class="py-line">        <tt id="link-100" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-100', 'instant_assert', 'link-10');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt clas [...]
-<a name="L385"></a><tt class="py-lineno">385</tt>  <tt class="py-line">            <tt class="py-string">"In instant.build_module: Not expecting module_path to exist: '%s'"</tt>\ </tt>
-<a name="L386"></a><tt class="py-lineno">386</tt>  <tt class="py-line">            <tt class="py-op">%</tt> <tt class="py-name">module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L387"></a><tt class="py-lineno">387</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L388"></a><tt class="py-lineno">388</tt>  <tt class="py-line">        <tt class="py-name">use_cache</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L389"></a><tt class="py-lineno">389</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">        <tt class="py-name">use_cache</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L391"></a><tt class="py-lineno">391</tt>  <tt class="py-line">        <tt class="py-name">moduleids</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line">        <tt class="py-name">module_path</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">original_path</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L393"></a><tt class="py-lineno">393</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L394"></a><tt class="py-lineno">394</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line">         </tt>
-<a name="L396"></a><tt class="py-lineno">396</tt>  <tt class="py-line">        <tt class="py-comment">## Look for module in memory cache</tt> </tt>
-<a name="L397"></a><tt class="py-lineno">397</tt>  <tt class="py-line">        <tt class="py-comment">#module, moduleids = check_memory_cache(modulename)</tt> </tt>
-<a name="L398"></a><tt class="py-lineno">398</tt>  <tt class="py-line">        <tt class="py-comment">#if module: return module</tt> </tt>
-<a name="L399"></a><tt class="py-lineno">399</tt>  <tt class="py-line">        <tt class="py-comment">#instant_assert(modulename == moduleids[-1] and len(moduleids) == 1, "Logic breach.")</tt> </tt>
-<a name="L400"></a><tt class="py-lineno">400</tt>  <tt class="py-line">        <tt class="py-comment">## Look for module in local directory</tt> </tt>
-<a name="L401"></a><tt class="py-lineno">401</tt>  <tt class="py-line">        <tt class="py-comment">#module = check_disk_cache(modulename, original_path, moduleids)</tt> </tt>
-<a name="L402"></a><tt class="py-lineno">402</tt>  <tt class="py-line">        <tt class="py-comment">#if module: return module</tt> </tt>
-<a name="L403"></a><tt class="py-lineno">403</tt>  <tt class="py-line">     </tt>
-<a name="L404"></a><tt class="py-lineno">404</tt>  <tt class="py-line">    <tt class="py-comment"># Wrapping rest of code in try-block to </tt> </tt>
-<a name="L405"></a><tt class="py-lineno">405</tt>  <tt class="py-line">    <tt class="py-comment"># clean up at the end if something fails.</tt> </tt>
-<a name="L406"></a><tt class="py-lineno">406</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt>   </tt>
-<a name="L407"></a><tt class="py-lineno">407</tt>  <tt class="py-line">        <tt class="py-comment"># --- Copy user-supplied files to module path</tt> </tt>
-<a name="L408"></a><tt class="py-lineno">408</tt>  <tt class="py-line">         </tt>
-<a name="L409"></a><tt class="py-lineno">409</tt>  <tt class="py-line">        <tt class="py-name">module_path</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">abspath</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L410"></a><tt class="py-lineno">410</tt>  <tt class="py-line">        <tt class="py-name">files_to_copy</tt> <tt class="py-op">=</tt> <tt class="py-name">sources</tt> <tt class="py-op">+</tt> <tt class="py-name">wrap_headers</tt> <tt class="py-op">+</tt> <tt class="py-name">local_headers</tt> <tt class="py-op">+</tt> <tt class="py-name">object_files</tt> </tt>
-<a name="L411"></a><tt class="py-lineno">411</tt>  <tt class="py-line">        <tt id="link-101" class="py-name" targets="Function instant.build.copy_files()=instant.build-module.html#copy_files"><a title="instant.build.copy_files" class="py-name" href="#" onclick="return doclink('link-101', 'copy_files', 'link-101');">copy_files</a></tt><tt class="py-op">(</tt><tt class="py-name">source_directory</tt><tt class="py-op">,</tt> <tt class="py-name">module_path</tt><tt class="py-op">,</tt> < [...]
-<a name="L412"></a><tt class="py-lineno">412</tt>  <tt class="py-line">        <tt class="py-comment"># At this point, all user input files should reside in module_path.</tt> </tt>
-<a name="L413"></a><tt class="py-lineno">413</tt>  <tt class="py-line">         </tt>
-<a name="L414"></a><tt class="py-lineno">414</tt>  <tt class="py-line">        <tt class="py-comment"># --- Generate additional files in module directory</tt> </tt>
-<a name="L415"></a><tt class="py-lineno">415</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">chdir</tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L416"></a><tt class="py-lineno">416</tt>  <tt class="py-line">         </tt>
-<a name="L417"></a><tt class="py-lineno">417</tt>  <tt class="py-line">        <tt class="py-comment"># Generate __init__.py which imports compiled module contents</tt> </tt>
-<a name="L418"></a><tt class="py-lineno">418</tt>  <tt class="py-line">        <tt id="link-102" class="py-name"><a title="instant.output.write_file" class="py-name" href="#" onclick="return doclink('link-102', 'write_file', 'link-33');">write_file</a></tt><tt class="py-op">(</tt><tt class="py-string">"__init__.py"</tt><tt class="py-op">,</tt> <tt class="py-string">"from %s import *"</tt> <tt class="py-op">%</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L419"></a><tt class="py-lineno">419</tt>  <tt class="py-line">         </tt>
-<a name="L420"></a><tt class="py-lineno">420</tt>  <tt class="py-line">        <tt class="py-comment"># Generate SWIG interface if wanted</tt> </tt>
-<a name="L421"></a><tt class="py-lineno">421</tt>  <tt class="py-line">        <tt class="py-name">ifile_name</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s.i"</tt> <tt class="py-op">%</tt> <tt class="py-name">modulename</tt> </tt>
-<a name="L422"></a><tt class="py-lineno">422</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">generate_interface</tt><tt class="py-op">:</tt> </tt>
-<a name="L423"></a><tt class="py-lineno">423</tt>  <tt class="py-line">            <tt id="link-103" class="py-name" targets="Function instant.codegeneration.write_interfacefile()=instant.codegeneration-module.html#write_interfacefile"><a title="instant.codegeneration.write_interfacefile" class="py-name" href="#" onclick="return doclink('link-103', 'write_interfacefile', 'link-103');">write_interfacefile</a></tt><tt class="py-op">(</tt><tt class="py-name">ifile_name</tt><tt class="py-op" [...]
-<a name="L424"></a><tt class="py-lineno">424</tt>  <tt class="py-line">                <tt class="py-name">additional_definitions</tt><tt class="py-op">,</tt> <tt class="py-name">additional_declarations</tt><tt class="py-op">,</tt> <tt class="py-name">system_headers</tt><tt class="py-op">,</tt> </tt>
-<a name="L425"></a><tt class="py-lineno">425</tt>  <tt class="py-line">                <tt class="py-name">local_headers</tt><tt class="py-op">,</tt> <tt class="py-name">wrap_headers</tt><tt class="py-op">,</tt> <tt class="py-name">arrays</tt><tt class="py-op">)</tt> </tt>
-<a name="L426"></a><tt class="py-lineno">426</tt>  <tt class="py-line">         </tt>
-<a name="L427"></a><tt class="py-lineno">427</tt>  <tt class="py-line">        <tt class="py-comment"># Generate setup.py if wanted</tt> </tt>
-<a name="L428"></a><tt class="py-lineno">428</tt>  <tt class="py-line">        <tt class="py-name">setup_name</tt> <tt class="py-op">=</tt> <tt class="py-string">"setup.py"</tt> </tt>
-<a name="L429"></a><tt class="py-lineno">429</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">generate_setup</tt><tt class="py-op">:</tt> </tt>
-<a name="L430"></a><tt class="py-lineno">430</tt>  <tt class="py-line">            <tt id="link-104" class="py-name" targets="Function instant.codegeneration.write_setup()=instant.codegeneration-module.html#write_setup"><a title="instant.codegeneration.write_setup" class="py-name" href="#" onclick="return doclink('link-104', 'write_setup', 'link-104');">write_setup</a></tt><tt class="py-op">(</tt><tt class="py-name">setup_name</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</ [...]
-<a name="L431"></a><tt class="py-lineno">431</tt>  <tt class="py-line">                        <tt class="py-name">include_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">library_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">libraries</tt><tt class="py-op">,</tt> <tt class="py-name">swig_include_dirs</tt><tt class="py-op">,</tt> \ </tt>
-<a name="L432"></a><tt class="py-lineno">432</tt>  <tt class="py-line">                        <tt class="py-name">swigargs</tt><tt class="py-op">,</tt> <tt class="py-name">cppargs</tt><tt class="py-op">,</tt> <tt class="py-name">lddargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L433"></a><tt class="py-lineno">433</tt>  <tt class="py-line">         </tt>
-<a name="L434"></a><tt class="py-lineno">434</tt>  <tt class="py-line">        <tt class="py-comment"># --- Build module</tt> </tt>
-<a name="L435"></a><tt class="py-lineno">435</tt>  <tt class="py-line">         </tt>
-<a name="L436"></a><tt class="py-lineno">436</tt>  <tt class="py-line">        <tt class="py-comment"># At this point we have all the files, and can make the</tt> </tt>
-<a name="L437"></a><tt class="py-lineno">437</tt>  <tt class="py-line">        <tt class="py-comment"># total checksum from all file contents. This is used to</tt> </tt>
-<a name="L438"></a><tt class="py-lineno">438</tt>  <tt class="py-line">        <tt class="py-comment"># decide whether the module needs recompilation or not.</tt> </tt>
-<a name="L439"></a><tt class="py-lineno">439</tt>  <tt class="py-line">         </tt>
-<a name="L440"></a><tt class="py-lineno">440</tt>  <tt class="py-line">        <tt class="py-comment"># Compute new_compilation_checksum</tt> </tt>
-<a name="L441"></a><tt class="py-lineno">441</tt>  <tt class="py-line">        <tt class="py-comment"># Collect arguments used for checksum creation,</tt> </tt>
-<a name="L442"></a><tt class="py-lineno">442</tt>  <tt class="py-line">        <tt class="py-comment"># including everything that affects the module compilation.</tt> </tt>
-<a name="L443"></a><tt class="py-lineno">443</tt>  <tt class="py-line">        <tt class="py-comment"># Since the interface file is included in allfiles, </tt> </tt>
-<a name="L444"></a><tt class="py-lineno">444</tt>  <tt class="py-line">        <tt class="py-comment"># we don't need stuff that modifies it here.</tt> </tt>
-<a name="L445"></a><tt class="py-lineno">445</tt>  <tt class="py-line">        <tt class="py-name">checksum_args</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> \ </tt>
-<a name="L446"></a><tt class="py-lineno">446</tt>  <tt class="py-line">                         <tt class="py-comment"># We don't care about the modulename, that's what</tt> </tt>
-<a name="L447"></a><tt class="py-lineno">447</tt>  <tt class="py-line">                         <tt class="py-comment"># we're trying to construct!</tt> </tt>
-<a name="L448"></a><tt class="py-lineno">448</tt>  <tt class="py-line">                         <tt class="py-comment">#modulename,</tt> </tt>
-<a name="L449"></a><tt class="py-lineno">449</tt>  <tt class="py-line">                         <tt class="py-comment"># We don't care where the user code resides:</tt> </tt>
-<a name="L450"></a><tt class="py-lineno">450</tt>  <tt class="py-line">                         <tt class="py-comment">#source_directory,</tt> </tt>
-<a name="L451"></a><tt class="py-lineno">451</tt>  <tt class="py-line">                         <tt class="py-comment">#code, init_code,</tt> </tt>
-<a name="L452"></a><tt class="py-lineno">452</tt>  <tt class="py-line">                         <tt class="py-comment">#additional_definitions, additional_declarations,</tt> </tt>
-<a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line">                         <tt class="py-comment"># Skipping filenames, since we use the file contents:</tt> </tt>
-<a name="L454"></a><tt class="py-lineno">454</tt>  <tt class="py-line">                         <tt class="py-comment">#sources, wrap_headers,</tt> </tt>
-<a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">                         <tt class="py-comment">#local_headers,</tt> </tt>
-<a name="L456"></a><tt class="py-lineno">456</tt>  <tt class="py-line">                         <tt class="py-name">system_headers</tt><tt class="py-op">,</tt> </tt>
-<a name="L457"></a><tt class="py-lineno">457</tt>  <tt class="py-line">                         <tt class="py-name">include_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">library_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">libraries</tt><tt class="py-op">,</tt> </tt>
-<a name="L458"></a><tt class="py-lineno">458</tt>  <tt class="py-line">                         <tt class="py-name">swigargs</tt><tt class="py-op">,</tt> <tt class="py-name">swig_include_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">cppargs</tt><tt class="py-op">,</tt> <tt class="py-name">lddargs</tt><tt class="py-op">,</tt> </tt>
-<a name="L459"></a><tt class="py-lineno">459</tt>  <tt class="py-line">                         <tt class="py-name">object_files</tt><tt class="py-op">,</tt> <tt class="py-comment">#arrays,</tt> </tt>
-<a name="L460"></a><tt class="py-lineno">460</tt>  <tt class="py-line">                         <tt class="py-comment">#generate_interface, generate_setup,</tt> </tt>
-<a name="L461"></a><tt class="py-lineno">461</tt>  <tt class="py-line">                         <tt class="py-comment"># The signature isn't defined, and the</tt> </tt>
-<a name="L462"></a><tt class="py-lineno">462</tt>  <tt class="py-line">                         <tt class="py-comment"># cache_dir doesn't affect the module:</tt> </tt>
-<a name="L463"></a><tt class="py-lineno">463</tt>  <tt class="py-line">                         <tt class="py-comment">#signature, cache_dir)</tt> </tt>
-<a name="L464"></a><tt class="py-lineno">464</tt>  <tt class="py-line">                         <tt class="py-op">)</tt> </tt>
-<a name="L465"></a><tt class="py-lineno">465</tt>  <tt class="py-line">        <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">checksum_args [...]
-<a name="L466"></a><tt class="py-lineno">466</tt>  <tt class="py-line">        <tt class="py-name">allfiles</tt> <tt class="py-op">=</tt> <tt class="py-name">sources</tt> <tt class="py-op">+</tt> <tt class="py-name">wrap_headers</tt> <tt class="py-op">+</tt> <tt class="py-name">local_headers</tt> <tt class="py-op">+</tt> <tt class="py-op">[</tt><tt class="py-name">ifile_name</tt><tt class="py-op">]</tt> </tt>
-<a name="L467"></a><tt class="py-lineno">467</tt>  <tt class="py-line">        <tt class="py-name">new_compilation_checksum</tt> <tt class="py-op">=</tt> <tt id="link-105" class="py-name"><a title="instant.signatures.compute_checksum" class="py-name" href="#" onclick="return doclink('link-105', 'compute_checksum', 'link-96');">compute_checksum</a></tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">allfiles</tt><tt class="py-op">)</tt> </tt>
-<a name="L468"></a><tt class="py-lineno">468</tt>  <tt class="py-line">         </tt>
-<a name="L469"></a><tt class="py-lineno">469</tt>  <tt class="py-line">        <tt class="py-comment"># Recompile if necessary</tt> </tt>
-<a name="L470"></a><tt class="py-lineno">470</tt>  <tt class="py-line">        <tt id="link-106" class="py-name" targets="Function instant.build.recompile()=instant.build-module.html#recompile"><a title="instant.build.recompile" class="py-name" href="#" onclick="return doclink('link-106', 'recompile', 'link-106');">recompile</a></tt><tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class="py-name">module_path</tt><tt class="py-op">,</tt> <tt class="p [...]
-<a name="L471"></a><tt class="py-lineno">471</tt>  <tt class="py-line">         </tt>
-<a name="L472"></a><tt class="py-lineno">472</tt>  <tt class="py-line">        <tt class="py-comment"># --- Load, cache, and return module</tt> </tt>
-<a name="L473"></a><tt class="py-lineno">473</tt>  <tt class="py-line"> </tt>
-<a name="L474"></a><tt class="py-lineno">474</tt>  <tt class="py-line">        <tt class="py-comment"># Copy compiled module to cache</tt> </tt>
-<a name="L475"></a><tt class="py-lineno">475</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">use_cache</tt><tt class="py-op">:</tt> </tt>
-<a name="L476"></a><tt class="py-lineno">476</tt>  <tt class="py-line">            <tt class="py-name">module_path</tt> <tt class="py-op">=</tt> <tt id="link-107" class="py-name" targets="Function instant.build.copy_to_cache()=instant.build-module.html#copy_to_cache"><a title="instant.build.copy_to_cache" class="py-name" href="#" onclick="return doclink('link-107', 'copy_to_cache', 'link-107');">copy_to_cache</a></tt><tt class="py-op">(</tt><tt class="py-name">module_path</tt><tt class=" [...]
-<a name="L477"></a><tt class="py-lineno">477</tt>  <tt class="py-line">         </tt>
-<a name="L478"></a><tt class="py-lineno">478</tt>  <tt class="py-line">        <tt class="py-comment"># Import module and place in memory cache</tt> </tt>
-<a name="L479"></a><tt class="py-lineno">479</tt>  <tt class="py-line">        <tt class="py-comment"># Do not use locks if use_cache is False:</tt> </tt>
-<a name="L480"></a><tt class="py-lineno">480</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">use_cache</tt><tt class="py-op">:</tt> </tt>
-<a name="L481"></a><tt class="py-lineno">481</tt>  <tt class="py-line">            <tt class="py-name">lock</tt> <tt class="py-op">=</tt> <tt id="link-108" class="py-name"><a title="instant.locking.get_lock" class="py-name" href="#" onclick="return doclink('link-108', 'get_lock', 'link-8');">get_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L482"></a><tt class="py-lineno">482</tt>  <tt class="py-line">        <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-109" class="py-name" targets="Function instant.cache.import_and_cache_module()=instant.cache-module.html#import_and_cache_module"><a title="instant.cache.import_and_cache_module" class="py-name" href="#" onclick="return doclink('link-109', 'import_and_cache_module', 'link-109');">import_and_cache_module</a></tt><tt class="py-op">(</tt><tt cl [...]
-<a name="L483"></a><tt class="py-lineno">483</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">use_cache</tt><tt class="py-op">:</tt> </tt>
-<a name="L484"></a><tt class="py-lineno">484</tt>  <tt class="py-line">            <tt id="link-110" class="py-name"><a title="instant.locking.release_lock" class="py-name" href="#" onclick="return doclink('link-110', 'release_lock', 'link-9');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L485"></a><tt class="py-lineno">485</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> </tt>
-<a name="L486"></a><tt class="py-lineno">486</tt>  <tt class="py-line">            <tt id="link-111" class="py-name"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-111', 'instant_error', 'link-21');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Failed to import newly compiled module!"</tt><tt class="py-op">)</tt> </tt>
-<a name="L487"></a><tt class="py-lineno">487</tt>  <tt class="py-line">         </tt>
-<a name="L488"></a><tt class="py-lineno">488</tt>  <tt class="py-line">        <tt id="link-112" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-112', 'instant_debug', 'link-17');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.build_module: Returning %s from build_module."</tt>\ </tt>
-<a name="L489"></a><tt class="py-lineno">489</tt>  <tt class="py-line">            <tt class="py-op">%</tt> <tt class="py-name">module</tt><tt class="py-op">)</tt> </tt>
-<a name="L490"></a><tt class="py-lineno">490</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-<a name="L491"></a><tt class="py-lineno">491</tt>  <tt class="py-line">        <tt class="py-comment"># The end!</tt> </tt>
-<a name="L492"></a><tt class="py-lineno">492</tt>  <tt class="py-line">         </tt>
-<a name="L493"></a><tt class="py-lineno">493</tt>  <tt class="py-line">    <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L494"></a><tt class="py-lineno">494</tt>  <tt class="py-line">        <tt class="py-comment"># Always get back to original directory.</tt> </tt>
-<a name="L495"></a><tt class="py-lineno">495</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">chdir</tt><tt class="py-op">(</tt><tt class="py-name">original_path</tt><tt class="py-op">)</tt> </tt>
-<a name="L496"></a><tt class="py-lineno">496</tt>  <tt class="py-line">     </tt>
-<a name="L497"></a><tt class="py-lineno">497</tt>  <tt class="py-line">    <tt id="link-113" class="py-name"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-113', 'instant_error', 'link-21');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.build_module: Should never reach this point!"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L498"></a><tt class="py-lineno">498</tt>  <tt class="py-line">    <tt class="py-comment"># end build_module</tt> </tt>
-<a name="L499"></a><tt class="py-lineno">499</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.cache-module.html b/doc/html_reference/instant.cache-module.html
deleted file mode 100644
index d54494b..0000000
--- a/doc/html_reference/instant.cache-module.html
+++ /dev/null
@@ -1,453 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.cache</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module cache
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.cache-module.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module cache</h1><p class="nomargin-top"><span class="codelink"><a href="instant.cache-pysrc.html">source code</a></span></p>
-<p>This module contains helper functions for working with the module 
-  cache.</p>
-  <p>Example operations:</p>
-  <ul>
-    <li>
-      modulename = modulename_from_checksum(checksum)
-    </li>
-    <li>
-      modulename = modulename_from_checksum(compute_checksum(signature))
-    </li>
-    <li>
-      module = import_module_directly(path, modulename)
-    </li>
-    <li>
-      module = import_module(modulename)
-    </li>
-    <li>
-      module = import_module(checksum)
-    </li>
-    <li>
-      module = import_module(compute_checksum(signature))
-    </li>
-    <li>
-      modules = cached_modules()
-    </li>
-    <li>
-      modules = cached_modules(cache_dir)
-    </li>
-  </ul>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="modulename_from_checksum"></a><span class="summary-sig-name">modulename_from_checksum</span>(<span class="summary-sig-arg">checksum</span>)</span><br />
-      Construct a module name from a checksum for use in cache.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.cache-pysrc.html#modulename_from_checksum">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="checksum_from_modulename"></a><span class="summary-sig-name">checksum_from_modulename</span>(<span class="summary-sig-arg">modulename</span>)</span><br />
-      Construct a module name from a checksum for use in cache.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.cache-pysrc.html#checksum_from_modulename">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="import_module_directly"></a><span class="summary-sig-name">import_module_directly</span>(<span class="summary-sig-arg">path</span>,
-        <span class="summary-sig-arg">modulename</span>)</span><br />
-      Import a module with the given module name that resides in the given 
-      path.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.cache-pysrc.html#import_module_directly">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="memory_cached_module"></a><span class="summary-sig-name">memory_cached_module</span>(<span class="summary-sig-arg">moduleid</span>)</span><br />
-      Returns the cached module if found.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.cache-pysrc.html#memory_cached_module">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="place_module_in_memory_cache"></a><span class="summary-sig-name">place_module_in_memory_cache</span>(<span class="summary-sig-arg">moduleid</span>,
-        <span class="summary-sig-arg">module</span>)</span><br />
-      Place a compiled module in cache with given id.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.cache-pysrc.html#place_module_in_memory_cache">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="is_valid_module_name"></a><span class="summary-sig-name">is_valid_module_name</span>(<span class="summary-sig-arg">name</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.cache-pysrc.html#is_valid_module_name">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="import_and_cache_module"></a><span class="summary-sig-name">import_and_cache_module</span>(<span class="summary-sig-arg">path</span>,
-        <span class="summary-sig-arg">modulename</span>,
-        <span class="summary-sig-arg">moduleids</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.cache-pysrc.html#import_and_cache_module">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="check_memory_cache"></a><span class="summary-sig-name">check_memory_cache</span>(<span class="summary-sig-arg">moduleid</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.cache-pysrc.html#check_memory_cache">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="check_disk_cache"></a><span class="summary-sig-name">check_disk_cache</span>(<span class="summary-sig-arg">modulename</span>,
-        <span class="summary-sig-arg">cache_dir</span>,
-        <span class="summary-sig-arg">moduleids</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.cache-pysrc.html#check_disk_cache">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.cache-module.html#import_module" class="summary-sig-name">import_module</a>(<span class="summary-sig-arg">moduleid</span>,
-        <span class="summary-sig-arg">cache_dir</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Import module from cache given its moduleid and an optional cache 
-      directory.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.cache-pysrc.html#import_module">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="cached_modules"></a><span class="summary-sig-name">cached_modules</span>(<span class="summary-sig-arg">cache_dir</span>=<span class="summary-sig-default">None</span>)</span><br />
-      Return a list with the names of all cached modules.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.cache-pysrc.html#cached_modules">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="_modulename_prefix"></a><span class="summary-name">_modulename_prefix</span> = <code title="'instant_module_'"><code class="variable-quote">'</code><code class="variable-string">instant_module_</code><code class="variable-quote">'</code></code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="_memory_cache"></a><span class="summary-name">_memory_cache</span> = <code title="{}"><code class="variable-group">{</code><code class="variable-group">}</code></code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="import_module"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">import_module</span>(<span class="sig-arg">moduleid</span>,
-        <span class="sig-arg">cache_dir</span>=<span class="sig-default">None</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant.cache-pysrc.html#import_module">source code</a></span> 
-    </td>
-  </tr></table>
-  
-  <p>Import module from cache given its moduleid and an optional cache 
-  directory.</p>
-  <p>The moduleid can be either</p>
-  <ul>
-    <li>
-      the module name
-    </li>
-    <li>
-      a signature string, of which a checksum is taken to look up in the 
-      cache
-    </li>
-    <li>
-      a checksum string, which is used directly to look up in the cache
-    </li>
-    <li>
-      a hashable non-string object with a function moduleid.signature() 
-      which is used to get a signature string
-    </li>
-  </ul>
-  <p>The hashable object is used to look up in the memory cache before 
-  signature() is called. If the module is found on disk, it is placed in 
-  the memory cache.</p>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.cache-pysrc.html b/doc/html_reference/instant.cache-pysrc.html
deleted file mode 100644
index 16ee8dc..0000000
--- a/doc/html_reference/instant.cache-pysrc.html
+++ /dev/null
@@ -1,277 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.cache</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module cache
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.cache-pysrc.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.cache-module.html">Module instant.cache</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-docstring">"""This module contains helper functions for working with the module cache.</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Example operations:</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">  - modulename = modulename_from_checksum(checksum)</tt> </tt>
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">  - modulename = modulename_from_checksum(compute_checksum(signature))</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">  - module = import_module_directly(path, modulename)</tt> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">  - module = import_module(modulename)</tt> </tt>
-<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">  - module = import_module(checksum)</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">  - module = import_module(compute_checksum(signature))</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">  - modules = cached_modules()</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">  - modules = cached_modules(cache_dir)</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">re</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Function instant.output.instant_warning()=instant.output-module.html#instant_warning"><a title="ins [...]
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module instant.paths=instant.paths-module.html"><a title="instant.paths" class="py-name" href="#" onclick="return doclink('link-4', 'paths', 'link-4');">paths</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Function instant.paths.get_default_cache_dir()=instant.paths-module.html#get_default_cache_dir"><a title [...]
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-7" class="py-name" targets="Module instant.signatures=instant.signatures-module.html"><a title="instant.signatures" class="py-name" href="#" onclick="return doclink('link-7', 'signatures', 'link-7');">signatures</a></tt> <tt class="py-keyword">import</tt> <tt id="link-8" class="py-name" targets="Function instant.signatures.compute_checksum()=instant.signatures-module.html#c [...]
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-9" class="py-name" targets="Module instant.locking=instant.locking-module.html"><a title="instant.locking" class="py-name" href="#" onclick="return doclink('link-9', 'locking', 'link-9');">locking</a></tt> <tt class="py-keyword">import</tt> <tt id="link-10" class="py-name" targets="Function instant.locking.get_lock()=instant.locking-module.html#get_lock"><a title="instant.l [...]
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-comment"># TODO: We could make this an argument, but it's used indirectly several places so take care.</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt id="link-12" class="py-name" targets="Variable instant.cache._modulename_prefix=instant.cache-module.html#_modulename_prefix"><a title="instant.cache._modulename_prefix" class="py-name" href="#" onclick="return doclink('link-12', '_modulename_prefix', 'link-12');">_modulename_prefix</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"instant_module_"</tt> </tt>
-<a name="modulename_from_checksum"></a><div id="modulename_from_checksum-def"><a name="L22"></a><tt class="py-lineno"> 22</tt> <a class="py-toggle" href="#" id="modulename_from_checksum-toggle" onclick="return toggle('modulename_from_checksum');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#modulename_from_checksum">modulename_from_checksum</a><tt class="py-op">(</tt><tt class="py-param">checksum</tt><tt class="py-op">)</ [...]
-</div><div id="modulename_from_checksum-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="modulename_from_checksum-expanded"><a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">    <tt class="py-docstring">"Construct a module name from a checksum for use in cache."</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-13" class="py-name"><a title="instant.cache._modulename_prefix" class="py-name" href="#" onclick="return doclink('link-13', '_modulename_prefix', 'link-12');">_modulename_prefix</a></tt> <tt class="py-op">+</tt> <tt class="py-name">checksum</tt> </tt>
-</div><a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"> </tt>
-<a name="checksum_from_modulename"></a><div id="checksum_from_modulename-def"><a name="L27"></a><tt class="py-lineno"> 27</tt> <a class="py-toggle" href="#" id="checksum_from_modulename-toggle" onclick="return toggle('checksum_from_modulename');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#checksum_from_modulename">checksum_from_modulename</a><tt class="py-op">(</tt><tt class="py-param">modulename</tt><tt class="py-op">) [...]
-</div><div id="checksum_from_modulename-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="checksum_from_modulename-expanded"><a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">    <tt class="py-docstring">"Construct a module name from a checksum for use in cache."</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">modulename</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt id="link-14" class="py-name"><a title="instant.cache._modulename_prefix" class="py-name" href="#" onclick="return doclink('link-14', '_modulename_prefix', 'link-12');">_modulename_prefix</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
-<a name="import_module_directly"></a><div id="import_module_directly-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="import_module_directly-toggle" onclick="return toggle('import_module_directly');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#import_module_directly">import_module_directly</a><tt class="py-op">(</tt><tt class="py-param">path</tt><tt class="py-op">,</tt> <tt class="p [...]
-</div><div id="import_module_directly-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="import_module_directly-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">    <tt class="py-docstring">"Import a module with the given module name that resides in the given path."</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">    <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">insert</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">__import__</tt><tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt id="link-15" class="py-name"><a title="instant.output.instant_warning" class="py-name" href="#" onclick="return doclink('link-15', 'instant_warning', 'link-1');">instant_warning</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.import_module_directly: Failed to import module '%s' from '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="p [...]
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-</div><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt id="link-16" class="py-name" targets="Variable instant.cache._memory_cache=instant.cache-module.html#_memory_cache"><a title="instant.cache._memory_cache" class="py-name" href="#" onclick="return doclink('link-16', '_memory_cache', 'link-16');">_memory_cache</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="memory_cached_module"></a><div id="memory_cached_module-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="memory_cached_module-toggle" onclick="return toggle('memory_cached_module');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#memory_cached_module">memory_cached_module</a><tt class="py-op">(</tt><tt class="py-param">moduleid</tt><tt class="py-op">)</tt><tt class="py-op">:</ [...]
-</div><div id="memory_cached_module-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="memory_cached_module-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">    <tt class="py-docstring">"Returns the cached module if found."</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="instant.cache._memory_cache" class="py-name" href="#" onclick="return doclink('link-17', '_memory_cache', 'link-16');">_memory_cache</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py- [...]
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    <tt id="link-18" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-18', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Found '%s' in memory cache with key '%r'."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">moduleid</tt>< [...]
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-</div><a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"> </tt>
-<a name="place_module_in_memory_cache"></a><div id="place_module_in_memory_cache-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="place_module_in_memory_cache-toggle" onclick="return toggle('place_module_in_memory_cache');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#place_module_in_memory_cache">place_module_in_memory_cache</a><tt class="py-op">(</tt><tt class="py-param">moduleid</ [...]
-</div><div id="place_module_in_memory_cache-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="place_module_in_memory_cache-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-docstring">"Place a compiled module in cache with given id."</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">    <tt id="link-19" class="py-name"><a title="instant.cache._memory_cache" class="py-name" href="#" onclick="return doclink('link-19', '_memory_cache', 'link-16');">_memory_cache</a></tt><tt class="py-op">[</tt><tt class="py-name">moduleid</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">module</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">    <tt id="link-20" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-20', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Added module '%s' to cache with key '%r'."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">moduleid</tt>< [...]
-</div><a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
-<a name="is_valid_module_name"></a><div id="is_valid_module_name-def"><a name="L59"></a><tt class="py-lineno"> 59</tt> <a class="py-toggle" href="#" id="is_valid_module_name-toggle" onclick="return toggle('is_valid_module_name');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#is_valid_module_name">is_valid_module_name</a><tt class="py-op">(</tt><tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="is_valid_module_name-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="is_valid_module_name-expanded"><a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-name">NAMELENGTHLIMIT</tt> <tt class="py-op">=</tt> <tt class="py-number">100</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> <tt class="py-op"><</tt> <tt class="py-name">NAMELENGTHLIMIT</tt> <tt class="py-keyword">and</tt> <tt class="py-name">bool</tt><tt class="py-op">(</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-str [...]
-</div><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"> </tt>
-<a name="import_and_cache_module"></a><div id="import_and_cache_module-def"><a name="L64"></a><tt class="py-lineno"> 64</tt> <a class="py-toggle" href="#" id="import_and_cache_module-toggle" onclick="return toggle('import_and_cache_module');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#import_and_cache_module">import_and_cache_module</a><tt class="py-op">(</tt><tt class="py-param">path</tt><tt class="py-op">,</tt> <tt cl [...]
-</div><div id="import_and_cache_module-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="import_and_cache_module-expanded"><a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name" targets="Function instant.cache.import_module_directly()=instant.cache-module.html#import_module_directly"><a title="instant.cache.import_module_directly" class="py-name" href="#" onc [...]
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">    <tt id="link-22" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-22', 'instant_assert', 'link-2');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">module</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">"Failed to import module found in ca [...]
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">moduleid</tt> <tt class="py-keyword">in</tt> <tt class="py-name">moduleids</tt><tt class="py-op">:</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt id="link-23" class="py-name" targets="Function instant.cache.place_module_in_memory_cache()=instant.cache-module.html#place_module_in_memory_cache"><a title="instant.cache.place_module_in_memory_cache" class="py-name" href="#" onclick="return doclink('link-23', 'place_module_in_memory_cache', 'link-23');">place_module_in_memory_cache</a></tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class [...]
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-</div><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"> </tt>
-<a name="check_memory_cache"></a><div id="check_memory_cache-def"><a name="L72"></a><tt class="py-lineno"> 72</tt> <a class="py-toggle" href="#" id="check_memory_cache-toggle" onclick="return toggle('check_memory_cache');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#check_memory_cache">check_memory_cache</a><tt class="py-op">(</tt><tt class="py-param">moduleid</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="check_memory_cache-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="check_memory_cache-expanded"><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">    <tt class="py-comment"># Check memory cache first with the given moduleid</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">    <tt class="py-name">moduleids</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">moduleid</tt><tt class="py-op">]</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-24" class="py-name" targets="Function instant.cache.memory_cached_module()=instant.cache-module.html#memory_cached_module"><a title="instant.cache.memory_cached_module" class="py-name" href="#" onclick="return doclink('link-24', 'memory_cached_module', 'link-24');">memory_cached_module</a></tt><tt class="py-op">(</tt><tt class="py-name">moduleid< [...]
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">moduleids</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">     </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">    <tt class="py-comment"># Get signature from moduleid if it isn't a string,</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">    <tt class="py-comment"># and check memory cache again</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">,</tt> <tt class="py-string">"signature"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-name">moduleid</tt> <tt class="py-op">=</tt> <tt class="py-name">moduleid</tt><tt class="py-op">.</tt><tt class="py-name">signature</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt id="link-25" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-25', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.check_memory_cache: Got signature "</tt>\ </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                      <tt class="py-string">"'%s' from moduleid.signature()."</tt> <tt class="py-op">%</tt> <tt class="py-name">moduleid</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-26" class="py-name"><a title="instant.cache.memory_cached_module" class="py-name" href="#" onclick="return doclink('link-26', 'memory_cached_module', 'link-24');">memory_cached_module</a></tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">)</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">moduleid</tt> <tt class="py-keyword">in</tt> <tt class="py-name">moduleids</tt><tt class="py-op">:</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">                <tt id="link-27" class="py-name"><a title="instant.cache.place_module_in_memory_cache" class="py-name" href="#" onclick="return doclink('link-27', 'place_module_in_memory_cache', 'link-23');">place_module_in_memory_cache</a></tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">,</tt> <tt class="py-name">module</tt><tt class="py-op">)</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">moduleids</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-name">moduleids</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">)</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">     </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">    <tt class="py-comment"># Construct a filename from the checksum of moduleid if it</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-comment"># isn't already a valid name, and check memory cache again</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-28" class="py-name" targets="Function instant.cache.is_valid_module_name()=instant.cache-module.html#is_valid_module_name"><a title="instant.cache.is_valid_module_name" class="py-name" href="#" onclick="return doclink('link-28', 'is_valid_module_name', 'link-28');">is_valid_module_name</a></tt><tt class="py-op">(</tt><tt class="py-name">mod [...]
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-name">moduleid</tt> <tt class="py-op">=</tt> <tt id="link-29" class="py-name" targets="Function instant.cache.modulename_from_checksum()=instant.cache-module.html#modulename_from_checksum"><a title="instant.cache.modulename_from_checksum" class="py-name" href="#" onclick="return doclink('link-29', 'modulename_from_checksum', 'link-29');">modulename_from_checksum</a></tt><tt class="py-op">(</tt><tt [...]
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt id="link-31" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-31', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.check_memory_cache: Constructed module name "</tt>\ </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">                      <tt class="py-string">"'%s' from moduleid '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">,</tt> <tt class="py-name">moduleids</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name"><a title="instant.cache.memory_cached_module" class="py-name" href="#" onclick="return doclink('link-32', 'memory_cached_module', 'link-24');">memory_cached_module</a></tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">moduleids</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-name">moduleids</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">moduleid</tt><tt class="py-op">)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">     </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">    <tt id="link-33" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-33', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.check_memory_cache: Failed to find module."</tt><tt class="py-op">)</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">moduleids</tt> </tt>
-</div><a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"> </tt>
-<a name="check_disk_cache"></a><div id="check_disk_cache-def"><a name="L105"></a><tt class="py-lineno">105</tt> <a class="py-toggle" href="#" id="check_disk_cache-toggle" onclick="return toggle('check_disk_cache');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#check_disk_cache">check_disk_cache</a><tt class="py-op">(</tt><tt class="py-param">modulename</tt><tt class="py-op">,</tt> <tt class="py-param">cache_dir</tt><tt cl [...]
-</div><div id="check_disk_cache-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="check_disk_cache-expanded"><a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt class="py-comment"># Get file lock to avoid race conditions in cache</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">    <tt class="py-name">lock</tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="instant.locking.get_lock" class="py-name" href="#" onclick="return doclink('link-34', 'get_lock', 'link-10');">get_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">     </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">    <tt class="py-comment"># Ensure a valid cache_dir</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-name">cache_dir</tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name"><a title="instant.paths.validate_cache_dir" class="py-name" href="#" onclick="return doclink('link-35', 'validate_cache_dir', 'link-6');">validate_cache_dir</a></tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">     </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">    <tt class="py-comment"># Check on disk, in current directory and cache directory</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">path</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">cache_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">,</tt> <tt class="py [...]
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">            <tt class="py-comment"># Found existing directory, try to import and place in memory cache</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name" targets="Function instant.cache.import_and_cache_module()=instant.cache-module.html#import_and_cache_module"><a title="instant.cache.import_and_cache_module" class="py-name" href="#" onclick="return doclink('link-36', 'import_and_cache_module', 'link-36');">import_and_cache_module</a></tt><tt class="py-op">(</tt><tt c [...]
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">                <tt id="link-37" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-37', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.check_disk_cache: Imported module "</tt>\ </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                              <tt class="py-string">"'%s' from '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">                <tt id="link-38" class="py-name"><a title="instant.locking.release_lock" class="py-name" href="#" onclick="return doclink('link-38', 'release_lock', 'link-11');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">                <tt id="link-39" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-39', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.check_disk_cache: Failed to imported "</tt>\ </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                              <tt class="py-string">"module '%s' from '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class="py-name">path</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">     </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">    <tt class="py-comment"># All attempts failed</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">    <tt id="link-40" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-40', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"In instant.check_disk_cache: Can't import module with modulename "</tt>\ </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">                  <tt class="py-string">"%r using cache directory %r."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class="py-name">cache_dir</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">    <tt id="link-41" class="py-name"><a title="instant.locking.release_lock" class="py-name" href="#" onclick="return doclink('link-41', 'release_lock', 'link-11');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"> </tt>
-<a name="import_module"></a><div id="import_module-def"><a name="L133"></a><tt class="py-lineno">133</tt> <a class="py-toggle" href="#" id="import_module-toggle" onclick="return toggle('import_module');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#import_module">import_module</a><tt class="py-op">(</tt><tt class="py-param">moduleid</tt><tt class="py-op">,</tt> <tt class="py-param">cache_dir</tt><tt class="py-op">=</tt><t [...]
-</div><div id="import_module-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="import_module-expanded"><a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">    <tt class="py-docstring">"""Import module from cache given its moduleid and an optional cache directory.</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-docstring">    The moduleid can be either</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"><tt class="py-docstring">      - the module name</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line"><tt class="py-docstring">      - a signature string, of which a checksum is taken to look up in the cache</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">      - a checksum string, which is used directly to look up in the cache</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-docstring">      - a hashable non-string object with a function moduleid.signature() which is used to get a signature string</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-docstring">    The hashable object is used to look up in the memory cache before signature() is called.</tt> </tt>
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-docstring">    If the module is found on disk, it is placed in the memory cache.</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">    <tt class="py-comment"># Look for module in memory cache</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">    <tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">moduleids</tt> <tt class="py-op">=</tt> <tt id="link-42" class="py-name" targets="Function instant.cache.check_memory_cache()=instant.cache-module.html#check_memory_cache"><a title="instant.cache.check_memory_cache" class="py-name" href="#" onclick="return doclink('link-42', 'check_memory_cache', 'link-42');">check_memory_cache</a></tt><tt [...]
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">module</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">     </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">    <tt class="py-comment"># Look for module in disk cache</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">    <tt class="py-name">modulename</tt> <tt class="py-op">=</tt> <tt class="py-name">moduleids</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-43" class="py-name" targets="Function instant.cache.check_disk_cache()=instant.cache-module.html#check_disk_cache"><a title="instant.cache.check_disk_cache" class="py-name" href="#" onclick="return doclink('link-43', 'check_disk_cache', 'link-43');">check_disk_cache</a></tt><tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class= [...]
-</div><a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"> </tt>
-<a name="cached_modules"></a><div id="cached_modules-def"><a name="L153"></a><tt class="py-lineno">153</tt> <a class="py-toggle" href="#" id="cached_modules-toggle" onclick="return toggle('cached_modules');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.cache-module.html#cached_modules">cached_modules</a><tt class="py-op">(</tt><tt class="py-param">cache_dir</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><t [...]
-</div><div id="cached_modules-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="cached_modules-expanded"><a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">    <tt class="py-docstring">"Return a list with the names of all cached modules."</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt class="py-name">cache_dir</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="instant.paths.validate_cache_dir" class="py-name" href="#" onclick="return doclink('link-44', 'validate_cache_dir', 'link-6');">validate_cache_dir</a></tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">listdir</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.codegeneration-module.html b/doc/html_reference/instant.codegeneration-module.html
deleted file mode 100644
index 70246db..0000000
--- a/doc/html_reference/instant.codegeneration-module.html
+++ /dev/null
@@ -1,425 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.codegeneration</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module codegeneration
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.codegeneration-module.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module codegeneration</h1><p class="nomargin-top"><span class="codelink"><a href="instant.codegeneration-pysrc.html">source code</a></span></p>
-<p>This module contains helper functions for code generation.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="mapstrings"></a><span class="summary-sig-name">mapstrings</span>(<span class="summary-sig-arg">format</span>,
-        <span class="summary-sig-arg">sequence</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.codegeneration-pysrc.html#mapstrings">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.codegeneration-module.html#reindent" class="summary-sig-name">reindent</a>(<span class="summary-sig-arg">code</span>)</span><br />
-      Reindent a multiline string to allow easier to read syntax.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.codegeneration-pysrc.html#reindent">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.codegeneration-module.html#write_interfacefile" class="summary-sig-name">write_interfacefile</a>(<span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">modulename</span>,
-        <span class="summary-sig-arg">code</span>,
-        <span class="summary-sig-arg">init_code</span>,
-        <span class="summary-sig-arg">additional_definitions</span>,
-        <span class="summary-sig-arg">additional_declarations</span>,
-        <span class="summary-sig-arg">system_headers</span>,
-        <span class="summary-sig-arg">local_headers</span>,
-        <span class="summary-sig-arg">wrap_headers</span>,
-        <span class="summary-sig-arg">arrays</span>)</span><br />
-      Generate a SWIG interface file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.codegeneration-pysrc.html#write_interfacefile">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.codegeneration-module.html#write_setup" class="summary-sig-name">write_setup</a>(<span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">modulename</span>,
-        <span class="summary-sig-arg">csrcs</span>,
-        <span class="summary-sig-arg">cppsrcs</span>,
-        <span class="summary-sig-arg">local_headers</span>,
-        <span class="summary-sig-arg">include_dirs</span>,
-        <span class="summary-sig-arg">library_dirs</span>,
-        <span class="summary-sig-arg">libraries</span>,
-        <span class="summary-sig-arg">swig_include_dirs</span>,
-        <span class="summary-sig-arg">swigargs</span>,
-        <span class="summary-sig-arg">cppargs</span>,
-        <span class="summary-sig-arg">lddargs</span>)</span><br />
-      Generate a setup.py file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.codegeneration-pysrc.html#write_setup">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_test_write_interfacefile"></a><span class="summary-sig-name">_test_write_interfacefile</span>()</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.codegeneration-pysrc.html#_test_write_interfacefile">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_test_write_setup"></a><span class="summary-sig-name">_test_write_setup</span>()</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.codegeneration-pysrc.html#_test_write_setup">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="reindent"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">reindent</span>(<span class="sig-arg">code</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant.codegeneration-pysrc.html#reindent">source code</a></span> 
-    </td>
-  </tr></table>
-  
-  <p>Reindent a multiline string to allow easier to read syntax.</p>
-  <p>Each line will be indented relative to the first non-empty line. Start
-  the first line without text like shown in this example:</p>
-<pre class="literalblock">
-   code = reindent("""
-       Foo
-       Bar
-           Blatti
-       Ping
-       """)
-</pre>
-  <p>makes all indentation relative to Foo.</p>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="write_interfacefile"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">write_interfacefile</span>(<span class="sig-arg">filename</span>,
-        <span class="sig-arg">modulename</span>,
-        <span class="sig-arg">code</span>,
-        <span class="sig-arg">init_code</span>,
-        <span class="sig-arg">additional_definitions</span>,
-        <span class="sig-arg">additional_declarations</span>,
-        <span class="sig-arg">system_headers</span>,
-        <span class="sig-arg">local_headers</span>,
-        <span class="sig-arg">wrap_headers</span>,
-        <span class="sig-arg">arrays</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant.codegeneration-pysrc.html#write_interfacefile">source code</a></span> 
-    </td>
-  </tr></table>
-  
-  <p>Generate a SWIG interface file. Intended for internal library use.</p>
-  <p>The input arguments are as follows:</p>
-  <ul>
-    <li>
-      modulename (Name of the module)
-    </li>
-    <li>
-      code (Code to be wrapped)
-    </li>
-    <li>
-      init_code (Code to put in the init section of the interface file)
-    </li>
-    <li>
-      additional_definitions (Definitions to be placed in initial block 
-      with C code as well as in the main section of the SWIG interface 
-      file)
-    </li>
-    <li>
-      additional_declarations (Declarations to be placed in the main 
-      section of the SWIG interface file)
-    </li>
-    <li>
-      system_headers (A list of system headers with declarations needed by 
-      the wrapped code)
-    </li>
-    <li>
-      local_headers (A list of local headers with declarations needed by 
-      the wrapped code)
-    </li>
-    <li>
-      wrap_headers (A list of local headers that will be included in the 
-      code and wrapped by SWIG)
-    </li>
-    <li>
-      arrays (A nested list, the inner lists describing the different 
-      arrays)
-    </li>
-  </ul>
-  <p>The result of this function is that a SWIG interface with the name 
-  modulename.i is written to the current directory.</p>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="write_setup"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">write_setup</span>(<span class="sig-arg">filename</span>,
-        <span class="sig-arg">modulename</span>,
-        <span class="sig-arg">csrcs</span>,
-        <span class="sig-arg">cppsrcs</span>,
-        <span class="sig-arg">local_headers</span>,
-        <span class="sig-arg">include_dirs</span>,
-        <span class="sig-arg">library_dirs</span>,
-        <span class="sig-arg">libraries</span>,
-        <span class="sig-arg">swig_include_dirs</span>,
-        <span class="sig-arg">swigargs</span>,
-        <span class="sig-arg">cppargs</span>,
-        <span class="sig-arg">lddargs</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant.codegeneration-pysrc.html#write_setup">source code</a></span> 
-    </td>
-  </tr></table>
-  
-  <p>Generate a setup.py file. Intended for internal library use.</p>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.codegeneration-pysrc.html b/doc/html_reference/instant.codegeneration-pysrc.html
deleted file mode 100644
index 656241d..0000000
--- a/doc/html_reference/instant.codegeneration-pysrc.html
+++ /dev/null
@@ -1,400 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.codegeneration</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module codegeneration
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.codegeneration-pysrc.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.codegeneration-module.html">Module instant.codegeneration</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-docstring">"""This module contains helper functions for code generation."""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt><tt class="py-op">,</tt> <tt class="py-name">os</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Function instant.output.instant_assert()=instant.output-module.html#instant_assert"><a title="instan [...]
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
-<a name="mapstrings"></a><div id="mapstrings-def"><a name="L7"></a><tt class="py-lineno">  7</tt> <a class="py-toggle" href="#" id="mapstrings-toggle" onclick="return toggle('mapstrings');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.codegeneration-module.html#mapstrings">mapstrings</a><tt class="py-op">(</tt><tt class="py-param">format</tt><tt class="py-op">,</tt> <tt class="py-param">sequence</tt><tt class="py-op">)</tt><tt class="py-op [...]
-</div><div id="mapstrings-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="mapstrings-expanded"><a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">"\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">format</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py- [...]
-</div><a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line">     </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"> </tt>
-<a name="reindent"></a><div id="reindent-def"><a name="L11"></a><tt class="py-lineno"> 11</tt> <a class="py-toggle" href="#" id="reindent-toggle" onclick="return toggle('reindent');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.codegeneration-module.html#reindent">reindent</a><tt class="py-op">(</tt><tt class="py-param">code</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="reindent-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="reindent-expanded"><a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">    <tt class="py-docstring">'''Reindent a multiline string to allow easier to read syntax.</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    Each line will be indented relative to the first non-empty line.</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">    Start the first line without text like shown in this example::</tt> </tt>
-<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">        code = reindent("""</tt> </tt>
-<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">            Foo</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">            Bar</tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">                Blatti</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">            Ping</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">            """)</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">    makes all indentation relative to Foo.</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">    <tt class="py-name">lines</tt> <tt class="py-op">=</tt> <tt class="py-name">code</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">    <tt class="py-name">space</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">    <tt class="py-comment"># Get initial spaces from first non-empty line:</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lines</tt><tt class="py-op">:</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">l</tt><tt class="py-op">:</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">            <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">r"^( [ ]*)"</tt><tt class="py-op">,</tt> <tt class="py-name">l</tt><tt class="py-op">)</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">r</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">                <tt class="py-name">space</tt> <tt class="py-op">=</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">groups</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">            <tt class="py-keyword">break</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">space</tt><tt class="py-op">:</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">code</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">space</tt><tt class="py-op">)</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">    <tt id="link-5" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-5', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">space</tt> <tt class="py-op">==</tt> <tt class="py-string">" "</tt><tt class="py-op">*</tt><tt class="py-name">n</tt><tt class="py-op">,</tt> <tt class="py-string">"Logic breach in reindent [...]
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-string">"\n"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt class="py-string">r"^%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">space</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">,</tt> <tt  [...]
-</div><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"> </tt>
-<a name="write_interfacefile"></a><div id="write_interfacefile-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="write_interfacefile-toggle" onclick="return toggle('write_interfacefile');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.codegeneration-module.html#write_interfacefile">write_interfacefile</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-par [...]
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">                        <tt class="py-param">additional_definitions</tt><tt class="py-op">,</tt> <tt class="py-param">additional_declarations</tt><tt class="py-op">,</tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">                        <tt class="py-param">system_headers</tt><tt class="py-op">,</tt> <tt class="py-param">local_headers</tt><tt class="py-op">,</tt> <tt class="py-param">wrap_headers</tt><tt class="py-op">,</tt> <tt class="py-param">arrays</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="write_interfacefile-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="write_interfacefile-expanded"><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">    <tt class="py-docstring">"""Generate a SWIG interface file. Intended for internal library use.</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring">    The input arguments are as follows:</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">      - modulename (Name of the module)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring">      - code (Code to be wrapped)</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">      - init_code (Code to put in the init section of the interface file)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">      - additional_definitions (Definitions to be placed in initial block with</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">        C code as well as in the main section of the SWIG interface file)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">      - additional_declarations (Declarations to be placed in the main section</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">        of the SWIG interface file)</tt> </tt>
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">      - system_headers (A list of system headers with declarations needed by the wrapped code)</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">      - local_headers (A list of local headers with declarations needed by the wrapped code)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">      - wrap_headers (A list of local headers that will be included in the code and wrapped by SWIG)</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">      - arrays (A nested list, the inner lists describing the different arrays)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-docstring">    The result of this function is that a SWIG interface with</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-docstring">    the name modulename.i is written to the current directory.</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">    <tt id="link-6" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-6', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Generating SWIG interface file '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">     </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt class="py-comment"># create typemaps </tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">    <tt class="py-name">typemaps</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt class="py-name">valid_types</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'float'</tt><tt class="py-op">,</tt> <tt class="py-string">'double'</tt><tt class="py-op">,</tt> <tt class="py-string">'short'</tt><tt class="py-op">,</tt> <tt class="py-string">'int'</tt><tt class="py-op">,</tt> <tt class="py-string">'long'</tt><tt class="py-op">,</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                   <tt class="py-string">'unsigned short'</tt><tt class="py-op">,</tt> <tt class="py-string">'unsigned int'</tt><tt class="py-op">,</tt> <tt class="py-string">'unsigned long'</tt><tt class="py-op">]</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">    <tt class="py-name">DATA_TYPE</tt> <tt class="py-op">=</tt> <tt class="py-string">'double'</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">a</tt> <tt class="py-keyword">in</tt> <tt class="py-name">arrays</tt><tt class="py-op">:</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">tuple</tt><tt class="py-op">:</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">vt</tt> <tt class="py-keyword">in</tt> <tt class="py-name">valid_types</tt><tt class="py-op">:</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">vt</tt> <tt class="py-keyword">in</tt> <tt class="py-name">a</tt><tt class="py-op">:</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">                <tt class="py-name">DATA_TYPE</tt> <tt class="py-op">=</tt> <tt class="py-name">vt</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">                <tt class="py-name">a</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">vt</tt><tt class="py-op">)</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-string">'in'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">a</tt><tt class="py-op">:</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">            <tt class="py-comment"># input arrays</tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-string">'in'</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt id="link-7" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-7', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">1</tt> <tt class="py-keyword">and</tt> <tt class [...]
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">                <tt class="py-comment"># 1-dimensional arrays, i.e. vectors</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">                <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-8" class="py-name" targets="Function instant.codegeneration.reindent()=instant.codegeneration-module.html#reindent"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-8', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-string">                %%apply (int DIM1, %(dtype)s* IN_ARRAY1) {(int %(n1)s, %(dtype)s* %(array)s)};</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-string">                """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n1'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'array'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt [...]
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">                <tt class="py-comment"># 2-dimensional arrays, i.e. matrices</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">                <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-9" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-9', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"><tt class="py-string">                %%apply (int DIM1, int DIM2, %(dtype)s* IN_ARRAY2) {(int %(n1)s, int %(n2)s, %(dtype)s* %(array)s)};</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"><tt class="py-string">                """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n1'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'n2'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt cl [...]
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                <tt class="py-comment"># 3-dimensional arrays, i.e. tensors</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">                <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-10" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-10', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line"><tt class="py-string">                %%apply (int DIM1, int DIM2, int DIM3, %(dtype)s* IN_ARRAY3) {(int %(n1)s, int %(n2)s, int %(n3)s, %(dtype)s* %(array)s)};</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line"><tt class="py-string">                """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n1'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'n2'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt cl [...]
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-string">'out'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">a</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-comment"># output arrays</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-string">'out'</tt><tt class="py-op">)</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt id="link-11" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-11', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-str [...]
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-comment"># 1-dimensional arrays, i.e. vectors</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-12" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-12', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-string">            %%apply (int DIM1, %(dtype)s* ARGOUT_ARRAY1) {(int %(n1)s, %(dtype)s* %(array)s)};</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-string">            """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n1'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'array'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt cl [...]
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-comment"># in-place arrays</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt id="link-13" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-13', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">1</tt> <tt class="py-keyword">and</tt> <tt cl [...]
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-string">'multi'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">a</tt><tt class="py-op">:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                <tt class="py-comment"># n-dimensional arrays, i.e. tensors > 3-dimensional</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                <tt class="py-name">a</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-string">'multi'</tt><tt class="py-op">)</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-14" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-14', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-string">                %%typemap(in) (int %(n)s,int* %(ptv)s,%(dtype)s* %(array)s){</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-string">                  if (!PyArray_Check($input)) { </tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-string">                    PyErr_SetString(PyExc_TypeError, "Not a NumPy array");</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-string">                    return NULL; ;</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-string">                  }</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-string">                  PyArrayObject* pyarray;</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-string">                  pyarray = (PyArrayObject*)$input; </tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-string">                  $1 = int(pyarray->nd);</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-string">                  int* dims = new int($1); </tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-string">                  for (int d=0; d<$1; d++) {</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-string">                     dims[d] = int(pyarray->dimensions[d]);</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-string">                  }</tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-string">            </tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-string">                  $2 = dims;  </tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-string">                  $3 = (%(dtype)s*)pyarray->data;</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-string">                }</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-string">                %%typemap(freearg) (int %(n)s,int* %(ptv)s,%(dtype)s* %(array)s){</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-string">                    // deleting dims</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-string">                    delete $2; </tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-string">                }</tt> </tt>
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-string">                """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">,</tt> <tt class="py-string">'ptv'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt  [...]
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">                <tt class="py-comment"># 1-dimensional arrays, i.e. vectors</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">                <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-15" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-15', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line"><tt class="py-string">                %%apply (int DIM1, %(dtype)s* INPLACE_ARRAY1) {(int %(n1)s, %(dtype)s* %(array)s)};</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"><tt class="py-string">                """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n1'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'array'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><t [...]
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">3</tt><tt class="py-op">:</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">                <tt class="py-comment"># 2-dimensional arrays, i.e. matrices</tt> </tt>
-<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">                <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-16" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-16', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-string">                %%apply (int DIM1, int DIM2, %(dtype)s* INPLACE_ARRAY2) {(int %(n1)s, int %(n2)s, %(dtype)s* %(array)s)};</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-string">                """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n1'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'n2'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt c [...]
-<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">                <tt class="py-comment"># 3-dimensional arrays, i.e. tensors</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">                <tt class="py-name">typemaps</tt> <tt class="py-op">+=</tt> <tt id="link-17" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-17', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-string">                %%apply (int DIM1, int DIM2, int DIM3, %(dtype)s* INPLACE_ARRAY3) {(int %(n1)s, int %(n2)s, int %(n3)s, %(dtype)s* %(array)s)};</tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-string">                """</tt> <tt class="py-op">%</tt> <tt class="py-op">{</tt> <tt class="py-string">'n1'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'n2'</tt> <tt class="py-op">:</tt> <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt c [...]
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-comment"># end</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-comment"># end if</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">    <tt class="py-comment"># end for</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">     </tt>
-<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">    <tt class="py-name">system_headers_code</tt> <tt class="py-op">=</tt> <tt id="link-18" class="py-name" targets="Function instant.codegeneration.mapstrings()=instant.codegeneration-module.html#mapstrings"><a title="instant.codegeneration.mapstrings" class="py-name" href="#" onclick="return doclink('link-18', 'mapstrings', 'link-18');">mapstrings</a></tt><tt class="py-op">(</tt><tt class="py-string">'#include <%s [...]
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">    <tt class="py-name">local_headers_code</tt>  <tt class="py-op">=</tt> <tt id="link-19" class="py-name"><a title="instant.codegeneration.mapstrings" class="py-name" href="#" onclick="return doclink('link-19', 'mapstrings', 'link-18');">mapstrings</a></tt><tt class="py-op">(</tt><tt class="py-string">'#include "%s"'</tt><tt class="py-op">,</tt> <tt class="py-name">local_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">    <tt class="py-name">wrap_headers_code1</tt>  <tt class="py-op">=</tt> <tt id="link-20" class="py-name"><a title="instant.codegeneration.mapstrings" class="py-name" href="#" onclick="return doclink('link-20', 'mapstrings', 'link-18');">mapstrings</a></tt><tt class="py-op">(</tt><tt class="py-string">'#include "%s"'</tt><tt class="py-op">,</tt> <tt class="py-name">wrap_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">    <tt class="py-name">wrap_headers_code2</tt>  <tt class="py-op">=</tt> <tt id="link-21" class="py-name"><a title="instant.codegeneration.mapstrings" class="py-name" href="#" onclick="return doclink('link-21', 'mapstrings', 'link-18');">mapstrings</a></tt><tt class="py-op">(</tt><tt class="py-string">'%%include "%s"'</tt><tt class="py-op">,</tt> <tt class="py-name">wrap_headers</tt><tt class="py-op">)</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">    <tt class="py-name">numpy_i_include</tt> <tt class="py-op">=</tt> <tt class="py-string">''</tt> </tt>
-<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">arrays</tt><tt class="py-op">:</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">numpy_i_include</tt> <tt class="py-op">=</tt> <tt class="py-string">r'%include "numpy.i"'</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">     </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">    <tt class="py-name">interface_string</tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-22', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line"><tt class="py-string">        %%module  %(modulename)s</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line"><tt class="py-string">        //%%module (directors="1") %(modulename)s</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line"><tt class="py-string">        //%%feature("director");</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"><tt class="py-string">        %%{</tt> </tt>
-<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"><tt class="py-string">        #include <iostream></tt> </tt>
-<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-string">        %(additional_definitions)s </tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-string">        %(system_headers_code)s </tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line"><tt class="py-string">        %(local_headers_code)s </tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line"><tt class="py-string">        %(wrap_headers_code1)s </tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-string">        %(code)s</tt> </tt>
-<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-string">        %%}</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-string">        //%%feature("autodoc", "1");</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-string">        %(numpy_i_include)s</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-string">        </tt> </tt>
-<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"><tt class="py-string">        %%init%%{</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"><tt class="py-string">        %(init_code)s</tt> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line"><tt class="py-string">        %%}</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"><tt class="py-string">        %(additional_definitions)s</tt> </tt>
-<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line"><tt class="py-string">        %(additional_declarations)s</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line"><tt class="py-string">        %(wrap_headers_code2)s</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line"><tt class="py-string">        //%(typemaps)s</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line"><tt class="py-string">        %(code)s;</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line"><tt class="py-string">        """</tt> <tt class="py-op">%</tt> <tt class="py-name">locals</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">     </tt>
-<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">    <tt id="link-23" class="py-name"><a title="instant.output.write_file" class="py-name" href="#" onclick="return doclink('link-23', 'write_file', 'link-4');">write_file</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">interface_string</tt><tt class="py-op">)</tt> </tt>
-<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">    <tt id="link-24" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-24', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Done generating interface file."</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line"> </tt>
-<a name="write_setup"></a><div id="write_setup-def"><a name="L194"></a><tt class="py-lineno">194</tt> <a class="py-toggle" href="#" id="write_setup-toggle" onclick="return toggle('write_setup');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.codegeneration-module.html#write_setup">write_setup</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">modulename</tt><tt class="py-op">,</tt> <tt [...]
-</div><div id="write_setup-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="write_setup-expanded"><a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">    <tt class="py-docstring">"""Generate a setup.py file. Intended for internal library use."""</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">    <tt id="link-25" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-25', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Generating %s."</tt> <tt class="py-op">%</tt> <tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line"> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">    <tt class="py-name">swig_include_dirs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt [...]
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">     </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">    <tt class="py-comment"># Handle arguments</tt> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">    <tt class="py-name">swigfilename</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s.i"</tt> <tt class="py-op">%</tt> <tt class="py-name">modulename</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">    <tt class="py-name">wrapperfilename</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s_wrap.cxx"</tt> <tt class="py-op">%</tt> <tt class="py-name">modulename</tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">     </tt>
-<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">    <tt class="py-comment"># Treat C and C++ files in the same way for now</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">    <tt class="py-name">cppsrcs</tt> <tt class="py-op">=</tt> <tt class="py-name">cppsrcs</tt> <tt class="py-op">+</tt> <tt class="py-name">csrcs</tt> <tt class="py-op">+</tt> <tt class="py-op">[</tt><tt class="py-name">wrapperfilename</tt><tt class="py-op">]</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">     </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">    <tt class="py-name">swig_args</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">swigargs</tt><tt class="py-op">:</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-name">swig_args</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">swigargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line"> </tt>
-<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">    <tt class="py-name">compile_args</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">cppargs</tt><tt class="py-op">:</tt>   </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-name">compile_args</tt> <tt class="py-op">=</tt> <tt class="py-string">", extra_compile_args=%r"</tt> <tt class="py-op">%</tt> <tt class="py-name">cppargs</tt>  </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line"> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">    <tt class="py-name">link_args</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">lddargs</tt><tt class="py-op">:</tt>   </tt>
-<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-name">link_args</tt> <tt class="py-op">=</tt> <tt class="py-string">", extra_link_args=%r"</tt> <tt class="py-op">%</tt> <tt class="py-name">lddargs</tt>  </tt>
-<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"> </tt>
-<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">    <tt class="py-name">swig_include_dirs</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-string">"-I%s"</tt><tt class="py-op">%</tt><tt class="py-name">d</tt> <tt class="py-keyword">for</tt> <tt class="py-name">d</tt> <tt class="py-keyword">in</tt> <tt class="py-name">swig_include_dirs</tt><tt class="py-op">)</tt> </tt>
-<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">local_headers</tt><tt class="py-op">)</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-name">swig_include_dirs</tt> <tt class="py-op">+=</tt> <tt class="py-string">" -I.."</tt> </tt>
-<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">     </tt>
-<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">    <tt class="py-comment"># Generate code</tt> </tt>
-<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">    <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt id="link-26" class="py-name"><a title="instant.codegeneration.reindent" class="py-name" href="#" onclick="return doclink('link-26', 'reindent', 'link-8');">reindent</a></tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line"><tt class="py-string">        import os</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line"><tt class="py-string">        from distutils.core import setup, Extension</tt> </tt>
-<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line"><tt class="py-string">        name = '%s'</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line"><tt class="py-string">        swig_cmd =r'swig -python %s %s %s'</tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line"><tt class="py-string">        os.system(swig_cmd)</tt> </tt>
-<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line"><tt class="py-string">        sources = %s</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line"><tt class="py-string">        setup(name = '%s',</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"><tt class="py-string">              ext_modules = [Extension('_' + '%s',</tt> </tt>
-<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"><tt class="py-string">                             sources,</tt> </tt>
-<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line"><tt class="py-string">                             include_dirs=%s,</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"><tt class="py-string">                             library_dirs=%s,</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line"><tt class="py-string">                             libraries=%s %s %s)])  </tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line"><tt class="py-string">        """</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class="py-name">swig_include_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">swig_args</tt><tt class="py-op">,</tt> <tt class="py-name">swigfilename</tt><tt class="py-op">,</tt> <tt class="py-name">cppsrcs</tt><tt class="py-op">,</tt>  </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">               <tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</tt><tt class="py-op">,</tt> <tt class="py-name">include_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">library_dirs</tt><tt class="py-op">,</tt> <tt class="py-name">libraries</tt><tt class="py-op">,</tt> <tt class="py-name">compile_args</tt><tt class="py-op">,</tt> <tt class="py-name">link_args</tt><tt cla [...]
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">     </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">    <tt id="link-27" class="py-name"><a title="instant.output.write_file" class="py-name" href="#" onclick="return doclink('link-27', 'write_file', 'link-4');">write_file</a></tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">code</tt><tt class="py-op">)</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">    <tt id="link-28" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-28', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Done writing setup.py file."</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"> </tt>
-<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"> </tt>
-<a name="_test_write_interfacefile"></a><div id="_test_write_interfacefile-def"><a name="L244"></a><tt class="py-lineno">244</tt> <a class="py-toggle" href="#" id="_test_write_interfacefile-toggle" onclick="return toggle('_test_write_interfacefile');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.codegeneration-module.html#_test_write_interfacefile">_test_write_interfacefile</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-o [...]
-</div><div id="_test_write_interfacefile-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_test_write_interfacefile-expanded"><a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">    <tt class="py-name">modulename</tt> <tt class="py-op">=</tt> <tt class="py-string">"testmodule"</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">    <tt class="py-name">code</tt> <tt class="py-op">=</tt> <tt class="py-string">"void foo() {}"</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">    <tt class="py-name">init_code</tt> <tt class="py-op">=</tt> <tt class="py-string">"/* custom init code */"</tt> </tt>
-<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">    <tt class="py-name">additional_definitions</tt> <tt class="py-op">=</tt> <tt class="py-string">"/* custom definitions */"</tt> </tt>
-<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">    <tt class="py-name">additional_declarations</tt> <tt class="py-op">=</tt> <tt class="py-string">"/* custom declarations */"</tt> </tt>
-<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">    <tt class="py-name">system_headers</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"system_header1.h"</tt><tt class="py-op">,</tt> <tt class="py-string">"system_header2.h"</tt><tt class="py-op">]</tt> </tt>
-<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">    <tt class="py-name">local_headers</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"local_header1.h"</tt><tt class="py-op">,</tt> <tt class="py-string">"local_header2.h"</tt><tt class="py-op">]</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">    <tt class="py-name">wrap_headers</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"wrap_header1.h"</tt><tt class="py-op">,</tt> <tt class="py-string">"wrap_header2.h"</tt><tt class="py-op">]</tt> </tt>
-<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">    <tt class="py-name">arrays</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">[</tt><tt class="py-string">"length1"</tt><tt class="py-op">,</tt> <tt class="py-string">"array1"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-string">"dims"</tt><tt class="py-op">,</tt> <tt class="py-string">"lengths"</tt><tt class="py-op">,</tt> <tt class="py-string">"a [...]
-<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">     </tt>
-<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">    <tt id="link-29" class="py-name" targets="Function instant.codegeneration.write_interfacefile()=instant.codegeneration-module.html#write_interfacefile"><a title="instant.codegeneration.write_interfacefile" class="py-name" href="#" onclick="return doclink('link-29', 'write_interfacefile', 'link-29');">write_interfacefile</a></tt><tt class="py-op">(</tt><tt class="py-string">"%s.i"</tt> <tt class="py-op">%</tt> <tt  [...]
-<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"%s.i"</tt> <tt class="py-op">%</tt> <tt class="py-name">modulename</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> [...]
-</div><a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"> </tt>
-<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line"> </tt>
-<a name="_test_write_setup"></a><div id="_test_write_setup-def"><a name="L259"></a><tt class="py-lineno">259</tt> <a class="py-toggle" href="#" id="_test_write_setup-toggle" onclick="return toggle('_test_write_setup');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.codegeneration-module.html#_test_write_setup">_test_write_setup</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_test_write_setup-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_test_write_setup-expanded"><a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">    <tt class="py-name">modulename</tt> <tt class="py-op">=</tt> <tt class="py-string">"testmodule"</tt> </tt>
-<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt class="py-name">csrcs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"csrc1.c"</tt><tt class="py-op">,</tt> <tt class="py-string">"csrc2.c"</tt><tt class="py-op">]</tt> </tt>
-<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">    <tt class="py-name">cppsrcs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"cppsrc1.cpp"</tt><tt class="py-op">,</tt> <tt class="py-string">"cppsrc2.cpp"</tt><tt class="py-op">]</tt> </tt>
-<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">    <tt class="py-name">local_headers</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"local_header1.h"</tt><tt class="py-op">,</tt> <tt class="py-string">"local_header2.h"</tt><tt class="py-op">]</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">    <tt class="py-name">include_dirs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"includedir1"</tt><tt class="py-op">,</tt> <tt class="py-string">"includedir2"</tt><tt class="py-op">]</tt> </tt>
-<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">    <tt class="py-name">library_dirs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"librarydir1"</tt><tt class="py-op">,</tt> <tt class="py-string">"librarydir2"</tt><tt class="py-op">]</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">    <tt class="py-name">libraries</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"lib1"</tt><tt class="py-op">,</tt> <tt class="py-string">"lib2"</tt><tt class="py-op">]</tt> </tt>
-<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">    <tt class="py-name">swig_include_dirs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"swigdir1"</tt><tt class="py-op">,</tt> <tt class="py-string">"swigdir2"</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">    <tt class="py-name">swigargs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"-Swigarg1"</tt><tt class="py-op">,</tt> <tt class="py-string">"-Swigarg2"</tt><tt class="py-op">]</tt> </tt>
-<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">    <tt class="py-name">cppargs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"-cpparg1"</tt><tt class="py-op">,</tt> <tt class="py-string">"-cpparg2"</tt><tt class="py-op">]</tt> </tt>
-<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">    <tt class="py-name">lddargs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"-Lddarg1"</tt><tt class="py-op">,</tt> <tt class="py-string">"-Lddarg2"</tt><tt class="py-op">]</tt> </tt>
-<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">     </tt>
-<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">    <tt id="link-30" class="py-name" targets="Function instant.codegeneration.write_setup()=instant.codegeneration-module.html#write_setup"><a title="instant.codegeneration.write_setup" class="py-name" href="#" onclick="return doclink('link-30', 'write_setup', 'link-30');">write_setup</a></tt><tt class="py-op">(</tt><tt class="py-string">"setup.py"</tt><tt class="py-op">,</tt> <tt class="py-name">modulename</tt><tt cl [...]
-<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-string">"setup.py"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">readlines</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line"> </tt>
-<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"> </tt>
-<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
-<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">    <tt id="link-31" class="py-name" targets="Function instant.codegeneration._test_write_interfacefile()=instant.codegeneration-module.html#_test_write_interfacefile"><a title="instant.codegeneration._test_write_interfacefile" class="py-name" href="#" onclick="return doclink('link-31', '_test_write_interfacefile', 'link-31');">_test_write_interfacefile</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"\n"</tt><tt class="py-op">*</tt><tt class="py-number">3</tt> </tt>
-<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">    <tt id="link-32" class="py-name" targets="Function instant.codegeneration._test_write_setup()=instant.codegeneration-module.html#_test_write_setup"><a title="instant.codegeneration._test_write_setup" class="py-name" href="#" onclick="return doclink('link-32', '_test_write_setup', 'link-32');">_test_write_setup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.config-module.html b/doc/html_reference/instant.config-module.html
deleted file mode 100644
index be8453a..0000000
--- a/doc/html_reference/instant.config-module.html
+++ /dev/null
@@ -1,291 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.config</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module config
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.config-module.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module config</h1><p class="nomargin-top"><span class="codelink"><a href="instant.config-pysrc.html">source code</a></span></p>
-<p>This module contains helper functions for configuration using 
-  pkg-config.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="get_swig_version"></a><span class="summary-sig-name">get_swig_version</span>()</span><br />
-      Return the current swig version in a 'str'</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.config-pysrc.html#get_swig_version">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.config-module.html#check_swig_version" class="summary-sig-name">check_swig_version</a>(<span class="summary-sig-arg">version</span>,
-        <span class="summary-sig-arg">same</span>=<span class="summary-sig-default">False</span>)</span><br />
-      Check the swig version</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.config-pysrc.html#check_swig_version">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.config-module.html#header_and_libs_from_pkgconfig" class="summary-sig-name">header_and_libs_from_pkgconfig</a>(<span class="summary-sig-arg">*packages</span>,
-        <span class="summary-sig-arg">**kwargs</span>)</span><br />
-      This function returns list of include files, flags, libraries and 
-      library directories obtain from a pkgconfig file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.config-pysrc.html#header_and_libs_from_pkgconfig">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="check_swig_version"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">check_swig_version</span>(<span class="sig-arg">version</span>,
-        <span class="sig-arg">same</span>=<span class="sig-default">False</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant.config-pysrc.html#check_swig_version">source code</a></span> 
-    </td>
-  </tr></table>
-  
-  <pre class="literalblock">
-Check the swig version
-
-Returns True if the version of the installed swig is equal or greater than the
-version passed to the function.
-
-If same is True, the function returns True if and only if the two versions
-are the same.
-
-Usage:
-if instant.check_swig_version('1.3.36'):
-    print "Swig version is greater than or equal to 1.3.36"
-else:
-    print "Swig version is lower than 1.3.36"
-
-</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="header_and_libs_from_pkgconfig"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">header_and_libs_from_pkgconfig</span>(<span class="sig-arg">*packages</span>,
-        <span class="sig-arg">**kwargs</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant.config-pysrc.html#header_and_libs_from_pkgconfig">source code</a></span> 
-    </td>
-  </tr></table>
-  
-  <p>This function returns list of include files, flags, libraries and 
-  library directories obtain from a pkgconfig file.</p>
-  <p>The usage is: (includes, flags, libraries, libdirs) = 
-  header_and_libs_from_pkgconfig(*list_of_packages)</p>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.config-pysrc.html b/doc/html_reference/instant.config-pysrc.html
deleted file mode 100644
index 80b12d4..0000000
--- a/doc/html_reference/instant.config-pysrc.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.config</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module config
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.config-pysrc.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.config-module.html">Module instant.config</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-docstring">"""This module contains helper functions for configuration using pkg-config."""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Function instant.output.get_status_output()=instant.output-module.html#get_status_output"><a title=" [...]
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
-<a name="get_swig_version"></a><div id="get_swig_version-def"><a name="L7"></a><tt class="py-lineno">  7</tt> <a class="py-toggle" href="#" id="get_swig_version-toggle" onclick="return toggle('get_swig_version');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.config-module.html#get_swig_version">get_swig_version</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt>  </tt>
-</div><a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line">    <tt class="py-docstring">""" Return the current swig version in a 'str'"""</tt> </tt>
-<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line">    <tt class="py-comment"># Check for swig installation</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line">    <tt class="py-name">result</tt><tt class="py-op">,</tt> <tt id="link-2" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-2', 'output', 'link-0');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-3" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-3', 'get_status_output', 'link-1');">get_status_out [...]
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt>  </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">OSError</tt><tt class="py-op">(</tt><tt class="py-string">"SWIG is not installed on the system."</tt><tt class="py-op">)</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">    <tt class="py-name">pattern</tt> <tt class="py-op">=</tt> <tt class="py-string">"SWIG Version (.*)"</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">    <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-name">pattern</tt><tt class="py-op">,</tt> <tt id="link-4" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-4', 'output', 'link-0');">output</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">groups</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-</div><a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
-<a name="check_swig_version"></a><div id="check_swig_version-def"><a name="L17"></a><tt class="py-lineno"> 17</tt> <a class="py-toggle" href="#" id="check_swig_version-toggle" onclick="return toggle('check_swig_version');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.config-module.html#check_swig_version">check_swig_version</a><tt class="py-op">(</tt><tt class="py-param">version</tt><tt class="py-op">,</tt> <tt class="py-param">same</tt><t [...]
-</div><div id="check_swig_version-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="check_swig_version-expanded"><a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">    <tt class="py-docstring">""" Check the swig version</tt> </tt>
-<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">    Returns True if the version of the installed swig is equal or greater than the</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">    version passed to the function.</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">    If same is True, the function returns True if and only if the two versions</tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">    are the same.</tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">    Usage:</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">    if instant.check_swig_version('1.3.36'):</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">        print "Swig version is greater than or equal to 1.3.36"</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">    else:</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">        print "Swig version is lower than 1.3.36"</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">version</tt><tt class="py-op">,</tt><tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"Provide the first version number as a 'str'"</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">version</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"."</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">==</tt><tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-string">"Provide the version number as three number [...]
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">    <tt class="py-name">installed_version</tt> <tt class="py-op">=</tt> <tt class="py-name">map</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">,</tt> <tt id="link-5" class="py-name" targets="Function instant.config.get_swig_version()=instant.config-module.html#get_swig_version"><a title="instant.config.get_swig_version" class="py-name" href="#" onclick="return doclink('link-5', 'get_swig_vers [...]
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">    <tt class="py-name">handed_version</tt>    <tt class="py-op">=</tt> <tt class="py-name">map</tt><tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">,</tt> <tt class="py-name">version</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">'.'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">     </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">    <tt class="py-comment"># If same is True then just check that all numbers are equal</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">same</tt><tt class="py-op">:</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">all</tt><tt class="py-op">(</tt><tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-name">h</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt> <tt class="py-keyword">in</tt> <tt class="py-name">zip</tt><tt class="py-op">(</tt><tt class="py-name">installed_version</tt><tt class="p [...]
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">     </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-name">swig_enough</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">v</tt> <tt class="py-keyword">for</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">installed_version</tt><tt class="py-op">]</tt><tt class="p [...]
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">handed_version</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op"><</tt> <tt class="py-name">v</tt><tt class="py-op">:</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">            <tt class="py-keyword">break</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">handed_version</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">v</tt><tt class="py-op">:</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-keyword">continue</tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            <tt class="py-name">swig_enough</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-keyword">break</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">     </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">swig_enough</tt> </tt>
-</div><a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"> </tt>
-<a name="header_and_libs_from_pkgconfig"></a><div id="header_and_libs_from_pkgconfig-def"><a name="L54"></a><tt class="py-lineno"> 54</tt> <a class="py-toggle" href="#" id="header_and_libs_from_pkgconfig-toggle" onclick="return toggle('header_and_libs_from_pkgconfig');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.config-module.html#header_and_libs_from_pkgconfig">header_and_libs_from_pkgconfig</a><tt class="py-op">(</tt><tt class="py-op"> [...]
-</div><div id="header_and_libs_from_pkgconfig-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="header_and_libs_from_pkgconfig-expanded"><a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">    <tt class="py-docstring">"""This function returns list of include files, flags, libraries and library directories obtain from a pkgconfig file.</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">    The usage is: </tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">    (includes, flags, libraries, libdirs) = header_and_libs_from_pkgconfig(*list_of_packages)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-name">returnLinkFlags</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"returnLinkFlags"</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">    <tt class="py-name">result</tt><tt class="py-op">,</tt> <tt id="link-6" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-6', 'output', 'link-0');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-7" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-7', 'get_status_output', 'link-1');">get_status_out [...]
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt>  </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">OSError</tt><tt class="py-op">(</tt><tt class="py-string">"The pkg-config package is not installed on the system."</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt class="py-name">env</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">env</tt><tt class="py-op">[</tt><tt class="py-string">"PKG_CONFIG_ALLOW_SYSTEM_CFLAGS"</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-string">"0"</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-name">env</tt><tt class="py-op">[</tt><tt class="py-string">"PKG_CONFIG_ALLOW_SYSTEM_CFLAGS"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">"1"</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">    <tt class="py-name">includes</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">    <tt class="py-name">flags</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">    <tt class="py-name">libs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">    <tt class="py-name">libdirs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-name">linkflags</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">pack</tt> <tt class="py-keyword">in</tt> <tt class="py-name">packages</tt><tt class="py-op">:</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-name">result</tt><tt class="py-op">,</tt> <tt id="link-8" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-8', 'output', 'link-0');">output</a></tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-9', 'get_status_output', 'link-1');">get_status [...]
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">result</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt>  </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">            <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt id="link-10" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-10', 'get_status_output', 'link-1');">get_status_output</a></tt><tt class="py-op">(</tt><tt class="py-string">"pkg-config --cflags-only-I %s "</tt> <tt class="py-op">%</tt> <tt class="py-name">pack</tt><tt class="py-op">,</t [...]
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-name">includes</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tmp</tt><tt class="py-op">)</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">             </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">            <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-11', 'get_status_output', 'link-1');">get_status_output</a></tt><tt class="py-op">(</tt><tt class="py-string">"pkg-config --cflags-only-other %s "</tt> <tt class="py-op">%</tt> <tt class="py-name">pack</tt><tt class="py-op"> [...]
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">            <tt class="py-name">flags</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">tmp</tt><tt class="py-op">)</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">             </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">            <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-12', 'get_status_output', 'link-1');">get_status_output</a></tt><tt class="py-op">(</tt><tt class="py-string">"pkg-config --libs-only-l  %s "</tt> <tt class="py-op">%</tt> <tt class="py-name">pack</tt><tt class="py-op">,</tt [...]
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">            <tt class="py-name">libs</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tmp</tt><tt class="py-op">)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">             </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-13', 'get_status_output', 'link-1');">get_status_output</a></tt><tt class="py-op">(</tt><tt class="py-string">"pkg-config --libs-only-L  %s "</tt> <tt class="py-op">%</tt> <tt class="py-name">pack</tt><tt class="py-op">,</tt [...]
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-name">libdirs</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tmp</tt><tt class="py-op">)</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-name">tmp</tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name"><a title="instant.output.get_status_output" class="py-name" href="#" onclick="return doclink('link-14', 'get_status_output', 'link-1');">get_status_output</a></tt><tt class="py-op">(</tt><tt class="py-string">"pkg-config --libs-only-other  %s "</tt> <tt class="py-op">%</tt> <tt class="py-name">pack</tt><tt class="py-op">, [...]
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-name">linkflags</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-name">tmp</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt>  </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt class="py-name">OSError</tt><tt class="py-op">(</tt><tt class="py-string">"The pkg-config file %s does not exist"</tt> <tt class="py-op">%</tt> <tt class="py-name">pack</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">returnLinkFlags</tt><tt class="py-op">:</tt> <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">includes</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">,</tt><tt class="py-name">libs</tt><tt class="py-op">,</tt> <tt class="py-name">libdirs</tt><tt class="py-op">,</tt> <tt class="py-name">linkflags</tt><tt cla [...]
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">includes</tt><tt class="py-op">,</tt><tt class="py-name">flags</tt><tt class="py-op">,</tt><tt class="py-name">libs</tt><tt class="py-op">,</tt> <tt class="py-name">libdirs</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.inlining-module.html b/doc/html_reference/instant.inlining-module.html
deleted file mode 100644
index 6c63fac..0000000
--- a/doc/html_reference/instant.inlining-module.html
+++ /dev/null
@@ -1,407 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.inlining</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module inlining
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.inlining-module.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module inlining</h1><p class="nomargin-top"><span class="codelink"><a href="instant.inlining-pysrc.html">source code</a></span></p>
-<p>This module contains the inline* functions, which allows easy inlining
-  of C/C++ functions.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="get_func_name"></a><span class="summary-sig-name">get_func_name</span>(<span class="summary-sig-arg">c_code</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.inlining-pysrc.html#get_func_name">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.inlining-module.html#inline" class="summary-sig-name">inline</a>(<span class="summary-sig-arg">c_code</span>,
-        <span class="summary-sig-arg">**kwargs</span>)</span><br />
-      This is a short wrapper around the build_module function in instant.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.inlining-pysrc.html#inline">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.inlining-module.html#inline_module" class="summary-sig-name">inline_module</a>(<span class="summary-sig-arg">c_code</span>,
-        <span class="summary-sig-arg">**kwargs</span>)</span><br />
-      This is a short wrapper around the build_module function in instant.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.inlining-pysrc.html#inline_module">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.inlining-module.html#inline_with_numpy" class="summary-sig-name">inline_with_numpy</a>(<span class="summary-sig-arg">c_code</span>,
-        <span class="summary-sig-arg">**kwargs</span>)</span><br />
-      This is a short wrapper around the build_module function in instant.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.inlining-pysrc.html#inline_with_numpy">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.inlining-module.html#inline_module_with_numpy" class="summary-sig-name">inline_module_with_numpy</a>(<span class="summary-sig-arg">c_code</span>,
-        <span class="summary-sig-arg">**kwargs</span>)</span><br />
-      This is a short wrapper around the build_module function in instant.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.inlining-pysrc.html#inline_module_with_numpy">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="inline"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">inline</span>(<span class="sig-arg">c_code</span>,
-        <span class="sig-arg">**kwargs</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant.inlining-pysrc.html#inline">source code</a></span> 
-    </td>
-  </tr></table>
-  
-  <p>This is a short wrapper around the build_module function in 
-  instant.</p>
-  <p>It creates a module given that the input is a valid C function. It is 
-  only possible to inline one C function each time.</p>
-  <p>Usage:</p>
-<pre class="py-doctest">
-<span class="py-prompt">>>> </span><span class="py-keyword">from</span> instant <span class="py-keyword">import</span> inline
-<span class="py-prompt">>>> </span>add_func = inline(<span class="py-string">"double add(double a, double b){ return a+b; }"</span>)
-<span class="py-prompt">>>> </span><span class="py-keyword">print</span> <span class="py-string">"The sum of 3 and 4.5 is "</span>, add_func(3, 4.5)</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="inline_module"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">inline_module</span>(<span class="sig-arg">c_code</span>,
-        <span class="sig-arg">**kwargs</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant.inlining-pysrc.html#inline_module">source code</a></span> 
-    </td>
-  </tr></table>
-  
-  <p>This is a short wrapper around the build_module function in 
-  instant.</p>
-  <p>It creates a module given that the input is a valid C function. It is 
-  only possible to inline one C function each time.</p>
-  <p>Usage:</p>
-<pre class="py-doctest">
-<span class="py-prompt">>>> </span><span class="py-keyword">from</span> instant <span class="py-keyword">import</span> inline
-<span class="py-prompt">>>> </span>add_func = inline(<span class="py-string">"double add(double a, double b){ return a+b; }"</span>)
-<span class="py-prompt">>>> </span><span class="py-keyword">print</span> <span class="py-string">"The sum of 3 and 4.5 is "</span>, add_func(3, 4.5)</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="inline_with_numpy"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">inline_with_numpy</span>(<span class="sig-arg">c_code</span>,
-        <span class="sig-arg">**kwargs</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant.inlining-pysrc.html#inline_with_numpy">source code</a></span> 
-    </td>
-  </tr></table>
-  
-  <p>This is a short wrapper around the build_module function in 
-  instant.</p>
-  <p>It creates a module given that the input is a valid C function. It is 
-  only possible to inline one C function each time. The difference between 
-  this function and the inline function is that C-arrays can be used. The 
-  following example illustrates that.</p>
-  <p>Usage:</p>
-<pre class="py-doctest">
-<span class="py-prompt">>>> </span><span class="py-keyword">import</span> numpy
-<span class="py-prompt">>>> </span><span class="py-keyword">import</span> time
-<span class="py-prompt">>>> </span><span class="py-keyword">from</span> instant <span class="py-keyword">import</span> inline_with_numpy
-<span class="py-prompt">>>> </span>c_code = <span class="py-string">""</span>"
-<span class="py-output">    double sum (int n1, double* array1){</span>
-<span class="py-output">        double tmp = 0.0; </span>
-<span class="py-output">        for (int i=0; i<n1; i++) {  </span>
-<span class="py-output">            tmp += array1[i]; </span>
-<span class="py-output">        }</span>
-<span class="py-output">        return tmp; </span>
-<span class="py-output">    }</span>
-<span class="py-output">    """</span>
-<span class="py-output"></span><span class="py-prompt">>>> </span>sum_func = inline_with_numpy(c_code,  arrays = [[<span class="py-string">'n1'</span>, <span class="py-string">'array1'</span>]])
-<span class="py-prompt">>>> </span>a = numpy.arange(10000000); a = numpy.sin(a)
-<span class="py-prompt">>>> </span>sum_func(a)</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="inline_module_with_numpy"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">inline_module_with_numpy</span>(<span class="sig-arg">c_code</span>,
-        <span class="sig-arg">**kwargs</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant.inlining-pysrc.html#inline_module_with_numpy">source code</a></span> 
-    </td>
-  </tr></table>
-  
-  <p>This is a short wrapper around the build_module function in 
-  instant.</p>
-  <p>It creates a module given that the input is a valid C function. It is 
-  only possible to inline one C function each time. The difference between 
-  this function and the inline function is that C-arrays can be used. The 
-  following example illustrates that.</p>
-  <p>Usage:</p>
-<pre class="py-doctest">
-<span class="py-prompt">>>> </span><span class="py-keyword">import</span> numpy
-<span class="py-prompt">>>> </span><span class="py-keyword">import</span> time
-<span class="py-prompt">>>> </span><span class="py-keyword">from</span> instant <span class="py-keyword">import</span> inline_with_numpy
-<span class="py-prompt">>>> </span>c_code = <span class="py-string">""</span>"
-<span class="py-output">    double sum (int n1, double* array1){</span>
-<span class="py-output">        double tmp = 0.0; </span>
-<span class="py-output">        for (int i=0; i<n1; i++) {  </span>
-<span class="py-output">            tmp += array1[i]; </span>
-<span class="py-output">        }</span>
-<span class="py-output">        return tmp; </span>
-<span class="py-output">    }</span>
-<span class="py-output">    """</span>
-<span class="py-output"></span><span class="py-prompt">>>> </span>sum_func = inline_with_numpy(c_code,  arrays = [[<span class="py-string">'n1'</span>, <span class="py-string">'array1'</span>]])
-<span class="py-prompt">>>> </span>a = numpy.arange(10000000); a = numpy.sin(a)
-<span class="py-prompt">>>> </span>sum_func(a)</pre>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.inlining-pysrc.html b/doc/html_reference/instant.inlining-pysrc.html
deleted file mode 100644
index ff9d7fe..0000000
--- a/doc/html_reference/instant.inlining-pysrc.html
+++ /dev/null
@@ -1,257 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.inlining</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module inlining
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.inlining-pysrc.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.inlining-module.html">Module instant.inlining</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-docstring">"""This module contains the inline* functions, which allows easy inlining of C/C++ functions."""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
-<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Function instant.output.instant_assert()=instant.output-module.html#instant_assert"><a title="instan [...]
-<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module instant.build=instant.build-module.html"><a title="instant.build" class="py-name" href="#" onclick="return doclink('link-4', 'build', 'link-4');">build</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Function instant.build.build_module()=instant.build-module.html#build_module"><a title="instant.build.bui [...]
-<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"> </tt>
-<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"> </tt>
-<a name="get_func_name"></a><div id="get_func_name-def"><a name="L8"></a><tt class="py-lineno">  8</tt> <a class="py-toggle" href="#" id="get_func_name-toggle" onclick="return toggle('get_func_name');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.inlining-module.html#get_func_name">get_func_name</a><tt class="py-op">(</tt><tt class="py-param">c_code</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_func_name-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="get_func_name-expanded"><a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line">    <tt class="py-comment"># TODO: Something more robust? Regexp?</tt> </tt>
-<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">        <tt class="py-name">func</tt> <tt class="py-op">=</tt> <tt class="py-name">c_code</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-name">c_code</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-string">'('</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">        <tt class="py-name">ret</tt><tt class="py-op">,</tt> <tt class="py-name">func_name</tt> <tt class="py-op">=</tt> <tt class="py-name">func</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">        <tt id="link-6" class="py-name"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-6', 'instant_error', 'link-3');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Failed to extract function name from c_code."</tt><tt class="py-op">)</tt> </tt>
-<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">func_name</tt> </tt>
-</div><a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
-<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
-<a name="inline"></a><div id="inline-def"><a name="L18"></a><tt class="py-lineno"> 18</tt> <a class="py-toggle" href="#" id="inline-toggle" onclick="return toggle('inline');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.inlining-module.html#inline">inline</a><tt class="py-op">(</tt><tt class="py-param">c_code</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</t [...]
-</div><div id="inline-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="inline-expanded"><a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">    <tt class="py-docstring">"""This is a short wrapper around the build_module function in instant. </tt> </tt>
-<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">    It creates a module given that</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">    the input is a valid C function. It is only possible</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">    to inline one C function each time. </tt> </tt>
-<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">    Usage: </tt> </tt>
-<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">    >>> from instant import inline</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">    >>> add_func = inline("double add(double a, double b){ return a+b; }")</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">    >>> print "The sum of 3 and 4.5 is ", add_func(3, 4.5)</tt> </tt>
-<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt id="link-7" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-7', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-string">"code"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">,</tt> <tt class="py-string">"Cannot specify code twice."</tt>< [...]
-<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">    <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"code"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">c_code</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">    <tt class="py-name">func_name</tt> <tt class="py-op">=</tt> <tt id="link-8" class="py-name" targets="Function instant.inlining.get_func_name()=instant.inlining-module.html#get_func_name"><a title="instant.inlining.get_func_name" class="py-name" href="#" onclick="return doclink('link-8', 'get_func_name', 'link-8');">get_func_name</a></tt><tt class="py-op">(</tt><tt class="py-name">c_code</tt><tt class="py-op">)</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">    <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name"><a title="instant.build.build_module" class="py-name" href="#" onclick="return doclink('link-9', 'build_module', 'link-5');">build_module</a></tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">func_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">func_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt id="link-10" class="py-name"><a title="instant.output.instant_warning" class="py-name" href="#" onclick="return doclink('link-10', 'instant_warning', 'link-2');">instant_warning</a></tt><tt class="py-op">(</tt><tt class="py-string">"Didn't find function '%s', returning module."</tt> <tt class="py-op">%</tt> <tt class="py-name">func_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-</div><a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"> </tt>
-<a name="inline_module"></a><div id="inline_module-def"><a name="L41"></a><tt class="py-lineno"> 41</tt> <a class="py-toggle" href="#" id="inline_module-toggle" onclick="return toggle('inline_module');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.inlining-module.html#inline_module">inline_module</a><tt class="py-op">(</tt><tt class="py-param">c_code</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt  [...]
-</div><div id="inline_module-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="inline_module-expanded"><a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-docstring">"""This is a short wrapper around the build_module function in instant. </tt> </tt>
-<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring">    It creates a module given that</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">    the input is a valid C function. It is only possible</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">    to inline one C function each time. </tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">    Usage: </tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">    >>> from instant import inline</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">    >>> add_func = inline("double add(double a, double b){ return a+b; }")</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">    >>> print "The sum of 3 and 4.5 is ", add_func(3, 4.5)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt id="link-11" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-11', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-string">"code"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">,</tt> <tt class="py-string">"Cannot specify code twice."</tt [...]
-<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">    <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"code"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">c_code</tt> </tt>
-<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">    <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><a title="instant.build.build_module" class="py-name" href="#" onclick="return doclink('link-12', 'build_module', 'link-5');">build_module</a></tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-</div><a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
-<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"> </tt>
-<a name="inline_with_numpy"></a><div id="inline_with_numpy-def"><a name="L61"></a><tt class="py-lineno"> 61</tt> <a class="py-toggle" href="#" id="inline_with_numpy-toggle" onclick="return toggle('inline_with_numpy');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.inlining-module.html#inline_with_numpy">inline_with_numpy</a><tt class="py-op">(</tt><tt class="py-param">c_code</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="p [...]
-</div><div id="inline_with_numpy-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="inline_with_numpy-expanded"><a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-docstring">'''This is a short wrapper around the build_module function in instant. </tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring">       </tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">    It creates a module given that</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">    the input is a valid C function. It is only possible</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line"><tt class="py-docstring">    to inline one C function each time. The difference between</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"><tt class="py-docstring">    this function and the inline function is that C-arrays can be used. </tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"><tt class="py-docstring">    The following example illustrates that. </tt> </tt>
-<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"><tt class="py-docstring">    Usage: </tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line"><tt class="py-docstring">    >>> import numpy</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"><tt class="py-docstring">    >>> import time</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">    >>> from instant import inline_with_numpy</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">    >>> c_code = """</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">        double sum (int n1, double* array1){</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">            double tmp = 0.0; </tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">            for (int i=0; i<n1; i++) {  </tt> </tt>
-<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">                tmp += array1[i]; </tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">            }</tt> </tt>
-<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">            return tmp; </tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">        }</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">    >>> sum_func = inline_with_numpy(c_code,  arrays = [['n1', 'array1']])</tt> </tt>
-<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">    >>> a = numpy.arange(10000000); a = numpy.sin(a)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">    >>> sum_func(a)</tt> </tt>
-<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">    <tt id="link-13" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-13', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-string">"code"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">,</tt> <tt class="py-string">"Cannot specify code twice."</tt [...]
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">    <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"code"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">c_code</tt>  </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">    <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"init_code"</tt><tt class="py-op">]</tt>      <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"init_code"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt>      <tt class="py-op">+</tt> <tt class="py-str [...]
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"system_headers"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"system_headers"</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt [...]
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">    <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"include_dirs"</tt><tt class="py-op">]</tt>   <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"include_dirs"</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>   <tt class="py-op">+</tt [...]
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">    <tt class="py-name">func_name</tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name"><a title="instant.inlining.get_func_name" class="py-name" href="#" onclick="return doclink('link-14', 'get_func_name', 'link-8');">get_func_name</a></tt><tt class="py-op">(</tt><tt class="py-name">c_code</tt><tt class="py-op">)</tt> </tt>
-<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">    <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="instant.build.build_module" class="py-name" href="#" onclick="return doclink('link-15', 'build_module', 'link-5');">build_module</a></tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">hasattr</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">func_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">module</tt><tt class="py-op">,</tt> <tt class="py-name">func_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt id="link-16" class="py-name"><a title="instant.output.instant_warning" class="py-name" href="#" onclick="return doclink('link-16', 'instant_warning', 'link-2');">instant_warning</a></tt><tt class="py-op">(</tt><tt class="py-string">"Didn't find function '%s', returning module."</tt> <tt class="py-op">%</tt> <tt class="py-name">func_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-</div><a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
-<a name="inline_module_with_numpy"></a><div id="inline_module_with_numpy-def"><a name="L102"></a><tt class="py-lineno">102</tt> <a class="py-toggle" href="#" id="inline_module_with_numpy-toggle" onclick="return toggle('inline_module_with_numpy');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.inlining-module.html#inline_module_with_numpy">inline_module_with_numpy</a><tt class="py-op">(</tt><tt class="py-param">c_code</tt><tt class="py-op">, [...]
-</div><div id="inline_module_with_numpy-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="inline_module_with_numpy-expanded"><a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">    <tt class="py-docstring">'''This is a short wrapper around the build_module function in instant. </tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">       </tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">    It creates a module given that</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">    the input is a valid C function. It is only possible</tt> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">    to inline one C function each time. The difference between</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line"><tt class="py-docstring">    this function and the inline function is that C-arrays can be used. </tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"><tt class="py-docstring">    The following example illustrates that. </tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">    Usage: </tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">    >>> import numpy</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">    >>> import time</tt> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">    >>> from instant import inline_with_numpy</tt> </tt>
-<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">    >>> c_code = """</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">        double sum (int n1, double* array1){</tt> </tt>
-<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">            double tmp = 0.0; </tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring">            for (int i=0; i<n1; i++) {  </tt> </tt>
-<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring">                tmp += array1[i]; </tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring">            }</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring">            return tmp; </tt> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">        }</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring">    >>> sum_func = inline_with_numpy(c_code,  arrays = [['n1', 'array1']])</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">    >>> a = numpy.arange(10000000); a = numpy.sin(a)</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">    >>> sum_func(a)</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">    '''</tt> </tt>
-<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> </tt>
-<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">    <tt id="link-17" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-17', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-string">"code"</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">kwargs</tt><tt class="py-op">,</tt> <tt class="py-string">"Cannot specify code twice."</t [...]
-<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">    <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"code"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">c_code</tt>  </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">    <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"init_code"</tt><tt class="py-op">]</tt>      <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"init_code"</tt><tt class="py-op">,</tt><tt class="py-string">""</tt><tt class="py-op">)</tt>      <tt class="py-op">+</tt> <tt class="py-st [...]
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">    <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"system_headers"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"system_headers"</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> <tt class="py-op">+</t [...]
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">    <tt class="py-name">kwargs</tt><tt class="py-op">[</tt><tt class="py-string">"include_dirs"</tt><tt class="py-op">]</tt>   <tt class="py-op">=</tt> <tt class="py-name">kwargs</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"include_dirs"</tt><tt class="py-op">,</tt><tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>   <tt class="py-op">+</t [...]
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">    <tt class="py-name">module</tt> <tt class="py-op">=</tt> <tt id="link-18" class="py-name"><a title="instant.build.build_module" class="py-name" href="#" onclick="return doclink('link-18', 'build_module', 'link-5');">build_module</a></tt><tt class="py-op">(</tt><tt class="py-op">**</tt><tt class="py-name">kwargs</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">module</tt> </tt>
-</div><a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.instant-class.html b/doc/html_reference/instant.instant-class.html
deleted file mode 100644
index 57f4cd7..0000000
--- a/doc/html_reference/instant.instant-class.html
+++ /dev/null
@@ -1,559 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.instant</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Module instant</a> ::
-        Class instant
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.instant-class.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== CLASS DESCRIPTION ==================== -->
-<h1 class="epydoc">Class instant</h1><span class="codelink"><a href="instant-pysrc.html#instant">source code</a></span><br /><br />
-<!-- ==================== INSTANCE METHODS ==================== -->
-<a name="section-InstanceMethods"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Instance Methods</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-InstanceMethods"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      instant constructor</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant-pysrc.html#instant.__init__">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="parse_args"></a><span class="summary-sig-name">parse_args</span>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">dict</span>)</span><br />
-      A method for parsing arguments.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant-pysrc.html#instant.parse_args">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.instant-class.html#create_extension" class="summary-sig-name">create_extension</a>(<span class="summary-sig-arg">self</span>,
-        <span class="summary-sig-arg">**args</span>)</span><br />
-      Call this function to instantly create an extension module.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant-pysrc.html#instant.create_extension">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="debug"></a><span class="summary-sig-name">debug</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      print out all instance variable</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant-pysrc.html#instant.debug">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="clean"></a><span class="summary-sig-name">clean</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Clean up files the current session.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant-pysrc.html#instant.clean">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.instant-class.html#generate_Interfacefile" class="summary-sig-name">generate_Interfacefile</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Use this function to generate a SWIG interface file.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant-pysrc.html#instant.generate_Interfacefile">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.instant-class.html#check_md5sum" class="summary-sig-name">check_md5sum</a>(<span class="summary-sig-arg">self</span>)</span><br />
-      Check if the md5sum of the generated interface file has changed 
-      since the last time the module was compiled.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant-pysrc.html#instant.check_md5sum">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="generate_setup"></a><span class="summary-sig-name">generate_setup</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Generates a setup.py file</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant-pysrc.html#instant.generate_setup">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="generate_Makefile"></a><span class="summary-sig-name">generate_Makefile</span>(<span class="summary-sig-arg">self</span>)</span><br />
-      Generates a project dependent Makefile, which includes and uses 
-      SWIG's own Makefile to create an extension module of the supplied 
-      C/C++ code.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant-pysrc.html#instant.generate_Makefile">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== METHOD DETAILS ==================== -->
-<a name="section-MethodDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Method Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-MethodDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="create_extension"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">create_extension</span>(<span class="sig-arg">self</span>,
-        <span class="sig-arg">**args</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant-pysrc.html#instant.create_extension">source code</a></span> 
-    </td>
-  </table>
-  
-  Call this function to instantly create an extension module. SWIG is 
-  used to generate code that can be compiled and used as an ordinary Python
-  module.
-  <h1 class="heading">Arguments:</h1>
-    <ul>
-      <li>
-        <b>code</b>:
-        <ul>
-          <li>
-            A Python string containing C or C++ function, class, 
-            ....
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>module</b>:
-        <ul>
-          <li>
-            The name you want for the module (Default is 
-            'instant_swig_module'.). String.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>swigopts</b>:
-        <ul>
-          <li>
-            Options to swig, for instance <code>-lpointers.i</code> to 
-            include the SWIG pointers.i library. String.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>init_code</b>:
-        <ul>
-          <li>
-            Code that should be executed when the instant extension is 
-            imported. String.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>system_headers</b>:
-        <ul>
-          <li>
-            A list of system header files required by the instant 
-            code.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>local_headers</b>:
-        <ul>
-          <li>
-            A list of local header files required by the instant 
-            code.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>wrap_headers</b>:
-        <ul>
-          <li>
-            A list of local header files that should be wrapped by 
-            SWIG.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>include_dirs</b>:
-        <ul>
-          <li>
-            A list of directories to search for header files.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>sources</b>:
-        <ul>
-          <li>
-            A list of source files to compile and link with the 
-            extension.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>cppargs</b>:
-        <ul>
-          <li>
-            Flags like <code>-D</code>, <code>-U</code>, etc. 
-            String.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>lddargs</b>:
-        <ul>
-          <li>
-            Flags like <code>-D</code>, <code>-U</code>, etc. 
-            String.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>libraries</b>:
-        <ul>
-          <li>
-            A list of libraries needed by the instant extension.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>library_dirs</b>:
-        <ul>
-          <li>
-            A list of directories to search for libraries 
-            (<code>-l</code>).
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>object_files</b>:
-        <ul>
-          <li>
-            If you want to compile the files yourself. NOT YET 
-            SUPPORTED.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>arrays</b>:
-        <ul>
-          <li>
-            A list of the C arrays to be made from NumPy arrays.
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>additional_definitions</b>:
-        <ul>
-          <li>
-            A list of additional definitions (typically needed for 
-            inheritance)
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>additional_declarations</b>:
-        <ul>
-          <li>
-            A list of additional declarations (typically needed for 
-            inheritance)
-          </li>
-        </ul>
-      </li>
-      <li>
-        <b>signature</b>:
-        <ul>
-          <li>
-            A signature string to identify the form instead of the 
-            source code.
-          </li>
-        </ul>
-      </li>
-    </ul>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="generate_Interfacefile"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">generate_Interfacefile</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant-pysrc.html#instant.generate_Interfacefile">source code</a></span> 
-    </td>
-  </table>
-  
-  <p>Use this function to generate a SWIG interface file.</p>
-  To generate an interface file it uses the following 
-  class-variables:
-  <ul>
-    <li>
-      code
-    </li>
-    <li>
-      ifile_name (The SWIG input file)
-    </li>
-    <li>
-      init_code (Code to put in the init section of the interface 
-      file)
-    </li>
-    <li>
-      system_headers (A list of system headers with declarations 
-      needed)
-    </li>
-    <li>
-      local_headers (A list of local headers with declarations 
-      needed)
-    </li>
-    <li>
-      wrap_headers (A list of local headers that will be wrapped by 
-      SWIG)
-    </li>
-  </ul>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<a name="check_md5sum"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">check_md5sum</span>(<span class="sig-arg">self</span>)</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant-pysrc.html#instant.check_md5sum">source code</a></span> 
-    </td>
-  </table>
-  
-  Check if the md5sum of the generated interface file has changed since 
-  the last time the module was compiled. If it has changed then 
-  recompilation is necessary.
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0beta1 on Fri Aug  8 15:09:14 2008
-    </td>
-    <td align="right" class="footer">
-      <a href="http://epydoc.sourceforge.net">http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie()
-  // -->
-</script>
-  
-</body>
-</html>
diff --git a/doc/html_reference/instant.locking-module.html b/doc/html_reference/instant.locking-module.html
deleted file mode 100644
index ce1107c..0000000
--- a/doc/html_reference/instant.locking-module.html
+++ /dev/null
@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.locking</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module locking
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.locking-module.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module locking</h1><p class="nomargin-top"><span class="codelink"><a href="instant.locking-pysrc.html">source code</a></span></p>
-<p>File locking for the cache system, to avoid problems when multiple 
-  processes work with the same module. Only works on UNIX systems.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="release_all_locks"></a><span class="summary-sig-name">release_all_locks</span>()</span><br />
-      Release all locks currently held by Instant.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.locking-pysrc.html#release_all_locks">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="get_lock"></a><span class="summary-sig-name">get_lock</span>(<span class="summary-sig-arg">cache_dir</span>,
-        <span class="summary-sig-arg">module_name</span>)</span><br />
-      Get a new file lock.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.locking-pysrc.html#get_lock">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="release_lock"></a><span class="summary-sig-name">release_lock</span>(<span class="summary-sig-arg">lock</span>)</span><br />
-      Release a lock currently held by Instant.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.locking-pysrc.html#release_lock">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="_lock_names"></a><span class="summary-name">_lock_names</span> = <code title="{}"><code class="variable-group">{</code><code class="variable-group">}</code></code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="_lock_files"></a><span class="summary-name">_lock_files</span> = <code title="{}"><code class="variable-group">{</code><code class="variable-group">}</code></code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="_lock_count"></a><span class="summary-name">_lock_count</span> = <code title="{}"><code class="variable-group">{</code><code class="variable-group">}</code></code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.locking-pysrc.html b/doc/html_reference/instant.locking-pysrc.html
deleted file mode 100644
index 795ebfe..0000000
--- a/doc/html_reference/instant.locking-pysrc.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.locking</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module locking
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.locking-pysrc.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.locking-module.html">Module instant.locking</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-docstring">"""File locking for the cache system, to avoid problems</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"><tt class="py-docstring">when multiple processes work with the same module.</tt> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-docstring">Only works on UNIX systems."""</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Function instant.output.instant_error()=instant.output-module.html#instant_error"><a title="instant.o [...]
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-4" class="py-name" targets="Module instant.paths=instant.paths-module.html"><a title="instant.paths" class="py-name" href="#" onclick="return doclink('link-4', 'paths', 'link-4');">paths</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Function instant.paths.validate_cache_dir()=instant.paths-module.html#validate_cache_dir"><a title="instan [...]
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line">    <tt class="py-keyword">import</tt> <tt class="py-name">fcntl</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">    <tt class="py-name">fcntl</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-comment"># Keeping an overview of locks currently held,</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-comment"># to avoid deadlocks within a single process.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable instant.locking._lock_names=instant.locking-module.html#_lock_names"><a title="instant.locking._lock_names" class="py-name" href="#" onclick="return doclink('link-6', '_lock_names', 'link-6');">_lock_names</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> <tt class="py-comment"># lock.fileno() -> lockname</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable instant.locking._lock_files=instant.locking-module.html#_lock_files"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-7', '_lock_files', 'link-7');">_lock_files</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> <tt class="py-comment"># lockname -> lock</tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable instant.locking._lock_count=instant.locking-module.html#_lock_count"><a title="instant.locking._lock_count" class="py-name" href="#" onclick="return doclink('link-8', '_lock_count', 'link-8');">_lock_count</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> <tt class="py-comment"># lockname -> number of times this lock has been aquired a [...]
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">fcntl</tt><tt class="py-op">:</tt> </tt>
-<a name="get_lock"></a><div id="get_lock-def"><a name="L21"></a><tt class="py-lineno">21</tt> <a class="py-toggle" href="#" id="get_lock-toggle" onclick="return toggle('get_lock');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.locking-module.html#get_lock">get_lock</a><tt class="py-op">(</tt><tt class="py-param">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-param">module_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_lock-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="get_lock-expanded"><a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-docstring">"Get a new file lock."</tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt id="link-9" class="py-name"><a title="instant.locking._lock_names" class="py-name" href="#" onclick="return doclink('link-9', '_lock_names', 'link-6');">_lock_names</a></tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-10', '_lock_files', 'link-7');">_lock_files</a></tt [...]
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">         </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-name">lockname</tt> <tt class="py-op">=</tt> <tt class="py-name">module_name</tt> <tt class="py-op">+</tt> <tt class="py-string">".lock"</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">        <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><a title="instant.locking._lock_count" class="py-name" href="#" onclick="return doclink('link-12', '_lock_count', 'link-8');">_lock_count</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">lockname</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op"> [...]
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">         </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt id="link-13" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-13', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Acquiring lock %s, count is %d."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">lockname</tt><tt class="py-op">,</tt> <tt class="py-name">count</tt><tt class [...]
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">         </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">count</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">            <tt class="py-name">cache_dir</tt> <tt class="py-op">=</tt> <tt id="link-14" class="py-name"><a title="instant.paths.validate_cache_dir" class="py-name" href="#" onclick="return doclink('link-14', 'validate_cache_dir', 'link-5');">validate_cache_dir</a></tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">            <tt class="py-name">lock</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-name">lockname</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt c [...]
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">            <tt class="py-name">fcntl</tt><tt class="py-op">.</tt><tt class="py-name">flock</tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">.</tt><tt class="py-name">LOCK_EX</tt><tt class="py-op">)</tt> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">            <tt id="link-15" class="py-name"><a title="instant.locking._lock_names" class="py-name" href="#" onclick="return doclink('link-15', '_lock_names', 'link-6');">_lock_names</a></tt><tt class="py-op">[</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">lockna [...]
-<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">            <tt id="link-16" class="py-name"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-16', '_lock_files', 'link-7');">_lock_files</a></tt><tt class="py-op">[</tt><tt class="py-name">lockname</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">lock</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">            <tt class="py-name">lock</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-17', '_lock_files', 'link-7');">_lock_files</a></tt><tt class="py-op">[</tt><tt class="py-name">lockname</tt><tt class="py-op">]</tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">         </tt>
-<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt id="link-18" class="py-name"><a title="instant.locking._lock_count" class="py-name" href="#" onclick="return doclink('link-18', '_lock_count', 'link-8');">_lock_count</a></tt><tt class="py-op">[</tt><tt class="py-name">lockname</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">count</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">lock</tt> </tt>
-</div><a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">     </tt>
-<a name="release_lock"></a><div id="release_lock-def"><a name="L42"></a><tt class="py-lineno">42</tt> <a class="py-toggle" href="#" id="release_lock-toggle" onclick="return toggle('release_lock');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.locking-module.html#release_lock">release_lock</a><tt class="py-op">(</tt><tt class="py-param">lock</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="release_lock-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="release_lock-expanded"><a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">        <tt class="py-docstring">"Release a lock currently held by Instant."</tt> </tt>
-<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">        <tt class="py-keyword">global</tt> <tt id="link-19" class="py-name"><a title="instant.locking._lock_names" class="py-name" href="#" onclick="return doclink('link-19', '_lock_names', 'link-6');">_lock_names</a></tt><tt class="py-op">,</tt> <tt id="link-20" class="py-name"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-20', '_lock_files', 'link-7');">_lock_files</a></ [...]
-<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">         </tt>
-<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt class="py-name">lockname</tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name"><a title="instant.locking._lock_names" class="py-name" href="#" onclick="return doclink('link-22', '_lock_names', 'link-6');">_lock_names</a></tt><tt class="py-op">[</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</ [...]
-<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">        <tt class="py-name">count</tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name"><a title="instant.locking._lock_count" class="py-name" href="#" onclick="return doclink('link-23', '_lock_count', 'link-8');">_lock_count</a></tt><tt class="py-op">[</tt><tt class="py-name">lockname</tt><tt class="py-op">]</tt> </tt>
-<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line"> </tt>
-<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">        <tt id="link-24" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-24', 'instant_debug', 'link-3');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Releasing lock %s, count is %d."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">lockname</tt><tt class="py-op">,</tt> <tt class="py-name">count</tt><tt class [...]
-<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"> </tt>
-<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">        <tt id="link-25" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-25', 'instant_assert', 'link-2');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">count</tt> <tt class="py-op">></tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">"Releasing lock that Instant is supposedly not holding."</tt><tt class [...]
-<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">        <tt id="link-26" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-26', 'instant_assert', 'link-2');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">lock</tt> <tt class="py-keyword">is</tt> <tt id="link-27" class="py-name"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-27', '_lock_file [...]
-<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">         </tt>
-<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt id="link-28" class="py-name"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-28', '_lock_files', 'link-7');">_lock_files</a></tt><tt class="py-op">[</tt><tt class="py-name">lockname</tt><tt class="py-op">]</tt> </tt>
-<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt id="link-29" class="py-name"><a title="instant.locking._lock_names" class="py-name" href="#" onclick="return doclink('link-29', '_lock_names', 'link-6');">_lock_names</a></tt><tt class="py-op">[</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">        <tt id="link-30" class="py-name"><a title="instant.locking._lock_count" class="py-name" href="#" onclick="return doclink('link-30', '_lock_count', 'link-8');">_lock_count</a></tt><tt class="py-op">[</tt><tt class="py-name">lockname</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">count</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
-<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">         </tt>
-<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line">        <tt class="py-name">fcntl</tt><tt class="py-op">.</tt><tt class="py-name">flock</tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">fileno</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">fcntl</tt><tt class="py-op">.</tt><tt class="py-name">LOCK_UN</tt><tt class="py-op">)</tt> </tt>
-<a name="L59"></a><tt class="py-lineno">59</tt>  <tt class="py-line">        <tt class="py-name">lock</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">     </tt>
-<a name="release_all_locks"></a><div id="release_all_locks-def"><a name="L61"></a><tt class="py-lineno">61</tt> <a class="py-toggle" href="#" id="release_all_locks-toggle" onclick="return toggle('release_all_locks');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.locking-module.html#release_all_locks">release_all_locks</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="release_all_locks-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="release_all_locks-expanded"><a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">        <tt class="py-docstring">"Release all locks currently held by Instant."</tt> </tt>
-<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">        <tt class="py-name">locks</tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="instant.locking._lock_files" class="py-name" href="#" onclick="return doclink('link-31', '_lock_files', 'link-7');">_lock_files</a></tt><tt class="py-op">.</tt><tt class="py-name">values</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">lock</tt> <tt class="py-keyword">in</tt> <tt class="py-name">locks</tt><tt class="py-op">:</tt> </tt>
-<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">            <tt id="link-32" class="py-name" targets="Function instant.locking.release_lock()=instant.locking-module.html#release_lock"><a title="instant.locking.release_lock" class="py-name" href="#" onclick="return doclink('link-32', 'release_lock', 'link-32');">release_lock</a></tt><tt class="py-op">(</tt><tt class="py-name">lock</tt><tt class="py-op">)</tt> </tt>
-<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">        <tt id="link-33" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-33', 'instant_assert', 'link-2');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">all</tt><tt class="py-op">(</tt><tt id="link-34" class="py-name"><a title="instant.locking._lock_count" class="py-name" href="#" onclick="return doclink('link-34', '_lock_count', 'link [...]
-</div><a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"> </tt>
-<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line"><tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line">    <tt class="py-comment"># Windows systems have no fcntl, implement these otherwise if locking is needed on windows</tt> </tt>
-<a name="get_lock"></a><div id="get_lock-def"><a name="L70"></a><tt class="py-lineno">70</tt> <a class="py-toggle" href="#" id="get_lock-toggle" onclick="return toggle('get_lock');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.locking-module.html#get_lock">get_lock</a><tt class="py-op">(</tt><tt class="py-param">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-param">module_name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_lock-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="get_lock-expanded"><a name="L71"></a><tt class="py-lineno">71</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line">     </tt>
-<a name="release_lock"></a><div id="release_lock-def"><a name="L73"></a><tt class="py-lineno">73</tt> <a class="py-toggle" href="#" id="release_lock-toggle" onclick="return toggle('release_lock');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.locking-module.html#release_lock">release_lock</a><tt class="py-op">(</tt><tt class="py-param">lock</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="release_lock-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="release_lock-expanded"><a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.output-module.html b/doc/html_reference/instant.output-module.html
deleted file mode 100644
index 73d7021..0000000
--- a/doc/html_reference/instant.output-module.html
+++ /dev/null
@@ -1,355 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.output</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module output
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.output-module.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module output</h1><p class="nomargin-top"><span class="codelink"><a href="instant.output-pysrc.html">source code</a></span></p>
-<p>This module contains internal logging utilities.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="get_log_handler"></a><span class="summary-sig-name">get_log_handler</span>()</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.output-pysrc.html#get_log_handler">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="get_logger"></a><span class="summary-sig-name">get_logger</span>()</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.output-pysrc.html#get_logger">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="set_log_handler"></a><span class="summary-sig-name">set_log_handler</span>(<span class="summary-sig-arg">handler</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.output-pysrc.html#set_log_handler">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="set_logging_level"></a><span class="summary-sig-name">set_logging_level</span>(<span class="summary-sig-arg">level</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.output-pysrc.html#set_logging_level">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="instant_debug"></a><span class="summary-sig-name">instant_debug</span>(<span class="summary-sig-arg">*message</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.output-pysrc.html#instant_debug">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="instant_info"></a><span class="summary-sig-name">instant_info</span>(<span class="summary-sig-arg">*message</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.output-pysrc.html#instant_info">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="instant_warning"></a><span class="summary-sig-name">instant_warning</span>(<span class="summary-sig-arg">*message</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.output-pysrc.html#instant_warning">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="instant_error"></a><span class="summary-sig-name">instant_error</span>(<span class="summary-sig-arg">*message</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.output-pysrc.html#instant_error">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="instant_assert"></a><span class="summary-sig-name">instant_assert</span>(<span class="summary-sig-arg">condition</span>,
-        <span class="summary-sig-arg">*message</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.output-pysrc.html#instant_assert">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="write_file"></a><span class="summary-sig-name">write_file</span>(<span class="summary-sig-arg">filename</span>,
-        <span class="summary-sig-arg">text</span>)</span><br />
-      Write text to a file and close it.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.output-pysrc.html#write_file">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="get_status_output"></a><span class="summary-sig-name">get_status_output</span>(<span class="summary-sig-arg">cmd</span>,
-        <span class="summary-sig-arg">input</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">cwd</span>=<span class="summary-sig-default">None</span>,
-        <span class="summary-sig-arg">env</span>=<span class="summary-sig-default">None</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.output-pysrc.html#get_status_output">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="_log"></a><span class="summary-name">_log</span> = <code title="logging.getLogger("instant")">logging.getLogger("instant")</code>
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="_loghandler"></a><span class="summary-name">_loghandler</span> = <code title="logging.StreamHandler()">logging.StreamHandler()</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.output-pysrc.html b/doc/html_reference/instant.output-pysrc.html
deleted file mode 100644
index ec82a45..0000000
--- a/doc/html_reference/instant.output-pysrc.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.output</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module output
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.output-pysrc.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.output-module.html">Module instant.output</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-docstring">"""This module contains internal logging utilities."""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-comment"># Logging wrappers</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable instant.output._log=instant.output-module.html#_log"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-0', '_log', 'link-0');">_log</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"instant"</tt><tt class="py-op">)</t [...]
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable instant.output._loghandler=instant.output-module.html#_loghandler"><a title="instant.output._loghandler" class="py-name" href="#" onclick="return doclink('link-1', '_loghandler', 'link-1');">_loghandler</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">StreamHandler</tt><tt class="py-op">(</tt><tt class="py-op">) [...]
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt id="link-2" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-2', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">addHandler</tt><tt class="py-op">(</tt><tt id="link-3" class="py-name"><a title="instant.output._loghandler" class="py-name" href="#" onclick="return doclink('link-3', '_loghandler', 'link-1');">_loghandler</a></tt><tt class= [...]
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt id="link-4" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-4', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">WARNING</tt><tt class="py-op">)</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt id="link-5" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-5', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">INFO</tt><tt class="py-op">)</tt> </tt>
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line"><tt class="py-comment">#_log.setLevel(logging.DEBUG)</tt> </tt>
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line"> </tt>
-<a name="get_log_handler"></a><div id="get_log_handler-def"><a name="L14"></a><tt class="py-lineno">14</tt> <a class="py-toggle" href="#" id="get_log_handler-toggle" onclick="return toggle('get_log_handler');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#get_log_handler">get_log_handler</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_log_handler-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="get_log_handler-expanded"><a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-6" class="py-name"><a title="instant.output._loghandler" class="py-name" href="#" onclick="return doclink('link-6', '_loghandler', 'link-1');">_loghandler</a></tt> </tt>
-</div><a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"> </tt>
-<a name="get_logger"></a><div id="get_logger-def"><a name="L17"></a><tt class="py-lineno">17</tt> <a class="py-toggle" href="#" id="get_logger-toggle" onclick="return toggle('get_logger');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#get_logger">get_logger</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_logger-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="get_logger-expanded"><a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-7" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-7', '_log', 'link-0');">_log</a></tt> </tt>
-</div><a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line"> </tt>
-<a name="set_log_handler"></a><div id="set_log_handler-def"><a name="L20"></a><tt class="py-lineno">20</tt> <a class="py-toggle" href="#" id="set_log_handler-toggle" onclick="return toggle('set_log_handler');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#set_log_handler">set_log_handler</a><tt class="py-op">(</tt><tt class="py-param">handler</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="set_log_handler-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="set_log_handler-expanded"><a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt id="link-8" class="py-name"><a title="instant.output._loghandler" class="py-name" href="#" onclick="return doclink('link-8', '_loghandler', 'link-1');">_loghandler</a></tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">    <tt id="link-9" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-9', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">removeHandler</tt><tt class="py-op">(</tt><tt id="link-10" class="py-name"><a title="instant.output._loghandler" class="py-name" href="#" onclick="return doclink('link-10', '_loghandler', 'link-1');">_loghandler</a></tt> [...]
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">    <tt id="link-11" class="py-name"><a title="instant.output._loghandler" class="py-name" href="#" onclick="return doclink('link-11', '_loghandler', 'link-1');">_loghandler</a></tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt> </tt>
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">    <tt id="link-12" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-12', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">addHandler</tt><tt class="py-op">(</tt><tt id="link-13" class="py-name"><a title="instant.output._loghandler" class="py-name" href="#" onclick="return doclink('link-13', '_loghandler', 'link-1');">_loghandler</a></tt>< [...]
-</div><a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line"> </tt>
-<a name="set_logging_level"></a><div id="set_logging_level-def"><a name="L26"></a><tt class="py-lineno">26</tt> <a class="py-toggle" href="#" id="set_logging_level-toggle" onclick="return toggle('set_logging_level');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#set_logging_level">set_logging_level</a><tt class="py-op">(</tt><tt class="py-param">level</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="set_logging_level-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="set_logging_level-expanded"><a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">        <tt class="py-name">level</tt> <tt class="py-op">=</tt> <tt class="py-name">level</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">level</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"INFO"</tt><tt class="py-op">,</tt> <tt class="py-string">"WARNING"</tt><tt class="py-op">,</tt> <tt class="py-string">"ERROR"</tt><tt class="py-op">,</tt> <tt class="py-string">"DEBUG"</tt><tt class="py-op">)</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">        <tt class="py-name">level</tt> <tt class="py-op">=</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">,</tt> <tt class="py-name">level</tt><tt class="py-op">)</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">        <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">,</tt> <tt class="py-name">int</tt><tt class="py-op">)</tt> </tt>
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">    <tt id="link-14" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-14', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">level</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line"> </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line"><tt class="py-comment"># Aliases for calling log consistently:</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line"> </tt>
-<a name="instant_debug"></a><div id="instant_debug-def"><a name="L37"></a><tt class="py-lineno">37</tt> <a class="py-toggle" href="#" id="instant_debug-toggle" onclick="return toggle('instant_debug');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#instant_debug">instant_debug</a><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-param">message</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="instant_debug-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="instant_debug-expanded"><a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">    <tt id="link-15" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-15', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">message</tt><tt  [...]
-</div><a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line"> </tt>
-<a name="instant_info"></a><div id="instant_info-def"><a name="L40"></a><tt class="py-lineno">40</tt> <a class="py-toggle" href="#" id="instant_info-toggle" onclick="return toggle('instant_info');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#instant_info">instant_info</a><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-param">message</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="instant_info-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="instant_info-expanded"><a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">    <tt id="link-16" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-16', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">message</tt><tt cla [...]
-</div><a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line"> </tt>
-<a name="instant_warning"></a><div id="instant_warning-def"><a name="L43"></a><tt class="py-lineno">43</tt> <a class="py-toggle" href="#" id="instant_warning-toggle" onclick="return toggle('instant_warning');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#instant_warning">instant_warning</a><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-param">message</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="instant_warning-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="instant_warning-expanded"><a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">    <tt id="link-17" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-17', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">warning</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">message</t [...]
-</div><a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line"> </tt>
-<a name="instant_error"></a><div id="instant_error-def"><a name="L46"></a><tt class="py-lineno">46</tt> <a class="py-toggle" href="#" id="instant_error-toggle" onclick="return toggle('instant_error');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#instant_error">instant_error</a><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-param">message</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="instant_error-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="instant_error-expanded"><a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">    <tt id="link-18" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-18', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">message</tt><tt  [...]
-<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">    <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">message</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">%</tt> <tt class="py-name">message</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line">    <tt class="py-keyword">raise</tt> <tt class="py-name">RuntimeError</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"> </tt>
-<a name="instant_assert"></a><div id="instant_assert-def"><a name="L51"></a><tt class="py-lineno">51</tt> <a class="py-toggle" href="#" id="instant_assert-toggle" onclick="return toggle('instant_assert');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#instant_assert">instant_assert</a><tt class="py-op">(</tt><tt class="py-param">condition</tt><tt class="py-op">,</tt> <tt class="py-op">*</tt><tt class="py-param">message</t [...]
-</div><div id="instant_assert-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="instant_assert-expanded"><a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">condition</tt><tt class="py-op">:</tt> </tt>
-<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">        <tt id="link-19" class="py-name"><a title="instant.output._log" class="py-name" href="#" onclick="return doclink('link-19', '_log', 'link-0');">_log</a></tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">(</tt><tt class="py-op">*</tt><tt class="py-name">message</tt><tt class="py-op">)</tt> </tt>
-<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">        <tt class="py-name">text</tt> <tt class="py-op">=</tt> <tt class="py-name">message</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">%</tt> <tt class="py-name">message</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt class="py-name">AssertionError</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line"> </tt>
-<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line"><tt class="py-comment"># Utility functions for file handling:</tt> </tt>
-<a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"> </tt>
-<a name="write_file"></a><div id="write_file-def"><a name="L59"></a><tt class="py-lineno">59</tt> <a class="py-toggle" href="#" id="write_file-toggle" onclick="return toggle('write_file');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#write_file">write_file</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="write_file-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="write_file-expanded"><a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">    <tt class="py-docstring">"Write text to a file and close it."</tt> </tt>
-<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">        <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
-<a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">        <tt class="py-name">f</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">        <tt id="link-20" class="py-name" targets="Function instant.output.instant_error()=instant.output-module.html#instant_error"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-20', 'instant_error', 'link-20');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Can't open '%s': %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-nam [...]
-</div><a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"> </tt>
-<a name="L68"></a><tt class="py-lineno">68</tt>  <tt class="py-line"> </tt>
-<a name="L69"></a><tt class="py-lineno">69</tt>  <tt class="py-line"><tt class="py-comment"># Taken from http://ivory.idyll.org/blog/mar-07/replacing-commands-with-subprocess</tt> </tt>
-<a name="L70"></a><tt class="py-lineno">70</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">subprocess</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Popen</tt><tt class="py-op">,</tt> <tt class="py-name">PIPE</tt><tt class="py-op">,</tt> <tt class="py-name">STDOUT</tt> </tt>
-<a name="get_status_output"></a><div id="get_status_output-def"><a name="L71"></a><tt class="py-lineno">71</tt> <a class="py-toggle" href="#" id="get_status_output-toggle" onclick="return toggle('get_status_output');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.output-module.html#get_status_output">get_status_output</a><tt class="py-op">(</tt><tt class="py-param">cmd</tt><tt class="py-op">,</tt> <tt class="py-param">input</tt><tt class="p [...]
-</div><div id="get_status_output-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="get_status_output-expanded"><a name="L72"></a><tt class="py-lineno">72</tt>  <tt class="py-line">    <tt class="py-name">pipe</tt> <tt class="py-op">=</tt> <tt class="py-name">Popen</tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">,</tt> <tt class="py-name">shell</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-nam [...]
-<a name="L73"></a><tt class="py-lineno">73</tt>  <tt class="py-line"> </tt>
-<a name="L74"></a><tt class="py-lineno">74</tt>  <tt class="py-line">    <tt class="py-op">(</tt><tt id="link-21" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-21', 'output', 'link-21');">output</a></tt><tt class="py-op">,</tt> <tt class="py-name">errout</tt><tt class="py-op">)</tt> <tt class="py-op">=</tt> <tt class="py-name">pipe</tt><tt class="py-op">.</tt><tt class="py-name"> [...]
-<a name="L75"></a><tt class="py-lineno">75</tt>  <tt class="py-line">    <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">errout</tt> </tt>
-<a name="L76"></a><tt class="py-lineno">76</tt>  <tt class="py-line"> </tt>
-<a name="L77"></a><tt class="py-lineno">77</tt>  <tt class="py-line">    <tt class="py-name">status</tt> <tt class="py-op">=</tt> <tt class="py-name">pipe</tt><tt class="py-op">.</tt><tt class="py-name">returncode</tt> </tt>
-<a name="L78"></a><tt class="py-lineno">78</tt>  <tt class="py-line"> </tt>
-<a name="L79"></a><tt class="py-lineno">79</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">status</tt><tt class="py-op">,</tt> <tt id="link-22" class="py-name"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-22', 'output', 'link-21');">output</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L80"></a><tt class="py-lineno">80</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.paths-module.html b/doc/html_reference/instant.paths-module.html
deleted file mode 100644
index 24d65d7..0000000
--- a/doc/html_reference/instant.paths-module.html
+++ /dev/null
@@ -1,307 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.paths</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module paths
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.paths-module.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module paths</h1><p class="nomargin-top"><span class="codelink"><a href="instant.paths-pysrc.html">source code</a></span></p>
-<p>This module contains helper functions for working with temp and cache 
-  directories.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a href="instant.paths-module.html#get_temp_dir" class="summary-sig-name">get_temp_dir</a>()</span><br />
-      Return a temporary directory for the duration of this process.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.paths-pysrc.html#get_temp_dir">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="delete_temp_dir"></a><span class="summary-sig-name">delete_temp_dir</span>()</span><br />
-      Delete the temporary directory created by get_temp_dir().</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.paths-pysrc.html#delete_temp_dir">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="get_instant_dir"></a><span class="summary-sig-name">get_instant_dir</span>()</span><br />
-      Return a temporary directory for the duration of this process.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.paths-pysrc.html#get_instant_dir">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="get_default_cache_dir"></a><span class="summary-sig-name">get_default_cache_dir</span>()</span><br />
-      Return the default cache directory.</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.paths-pysrc.html#get_default_cache_dir">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="validate_cache_dir"></a><span class="summary-sig-name">validate_cache_dir</span>(<span class="summary-sig-arg">cache_dir</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.paths-pysrc.html#validate_cache_dir">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_test"></a><span class="summary-sig-name">_test</span>()</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.paths-pysrc.html#_test">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="_tmp_dir"></a><span class="summary-name">_tmp_dir</span> = <code title="None">None</code>
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== FUNCTION DETAILS ==================== -->
-<a name="section-FunctionDetails"></a>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Function Details</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-FunctionDetails"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-</table>
-<a name="get_temp_dir"></a>
-<div>
-<table class="details" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr><td>
-  <table width="100%" cellpadding="0" cellspacing="0" border="0">
-  <tr valign="top"><td>
-  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_temp_dir</span>()</span>
-  </h3>
-  </td><td align="right" valign="top"
-    ><span class="codelink"><a href="instant.paths-pysrc.html#get_temp_dir">source code</a></span> 
-    </td>
-  </tr></table>
-  
-  <p>Return a temporary directory for the duration of this process.</p>
-  <p>Multiple calls in the same process returns the same directory. 
-  Remember to all delete_temp_dir() before exiting.</p>
-  <dl class="fields">
-  </dl>
-</td></tr></table>
-</div>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.paths-pysrc.html b/doc/html_reference/instant.paths-pysrc.html
deleted file mode 100644
index c7ba59f..0000000
--- a/doc/html_reference/instant.paths-pysrc.html
+++ /dev/null
@@ -1,188 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.paths</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module paths
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.paths-pysrc.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.paths-module.html">Module instant.paths</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-docstring">"""This module contains helper functions for working with temp and cache directories."""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-comment"># Utilities for directory handling:</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"> </tt>
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
-<a name="L6"></a><tt class="py-lineno"> 6</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">shutil</tt> </tt>
-<a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">tempfile</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Function instant.output.instant_debug()=instant.output-module.html#instant_debug"><a title="instant.o [...]
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable instant.paths._tmp_dir=instant.paths-module.html#_tmp_dir"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-3', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="get_temp_dir"></a><div id="get_temp_dir-def"><a name="L12"></a><tt class="py-lineno">12</tt> <a class="py-toggle" href="#" id="get_temp_dir-toggle" onclick="return toggle('get_temp_dir');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.paths-module.html#get_temp_dir">get_temp_dir</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_temp_dir-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="get_temp_dir-expanded"><a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">    <tt class="py-docstring">"""Return a temporary directory for the duration of this process.</tt> </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line"><tt class="py-docstring">    Multiple calls in the same process returns the same directory.</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line"><tt class="py-docstring">    Remember to all delete_temp_dir() before exiting."""</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt id="link-4" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-4', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-5" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-5', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt class="py-name">datestring</tt> <tt class="py-op">=</tt> <tt class="py-string">"%d-%d-%d-%02d-%02d"</tt> <tt class="py-op">%</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">localtime</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-number">5</tt><tt class="py-op">]</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-name">suffix</tt> <tt class="py-op">=</tt> <tt class="py-name">datestring</tt> <tt class="py-op">+</tt> <tt class="py-string">"_instant"</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">        <tt id="link-6" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-6', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkdtemp</tt><tt class="py-op">(</tt><tt class="py-name">suffix</tt><tt class="py-op">)</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt id="link-7" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-7', 'instant_debug', 'link-1');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Created temp directory '%s'."</tt> <tt class="py-op">%</tt> <tt id="link-8" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-8', ' [...]
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-9" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-9', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> </tt>
-</div><a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line"> </tt>
-<a name="delete_temp_dir"></a><div id="delete_temp_dir-def"><a name="L25"></a><tt class="py-lineno">25</tt> <a class="py-toggle" href="#" id="delete_temp_dir-toggle" onclick="return toggle('delete_temp_dir');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.paths-module.html#delete_temp_dir">delete_temp_dir</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="delete_temp_dir-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="delete_temp_dir-expanded"><a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">    <tt class="py-docstring">"""Delete the temporary directory created by get_temp_dir()."""</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">    <tt class="py-keyword">global</tt> <tt id="link-10" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-10', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-11" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-11', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> <tt class="py-keyword">and</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt id="link-12" class="py-na [...]
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">        <tt class="py-name">shutil</tt><tt class="py-op">.</tt><tt class="py-name">rmtree</tt><tt class="py-op">(</tt><tt id="link-13" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-13', '_tmp_dir', 'link-3');">_tmp_dir</a></tt><tt class="py-op">,</tt> <tt class="py-name">ignore_errors</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</ [...]
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">    <tt id="link-14" class="py-name"><a title="instant.paths._tmp_dir" class="py-name" href="#" onclick="return doclink('link-14', '_tmp_dir', 'link-3');">_tmp_dir</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-</div><a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line"> </tt>
-<a name="get_instant_dir"></a><div id="get_instant_dir-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="get_instant_dir-toggle" onclick="return toggle('get_instant_dir');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.paths-module.html#get_instant_dir">get_instant_dir</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_instant_dir-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="get_instant_dir-expanded"><a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">    <tt class="py-docstring">"Return a temporary directory for the duration of this process."</tt> </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">    <tt class="py-comment"># os.path.expanduser works for Windows, Linux, and Mac</tt> </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">    <tt class="py-comment"># In Windows, $HOME is os.environ['HOMEDRIVE'] + os.environ['HOMEPATH']</tt> </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">    <tt class="py-name">instant_dir</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">expanduser</tt><tt class="py-op">(</tt><tt class="py-string">"~"</tt><tt cla [...]
-<a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt class="py-name">instant_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line">        <tt id="link-15" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-15', 'instant_debug', 'link-1');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Creating instant directory '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-name">instant_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno">39</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">instant_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">instant_dir</tt> </tt>
-</div><a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line"> </tt>
-<a name="get_default_cache_dir"></a><div id="get_default_cache_dir-def"><a name="L42"></a><tt class="py-lineno">42</tt> <a class="py-toggle" href="#" id="get_default_cache_dir-toggle" onclick="return toggle('get_default_cache_dir');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.paths-module.html#get_default_cache_dir">get_default_cache_dir</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="get_default_cache_dir-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="get_default_cache_dir-expanded"><a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">    <tt class="py-docstring">"Return the default cache directory."</tt> </tt>
-<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">    <tt class="py-name">cache_dir</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt id="link-16" class="py-name" targets="Function instant.paths.get_instant_dir()=instant.paths-module.html#get_instant_dir"><a title="instant.paths.get_instant_dir" class="py-name" href="#" onclick="r [...]
-<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">        <tt id="link-17" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-17', 'instant_debug', 'link-1');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Creating cache directory '%s'."</tt> <tt class="py-op">%</tt> <tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">cache_dir</tt> </tt>
-</div><a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"> </tt>
-<a name="validate_cache_dir"></a><div id="validate_cache_dir-def"><a name="L50"></a><tt class="py-lineno">50</tt> <a class="py-toggle" href="#" id="validate_cache_dir-toggle" onclick="return toggle('validate_cache_dir');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.paths-module.html#validate_cache_dir">validate_cache_dir</a><tt class="py-op">(</tt><tt class="py-param">cache_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="validate_cache_dir-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="validate_cache_dir-expanded"><a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">cache_dir</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-18" class="py-name" targets="Function instant.paths.get_default_cache_dir()=instant.paths-module.html#get_default_cache_dir"><a title="instant.paths.get_default_cache_dir" class="py-name" href="#" onclick="return doclink('link-18', 'get_default_cache_dir', 'link-18');">get_default_cache_dir</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L53"></a><tt class="py-lineno">53</tt>  <tt class="py-line">    <tt id="link-19" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-19', 'instant_assert', 'link-2');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py [...]
-<a name="L54"></a><tt class="py-lineno">54</tt>  <tt class="py-line">    <tt class="py-name">cache_dir</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">abspath</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L55"></a><tt class="py-lineno">55</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">isdir</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L56"></a><tt class="py-lineno">56</tt>  <tt class="py-line">        <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">cache_dir</tt><tt class="py-op">)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno">57</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">cache_dir</tt> </tt>
-</div><a name="L58"></a><tt class="py-lineno">58</tt>  <tt class="py-line"> </tt>
-<a name="_test"></a><div id="_test-def"><a name="L59"></a><tt class="py-lineno">59</tt> <a class="py-toggle" href="#" id="_test-toggle" onclick="return toggle('_test');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.paths-module.html#_test">_test</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_test-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="_test-expanded"><a name="L60"></a><tt class="py-lineno">60</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"Temp dir:"</tt><tt class="py-op">,</tt> <tt id="link-20" class="py-name" targets="Function instant.paths.get_temp_dir()=instant.paths-module.html#get_temp_dir"><a title="instant.paths.get_temp_dir" class="py-name" href="#" onclick="return doclink('link-2 [...]
-<a name="L61"></a><tt class="py-lineno">61</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"Instant dir:"</tt><tt class="py-op">,</tt> <tt id="link-21" class="py-name"><a title="instant.paths.get_instant_dir" class="py-name" href="#" onclick="return doclink('link-21', 'get_instant_dir', 'link-16');">get_instant_dir</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L62"></a><tt class="py-lineno">62</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"Default cache dir:"</tt><tt class="py-op">,</tt> <tt id="link-22" class="py-name"><a title="instant.paths.get_default_cache_dir" class="py-name" href="#" onclick="return doclink('link-22', 'get_default_cache_dir', 'link-18');">get_default_cache_dir</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno">63</tt>  <tt class="py-line">    <tt id="link-23" class="py-name" targets="Function instant.paths.delete_temp_dir()=instant.paths-module.html#delete_temp_dir"><a title="instant.paths.delete_temp_dir" class="py-name" href="#" onclick="return doclink('link-23', 'delete_temp_dir', 'link-23');">delete_temp_dir</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L64"></a><tt class="py-lineno">64</tt>  <tt class="py-line">    </tt>
-<a name="L65"></a><tt class="py-lineno">65</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
-<a name="L66"></a><tt class="py-lineno">66</tt>  <tt class="py-line">    <tt id="link-24" class="py-name" targets="Function instant.paths._test()=instant.paths-module.html#_test,Function instant.signatures._test()=instant.signatures-module.html#_test"><a title="instant.paths._test
-instant.signatures._test" class="py-name" href="#" onclick="return doclink('link-24', '_test', 'link-24');">_test</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno">67</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.signatures-module.html b/doc/html_reference/instant.signatures-module.html
deleted file mode 100644
index eaa19aa..0000000
--- a/doc/html_reference/instant.signatures-module.html
+++ /dev/null
@@ -1,194 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.signatures</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module signatures
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.signatures-module.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<!-- ==================== MODULE DESCRIPTION ==================== -->
-<h1 class="epydoc">Module signatures</h1><p class="nomargin-top"><span class="codelink"><a href="instant.signatures-pysrc.html">source code</a></span></p>
-<p>This module contains helper functions for working with checksums.</p>
-
-<!-- ==================== FUNCTIONS ==================== -->
-<a name="section-Functions"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Functions</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Functions"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="compute_checksum"></a><span class="summary-sig-name">compute_checksum</span>(<span class="summary-sig-arg">text</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
-        <span class="summary-sig-arg">filenames</span>=<span class="summary-sig-default"><code class="variable-group">[</code><code class="variable-group">]</code></span>)</span><br />
-      Get the checksum value of filename modified based on 
-      Python24\Tools\Scripts\md5.py</td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.signatures-pysrc.html#compute_checksum">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-<tr class="private">
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="_test"></a><span class="summary-sig-name">_test</span>()</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="instant.signatures-pysrc.html#_test">source code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
-    </td>
-  </tr>
-</table>
-<!-- ==================== VARIABLES ==================== -->
-<a name="section-Variables"></a>
-<table class="summary" border="1" cellpadding="3"
-       cellspacing="0" width="100%" bgcolor="white">
-<tr bgcolor="#70b0f0" class="table-header">
-  <td colspan="2" class="table-header">
-    <table border="0" cellpadding="0" cellspacing="0" width="100%">
-      <tr valign="top">
-        <td align="left"><span class="table-header">Variables</span></td>
-        <td align="right" valign="top"
-         ><span class="options">[<a href="#section-Variables"
-         class="privatelink" onclick="toggle_private();"
-         >hide private</a>]</span></td>
-      </tr>
-    </table>
-  </td>
-</tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type"> </span>
-    </td><td class="summary">
-        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'instant'"><code class="variable-quote">'</code><code class="variable-string">instant</code><code class="variable-quote">'</code></code>
-    </td>
-  </tr>
-</table>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/instant.signatures-pysrc.html b/doc/html_reference/instant.signatures-pysrc.html
deleted file mode 100644
index 2b97f7c..0000000
--- a/doc/html_reference/instant.signatures-pysrc.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant.signatures</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%">
-      <span class="breadcrumbs">
-        <a href="instant-module.html">Package instant</a> ::
-        Module signatures
-      </span>
-    </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="instant.signatures-pysrc.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Source Code for <a href="instant.signatures-module.html">Module instant.signatures</a></h1>
-<pre class="py-src">
-<a name="L1"></a><tt class="py-lineno"> 1</tt>  <tt class="py-line"><tt class="py-docstring">"""This module contains helper functions for working with checksums."""</tt> </tt>
-<a name="L2"></a><tt class="py-lineno"> 2</tt>  <tt class="py-line"> </tt>
-<a name="L3"></a><tt class="py-lineno"> 3</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">hashlib</tt> </tt>
-<a name="L4"></a><tt class="py-lineno"> 4</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Module instant.output=instant.output-module.html"><a title="instant.output" class="py-name" href="#" onclick="return doclink('link-0', 'output', 'link-0');">output</a></tt> <tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Function instant.output.instant_assert()=instant.output-module.html#instant_assert"><a title="instant [...]
-<a name="L5"></a><tt class="py-lineno"> 5</tt>  <tt class="py-line"> </tt>
-<a name="compute_checksum"></a><div id="compute_checksum-def"><a name="L6"></a><tt class="py-lineno"> 6</tt> <a class="py-toggle" href="#" id="compute_checksum-toggle" onclick="return toggle('compute_checksum');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.signatures-module.html#compute_checksum">compute_checksum</a><tt class="py-op">(</tt><tt class="py-param">text</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op" [...]
-</div><div id="compute_checksum-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="compute_checksum-expanded"><a name="L7"></a><tt class="py-lineno"> 7</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
-<a name="L8"></a><tt class="py-lineno"> 8</tt>  <tt class="py-line"><tt class="py-docstring">    Get the checksum value of filename</tt> </tt>
-<a name="L9"></a><tt class="py-lineno"> 9</tt>  <tt class="py-line"><tt class="py-docstring">    modified based on Python24\Tools\Scripts\md5.py</tt> </tt>
-<a name="L10"></a><tt class="py-lineno">10</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L11"></a><tt class="py-lineno">11</tt>  <tt class="py-line">    <tt id="link-4" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-4', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">,</tt> <tt class="py-name">str</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string [...]
-<a name="L12"></a><tt class="py-lineno">12</tt>  <tt class="py-line">    <tt id="link-5" class="py-name"><a title="instant.output.instant_assert" class="py-name" href="#" onclick="return doclink('link-5', 'instant_assert', 'link-1');">instant_assert</a></tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">filenames</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt><tt class="py-n [...]
-<a name="L13"></a><tt class="py-lineno">13</tt>  <tt class="py-line">     </tt>
-<a name="L14"></a><tt class="py-lineno">14</tt>  <tt class="py-line">    <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">hashlib</tt><tt class="py-op">.</tt><tt class="py-name">new</tt><tt class="py-op">(</tt><tt class="py-string">'sha1'</tt><tt class="py-op">)</tt> </tt>
-<a name="L15"></a><tt class="py-lineno">15</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">text</tt><tt class="py-op">:</tt> </tt>
-<a name="L16"></a><tt class="py-lineno">16</tt>  <tt class="py-line">        <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-name">text</tt><tt class="py-op">)</tt> </tt>
-<a name="L17"></a><tt class="py-lineno">17</tt>  <tt class="py-line">     </tt>
-<a name="L18"></a><tt class="py-lineno">18</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">filename</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">filenames</tt><tt class="py-op">)</tt><tt class="py-op">:</tt>  </tt>
-<a name="L19"></a><tt class="py-lineno">19</tt>  <tt class="py-line">        <tt id="link-6" class="py-name"><a title="instant.output.instant_debug" class="py-name" href="#" onclick="return doclink('link-6', 'instant_debug', 'link-2');">instant_debug</a></tt><tt class="py-op">(</tt><tt class="py-string">"Adding file '%s' to checksum."</tt> <tt class="py-op">%</tt> <tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
-<a name="L20"></a><tt class="py-lineno">20</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L21"></a><tt class="py-lineno">21</tt>  <tt class="py-line">            <tt class="py-name">fp</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L22"></a><tt class="py-lineno">22</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L23"></a><tt class="py-lineno">23</tt>  <tt class="py-line">            <tt id="link-7" class="py-name"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-7', 'instant_error', 'link-3');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"Can't open file '%s': %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op"> [...]
-<a name="L24"></a><tt class="py-lineno">24</tt>  <tt class="py-line">         </tt>
-<a name="L25"></a><tt class="py-lineno">25</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L26"></a><tt class="py-lineno">26</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
-<a name="L27"></a><tt class="py-lineno">27</tt>  <tt class="py-line">                <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">fp</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L28"></a><tt class="py-lineno">28</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">data</tt><tt class="py-op">:</tt> </tt>
-<a name="L29"></a><tt class="py-lineno">29</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
-<a name="L30"></a><tt class="py-lineno">30</tt>  <tt class="py-line">                <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
-<a name="L31"></a><tt class="py-lineno">31</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IOError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">:</tt> </tt>
-<a name="L32"></a><tt class="py-lineno">32</tt>  <tt class="py-line">            <tt id="link-8" class="py-name"><a title="instant.output.instant_error" class="py-name" href="#" onclick="return doclink('link-8', 'instant_error', 'link-3');">instant_error</a></tt><tt class="py-op">(</tt><tt class="py-string">"I/O error reading '%s': %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op [...]
-<a name="L33"></a><tt class="py-lineno">33</tt>  <tt class="py-line">         </tt>
-<a name="L34"></a><tt class="py-lineno">34</tt>  <tt class="py-line">        <tt class="py-name">fp</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt>  </tt>
-<a name="L35"></a><tt class="py-lineno">35</tt>  <tt class="py-line">     </tt>
-<a name="L36"></a><tt class="py-lineno">36</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">hexdigest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">lower</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L37"></a><tt class="py-lineno">37</tt>  <tt class="py-line"> </tt>
-<a name="L38"></a><tt class="py-lineno">38</tt>  <tt class="py-line"> </tt>
-<a name="_test"></a><div id="_test-def"><a name="L39"></a><tt class="py-lineno">39</tt> <a class="py-toggle" href="#" id="_test-toggle" onclick="return toggle('_test');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="instant.signatures-module.html#_test">_test</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_test-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="_test-expanded"><a name="L40"></a><tt class="py-lineno">40</tt>  <tt class="py-line">    <tt class="py-name">signature</tt> <tt class="py-op">=</tt> <tt class="py-string">"(Test signature)"</tt> </tt>
-<a name="L41"></a><tt class="py-lineno">41</tt>  <tt class="py-line">    <tt class="py-name">files</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"signatures.py"</tt><tt class="py-op">,</tt> <tt class="py-string">"__init__.py"</tt><tt class="py-op">]</tt> </tt>
-<a name="L42"></a><tt class="py-lineno">42</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-<a name="L43"></a><tt class="py-lineno">43</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"Signature:"</tt><tt class="py-op">,</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">signature</tt><tt class="py-op">)</tt> </tt>
-<a name="L44"></a><tt class="py-lineno">44</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"Checksum:"</tt><tt class="py-op">,</tt> <tt id="link-9" class="py-name" targets="Function instant.signatures.compute_checksum()=instant.signatures-module.html#compute_checksum"><a title="instant.signatures.compute_checksum" class="py-name" href="#" onclick="return doclink('link-9', 'compute_checksum', 'link-9');">compute_checksum</a></tt><tt class="py-op">(</t [...]
-<a name="L45"></a><tt class="py-lineno">45</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-<a name="L46"></a><tt class="py-lineno">46</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"Files:"</tt><tt class="py-op">,</tt> <tt class="py-name">files</tt> </tt>
-<a name="L47"></a><tt class="py-lineno">47</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"Checksum:"</tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name"><a title="instant.signatures.compute_checksum" class="py-name" href="#" onclick="return doclink('link-10', 'compute_checksum', 'link-9');">compute_checksum</a></tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">,</tt> <tt class="py-name">files</tt><tt class="py-op" [...]
-<a name="L48"></a><tt class="py-lineno">48</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> </tt>
-</div><a name="L49"></a><tt class="py-lineno">49</tt>  <tt class="py-line"> </tt>
-<a name="L50"></a><tt class="py-lineno">50</tt>  <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
-<a name="L51"></a><tt class="py-lineno">51</tt>  <tt class="py-line">    <tt id="link-11" class="py-name" targets="Function instant.paths._test()=instant.paths-module.html#_test,Function instant.signatures._test()=instant.signatures-module.html#_test"><a title="instant.paths._test
-instant.signatures._test" class="py-name" href="#" onclick="return doclink('link-11', '_test', 'link-11');">_test</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L52"></a><tt class="py-lineno">52</tt>  <tt class="py-line"> </tt><script type="text/javascript">
-<!--
-expandto(location.href);
-// -->
-</script>
-</pre>
-<br />
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th>   <a
-        href="module-tree.html">Trees</a>   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:07 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/module-tree.html b/doc/html_reference/module-tree.html
deleted file mode 100644
index 83a0ea0..0000000
--- a/doc/html_reference/module-tree.html
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>Module Hierarchy</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >   Trees   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table width="100%" cellpadding="0" cellspacing="0">
-  <tr valign="top">
-    <td width="100%"> </td>
-    <td>
-      <table cellpadding="0" cellspacing="0">
-        <!-- hide/show private -->
-        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span></td></tr>
-        <tr><td align="right"><span class="options"
-            >[<a href="frames.html" target="_top">frames</a
-            >] | <a href="module-tree.html"
-            target="_top">no frames</a>]</span></td></tr>
-      </table>
-    </td>
-  </tr>
-</table>
-<h1 class="epydoc">Module Hierarchy</h1>
-<ul class="nomargin-top">
-    <li> <strong class="uidlink"><a href="instant-module.html">instant</a></strong>: <em class="summary">Instant allows compiled C/C++ modules to be created at runtime in 
-        your Python application, using SWIG to wrap the C/C++ code.</em>
-    <ul>
-    <li> <strong class="uidlink"><a href="instant.build-module.html">instant.build</a></strong>: <em class="summary">This module contains the main part of Instant, the build_module 
-        function.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.cache-module.html">instant.cache</a></strong>: <em class="summary">This module contains helper functions for working with the module 
-        cache.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.codegeneration-module.html">instant.codegeneration</a></strong>: <em class="summary">This module contains helper functions for code generation.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.config-module.html">instant.config</a></strong>: <em class="summary">This module contains helper functions for configuration using 
-        pkg-config.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.inlining-module.html">instant.inlining</a></strong>: <em class="summary">This module contains the inline* functions, which allows easy 
-        inlining of C/C++ functions.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.locking-module.html">instant.locking</a></strong>: <em class="summary">File locking for the cache system, to avoid problems when multiple 
-        processes work with the same module.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.output-module.html">instant.output</a></strong>: <em class="summary">This module contains internal logging utilities.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.paths-module.html">instant.paths</a></strong>: <em class="summary">This module contains helper functions for working with temp and 
-        cache directories.</em>    </li>
-    <li> <strong class="uidlink"><a href="instant.signatures-module.html">instant.signatures</a></strong>: <em class="summary">This module contains helper functions for working with checksums.</em>    </li>
-    </ul>
-    </li>
-</ul>
-<!-- ==================== NAVIGATION BAR ==================== -->
-<table class="navbar" border="0" width="100%" cellpadding="0"
-       bgcolor="#a0c0ff" cellspacing="0">
-  <tr valign="middle">
-  <!-- Home link -->
-      <th>   <a
-        href="instant-module.html">Home</a>   </th>
-
-  <!-- Tree link -->
-      <th bgcolor="#70b0f0" class="navbar-select"
-          >   Trees   </th>
-
-  <!-- Index link -->
-      <th>   <a
-        href="identifier-index.html">Indices</a>   </th>
-
-  <!-- Help link -->
-      <th>   <a
-        href="help.html">Help</a>   </th>
-
-  <!-- Project homepage -->
-      <th class="navbar" align="right" width="100%">
-        <table border="0" cellpadding="0" cellspacing="0">
-          <tr><th class="navbar" align="center"
-            ><a class="navbar" target="_top" href="http://www.fenics.org/instant">Project Homepage</a></th>
-          </tr></table></th>
-  </tr>
-</table>
-<table border="0" cellpadding="0" cellspacing="0" width="100%%">
-  <tr>
-    <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Thu May 28 15:08:06 2009
-    </td>
-    <td align="right" class="footer">
-      <a target="mainFrame" href="http://epydoc.sourceforge.net"
-        >http://epydoc.sourceforge.net</a>
-    </td>
-  </tr>
-</table>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/redirect.html b/doc/html_reference/redirect.html
deleted file mode 100644
index 93eaf63..0000000
--- a/doc/html_reference/redirect.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<html><head><title>Epydoc Redirect Page</title>
-<meta http-equiv="cache-control" content="no-cache" />
-<meta http-equiv="expires" content="0" />
-<meta http-equiv="pragma" content="no-cache" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-<body>
-<script type="text/javascript">
-<!--
-var pages = ["instant.codegeneration-m", "instant.signatures-m", "instant.inlining-m", "instant.locking-m", "instant.config-m", "instant.output-m", "instant.build-m", "instant.cache-m", "instant.paths-m", "instant-m"];
-var dottedName = get_anchor();
-if (dottedName) {
-    var target = redirect_url(dottedName);
-    if (target) window.location.replace(target);
-}
-// -->
-</script>
-
-<h3>Epydoc Auto-redirect page</h3>
-
-<p>When javascript is enabled, this page will redirect URLs of
-the form <tt>redirect.html#<i>dotted.name</i></tt> to the
-documentation for the object with the given fully-qualified
-dotted name.</p>
-<p><a id="message">   </a></p>
-
-<script type="text/javascript">
-<!--
-if (dottedName) {
-    var msg = document.getElementById("message");
-    msg.innerHTML = "No documentation found for <tt>"+
-                    dottedName+"</tt>";
-}
-// -->
-</script>
-
-</body>
-</html>
diff --git a/doc/html_reference/toc-everything.html b/doc/html_reference/toc-everything.html
deleted file mode 100644
index f5796c9..0000000
--- a/doc/html_reference/toc-everything.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>Everything</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Everything</h1>
-<hr />
-  <h2 class="toc">All Functions</h2>
-    <a target="mainFrame" href="instant.build-module.html#arg_strings"
-     >instant.build.arg_strings</a><br />    <a target="mainFrame" href="instant.build-module.html#assert_is_bool"
-     >instant.build.assert_is_bool</a><br />    <a target="mainFrame" href="instant.build-module.html#assert_is_str"
-     >instant.build.assert_is_str</a><br />    <a target="mainFrame" href="instant.build-module.html#assert_is_str_list"
-     >instant.build.assert_is_str_list</a><br />    <a target="mainFrame" href="instant.build-module.html#build_module"
-     >instant.build.build_module</a><br />    <a target="mainFrame" href="instant.build-module.html#copy_files"
-     >instant.build.copy_files</a><br />    <a target="mainFrame" href="instant.build-module.html#copy_to_cache"
-     >instant.build.copy_to_cache</a><br />    <a target="mainFrame" href="instant.build-module.html#recompile"
-     >instant.build.recompile</a><br />    <a target="mainFrame" href="instant.build-module.html#strip_strings"
-     >instant.build.strip_strings</a><br />    <a target="mainFrame" href="instant.cache-module.html#cached_modules"
-     >instant.cache.cached_modules</a><br />    <a target="mainFrame" href="instant.cache-module.html#check_disk_cache"
-     >instant.cache.check_disk_cache</a><br />    <a target="mainFrame" href="instant.cache-module.html#check_memory_cache"
-     >instant.cache.check_memory_cache</a><br />    <a target="mainFrame" href="instant.cache-module.html#checksum_from_modulename"
-     >instant.cache.checksum_from_modulename</a><br />    <a target="mainFrame" href="instant.cache-module.html#import_and_cache_module"
-     >instant.cache.import_and_cache_module</a><br />    <a target="mainFrame" href="instant.cache-module.html#import_module"
-     >instant.cache.import_module</a><br />    <a target="mainFrame" href="instant.cache-module.html#import_module_directly"
-     >instant.cache.import_module_directly</a><br />    <a target="mainFrame" href="instant.cache-module.html#is_valid_module_name"
-     >instant.cache.is_valid_module_name</a><br />    <a target="mainFrame" href="instant.cache-module.html#memory_cached_module"
-     >instant.cache.memory_cached_module</a><br />    <a target="mainFrame" href="instant.cache-module.html#modulename_from_checksum"
-     >instant.cache.modulename_from_checksum</a><br />    <a target="mainFrame" href="instant.cache-module.html#place_module_in_memory_cache"
-     >instant.cache.place_module_in_memory_cache</a><br />  <div class="private">
-    <a target="mainFrame" href="instant.codegeneration-module.html#_test_write_interfacefile"
-     >instant.codegeneration._test_write_interfacefile</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="instant.codegeneration-module.html#_test_write_setup"
-     >instant.codegeneration._test_write_setup</a><br />  </div>
-    <a target="mainFrame" href="instant.codegeneration-module.html#mapstrings"
-     >instant.codegeneration.mapstrings</a><br />    <a target="mainFrame" href="instant.codegeneration-module.html#reindent"
-     >instant.codegeneration.reindent</a><br />    <a target="mainFrame" href="instant.codegeneration-module.html#write_interfacefile"
-     >instant.codegeneration.write_interfacefile</a><br />    <a target="mainFrame" href="instant.codegeneration-module.html#write_setup"
-     >instant.codegeneration.write_setup</a><br />    <a target="mainFrame" href="instant.config-module.html#check_swig_version"
-     >instant.config.check_swig_version</a><br />    <a target="mainFrame" href="instant.config-module.html#get_swig_version"
-     >instant.config.get_swig_version</a><br />    <a target="mainFrame" href="instant.config-module.html#header_and_libs_from_pkgconfig"
-     >instant.config.header_and_libs_from_pkgconfig</a><br />    <a target="mainFrame" href="instant.inlining-module.html#get_func_name"
-     >instant.inlining.get_func_name</a><br />    <a target="mainFrame" href="instant.inlining-module.html#inline"
-     >instant.inlining.inline</a><br />    <a target="mainFrame" href="instant.inlining-module.html#inline_module"
-     >instant.inlining.inline_module</a><br />    <a target="mainFrame" href="instant.inlining-module.html#inline_module_with_numpy"
-     >instant.inlining.inline_module_with_numpy</a><br />    <a target="mainFrame" href="instant.inlining-module.html#inline_with_numpy"
-     >instant.inlining.inline_with_numpy</a><br />    <a target="mainFrame" href="instant.locking-module.html#get_lock"
-     >instant.locking.get_lock</a><br />    <a target="mainFrame" href="instant.locking-module.html#release_all_locks"
-     >instant.locking.release_all_locks</a><br />    <a target="mainFrame" href="instant.locking-module.html#release_lock"
-     >instant.locking.release_lock</a><br />    <a target="mainFrame" href="instant.output-module.html#get_log_handler"
-     >instant.output.get_log_handler</a><br />    <a target="mainFrame" href="instant.output-module.html#get_logger"
-     >instant.output.get_logger</a><br />    <a target="mainFrame" href="instant.output-module.html#get_status_output"
-     >instant.output.get_status_output</a><br />    <a target="mainFrame" href="instant.output-module.html#instant_assert"
-     >instant.output.instant_assert</a><br />    <a target="mainFrame" href="instant.output-module.html#instant_debug"
-     >instant.output.instant_debug</a><br />    <a target="mainFrame" href="instant.output-module.html#instant_error"
-     >instant.output.instant_error</a><br />    <a target="mainFrame" href="instant.output-module.html#instant_info"
-     >instant.output.instant_info</a><br />    <a target="mainFrame" href="instant.output-module.html#instant_warning"
-     >instant.output.instant_warning</a><br />    <a target="mainFrame" href="instant.output-module.html#set_log_handler"
-     >instant.output.set_log_handler</a><br />    <a target="mainFrame" href="instant.output-module.html#set_logging_level"
-     >instant.output.set_logging_level</a><br />    <a target="mainFrame" href="instant.output-module.html#write_file"
-     >instant.output.write_file</a><br />  <div class="private">
-    <a target="mainFrame" href="instant.paths-module.html#_test"
-     >instant.paths._test</a><br />  </div>
-    <a target="mainFrame" href="instant.paths-module.html#delete_temp_dir"
-     >instant.paths.delete_temp_dir</a><br />    <a target="mainFrame" href="instant.paths-module.html#get_default_cache_dir"
-     >instant.paths.get_default_cache_dir</a><br />    <a target="mainFrame" href="instant.paths-module.html#get_instant_dir"
-     >instant.paths.get_instant_dir</a><br />    <a target="mainFrame" href="instant.paths-module.html#get_temp_dir"
-     >instant.paths.get_temp_dir</a><br />    <a target="mainFrame" href="instant.paths-module.html#validate_cache_dir"
-     >instant.paths.validate_cache_dir</a><br />  <div class="private">
-    <a target="mainFrame" href="instant.signatures-module.html#_test"
-     >instant.signatures._test</a><br />  </div>
-    <a target="mainFrame" href="instant.signatures-module.html#compute_checksum"
-     >instant.signatures.compute_checksum</a><br />  <h2 class="toc">All Variables</h2>
-    <a target="mainFrame" href="instant-module.html#__package__"
-     >instant.__package__</a><br />    <a target="mainFrame" href="instant.build-module.html#__package__"
-     >instant.build.__package__</a><br />    <a target="mainFrame" href="instant.cache-module.html#__package__"
-     >instant.cache.__package__</a><br />  <div class="private">
-    <a target="mainFrame" href="instant.cache-module.html#_memory_cache"
-     >instant.cache._memory_cache</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="instant.cache-module.html#_modulename_prefix"
-     >instant.cache._modulename_prefix</a><br />  </div>
-    <a target="mainFrame" href="instant.codegeneration-module.html#__package__"
-     >instant.codegeneration.__package__</a><br />    <a target="mainFrame" href="instant.config-module.html#__package__"
-     >instant.config.__package__</a><br />    <a target="mainFrame" href="instant.inlining-module.html#__package__"
-     >instant.inlining.__package__</a><br />    <a target="mainFrame" href="instant.locking-module.html#__package__"
-     >instant.locking.__package__</a><br />  <div class="private">
-    <a target="mainFrame" href="instant.locking-module.html#_lock_count"
-     >instant.locking._lock_count</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="instant.locking-module.html#_lock_files"
-     >instant.locking._lock_files</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="instant.locking-module.html#_lock_names"
-     >instant.locking._lock_names</a><br />  </div>
-    <a target="mainFrame" href="instant.output-module.html#__package__"
-     >instant.output.__package__</a><br />  <div class="private">
-    <a target="mainFrame" href="instant.output-module.html#_log"
-     >instant.output._log</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="instant.output-module.html#_loghandler"
-     >instant.output._loghandler</a><br />  </div>
-    <a target="mainFrame" href="instant.paths-module.html#__package__"
-     >instant.paths.__package__</a><br />  <div class="private">
-    <a target="mainFrame" href="instant.paths-module.html#_tmp_dir"
-     >instant.paths._tmp_dir</a><br />  </div>
-    <a target="mainFrame" href="instant.signatures-module.html#__package__"
-     >instant.signatures.__package__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant-module.html b/doc/html_reference/toc-instant-module.html
deleted file mode 100644
index f875247..0000000
--- a/doc/html_reference/toc-instant-module.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>instant</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module instant</h1>
-<hr />
-  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="instant-module.html#__package__"
-     >__package__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.build-module.html b/doc/html_reference/toc-instant.build-module.html
deleted file mode 100644
index 0fcbad4..0000000
--- a/doc/html_reference/toc-instant.build-module.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>build</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module build</h1>
-<hr />
-  <h2 class="toc">Functions</h2>
-    <a target="mainFrame" href="instant.build-module.html#arg_strings"
-     >arg_strings</a><br />    <a target="mainFrame" href="instant.build-module.html#assert_is_bool"
-     >assert_is_bool</a><br />    <a target="mainFrame" href="instant.build-module.html#assert_is_str"
-     >assert_is_str</a><br />    <a target="mainFrame" href="instant.build-module.html#assert_is_str_list"
-     >assert_is_str_list</a><br />    <a target="mainFrame" href="instant.build-module.html#build_module"
-     >build_module</a><br />    <a target="mainFrame" href="instant.build-module.html#copy_files"
-     >copy_files</a><br />    <a target="mainFrame" href="instant.build-module.html#copy_to_cache"
-     >copy_to_cache</a><br />    <a target="mainFrame" href="instant.build-module.html#recompile"
-     >recompile</a><br />    <a target="mainFrame" href="instant.build-module.html#strip_strings"
-     >strip_strings</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="instant.build-module.html#__package__"
-     >__package__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.cache-module.html b/doc/html_reference/toc-instant.cache-module.html
deleted file mode 100644
index 3013201..0000000
--- a/doc/html_reference/toc-instant.cache-module.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>cache</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module cache</h1>
-<hr />
-  <h2 class="toc">Functions</h2>
-    <a target="mainFrame" href="instant.cache-module.html#cached_modules"
-     >cached_modules</a><br />    <a target="mainFrame" href="instant.cache-module.html#check_disk_cache"
-     >check_disk_cache</a><br />    <a target="mainFrame" href="instant.cache-module.html#check_memory_cache"
-     >check_memory_cache</a><br />    <a target="mainFrame" href="instant.cache-module.html#checksum_from_modulename"
-     >checksum_from_modulename</a><br />    <a target="mainFrame" href="instant.cache-module.html#import_and_cache_module"
-     >import_and_cache_module</a><br />    <a target="mainFrame" href="instant.cache-module.html#import_module"
-     >import_module</a><br />    <a target="mainFrame" href="instant.cache-module.html#import_module_directly"
-     >import_module_directly</a><br />    <a target="mainFrame" href="instant.cache-module.html#is_valid_module_name"
-     >is_valid_module_name</a><br />    <a target="mainFrame" href="instant.cache-module.html#memory_cached_module"
-     >memory_cached_module</a><br />    <a target="mainFrame" href="instant.cache-module.html#modulename_from_checksum"
-     >modulename_from_checksum</a><br />    <a target="mainFrame" href="instant.cache-module.html#place_module_in_memory_cache"
-     >place_module_in_memory_cache</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="instant.cache-module.html#__package__"
-     >__package__</a><br />  <div class="private">
-    <a target="mainFrame" href="instant.cache-module.html#_memory_cache"
-     >_memory_cache</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="instant.cache-module.html#_modulename_prefix"
-     >_modulename_prefix</a><br />  </div>
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.codegeneration-module.html b/doc/html_reference/toc-instant.codegeneration-module.html
deleted file mode 100644
index 2fd6f12..0000000
--- a/doc/html_reference/toc-instant.codegeneration-module.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>codegeneration</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module codegeneration</h1>
-<hr />
-  <h2 class="toc">Functions</h2>
-  <div class="private">
-    <a target="mainFrame" href="instant.codegeneration-module.html#_test_write_interfacefile"
-     >_test_write_interfacefile</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="instant.codegeneration-module.html#_test_write_setup"
-     >_test_write_setup</a><br />  </div>
-    <a target="mainFrame" href="instant.codegeneration-module.html#mapstrings"
-     >mapstrings</a><br />    <a target="mainFrame" href="instant.codegeneration-module.html#reindent"
-     >reindent</a><br />    <a target="mainFrame" href="instant.codegeneration-module.html#write_interfacefile"
-     >write_interfacefile</a><br />    <a target="mainFrame" href="instant.codegeneration-module.html#write_setup"
-     >write_setup</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="instant.codegeneration-module.html#__package__"
-     >__package__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.config-module.html b/doc/html_reference/toc-instant.config-module.html
deleted file mode 100644
index a64e366..0000000
--- a/doc/html_reference/toc-instant.config-module.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>config</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module config</h1>
-<hr />
-  <h2 class="toc">Functions</h2>
-    <a target="mainFrame" href="instant.config-module.html#check_swig_version"
-     >check_swig_version</a><br />    <a target="mainFrame" href="instant.config-module.html#get_swig_version"
-     >get_swig_version</a><br />    <a target="mainFrame" href="instant.config-module.html#header_and_libs_from_pkgconfig"
-     >header_and_libs_from_pkgconfig</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="instant.config-module.html#__package__"
-     >__package__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.inlining-module.html b/doc/html_reference/toc-instant.inlining-module.html
deleted file mode 100644
index e616abe..0000000
--- a/doc/html_reference/toc-instant.inlining-module.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>inlining</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module inlining</h1>
-<hr />
-  <h2 class="toc">Functions</h2>
-    <a target="mainFrame" href="instant.inlining-module.html#get_func_name"
-     >get_func_name</a><br />    <a target="mainFrame" href="instant.inlining-module.html#inline"
-     >inline</a><br />    <a target="mainFrame" href="instant.inlining-module.html#inline_module"
-     >inline_module</a><br />    <a target="mainFrame" href="instant.inlining-module.html#inline_module_with_numpy"
-     >inline_module_with_numpy</a><br />    <a target="mainFrame" href="instant.inlining-module.html#inline_with_numpy"
-     >inline_with_numpy</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="instant.inlining-module.html#__package__"
-     >__package__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.locking-module.html b/doc/html_reference/toc-instant.locking-module.html
deleted file mode 100644
index 32a08a0..0000000
--- a/doc/html_reference/toc-instant.locking-module.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>locking</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module locking</h1>
-<hr />
-  <h2 class="toc">Functions</h2>
-    <a target="mainFrame" href="instant.locking-module.html#get_lock"
-     >get_lock</a><br />    <a target="mainFrame" href="instant.locking-module.html#release_all_locks"
-     >release_all_locks</a><br />    <a target="mainFrame" href="instant.locking-module.html#release_lock"
-     >release_lock</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="instant.locking-module.html#__package__"
-     >__package__</a><br />  <div class="private">
-    <a target="mainFrame" href="instant.locking-module.html#_lock_count"
-     >_lock_count</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="instant.locking-module.html#_lock_files"
-     >_lock_files</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="instant.locking-module.html#_lock_names"
-     >_lock_names</a><br />  </div>
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.output-module.html b/doc/html_reference/toc-instant.output-module.html
deleted file mode 100644
index a13f027..0000000
--- a/doc/html_reference/toc-instant.output-module.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>output</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module output</h1>
-<hr />
-  <h2 class="toc">Functions</h2>
-    <a target="mainFrame" href="instant.output-module.html#get_log_handler"
-     >get_log_handler</a><br />    <a target="mainFrame" href="instant.output-module.html#get_logger"
-     >get_logger</a><br />    <a target="mainFrame" href="instant.output-module.html#get_status_output"
-     >get_status_output</a><br />    <a target="mainFrame" href="instant.output-module.html#instant_assert"
-     >instant_assert</a><br />    <a target="mainFrame" href="instant.output-module.html#instant_debug"
-     >instant_debug</a><br />    <a target="mainFrame" href="instant.output-module.html#instant_error"
-     >instant_error</a><br />    <a target="mainFrame" href="instant.output-module.html#instant_info"
-     >instant_info</a><br />    <a target="mainFrame" href="instant.output-module.html#instant_warning"
-     >instant_warning</a><br />    <a target="mainFrame" href="instant.output-module.html#set_log_handler"
-     >set_log_handler</a><br />    <a target="mainFrame" href="instant.output-module.html#set_logging_level"
-     >set_logging_level</a><br />    <a target="mainFrame" href="instant.output-module.html#write_file"
-     >write_file</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="instant.output-module.html#__package__"
-     >__package__</a><br />  <div class="private">
-    <a target="mainFrame" href="instant.output-module.html#_log"
-     >_log</a><br />  </div>
-  <div class="private">
-    <a target="mainFrame" href="instant.output-module.html#_loghandler"
-     >_loghandler</a><br />  </div>
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.paths-module.html b/doc/html_reference/toc-instant.paths-module.html
deleted file mode 100644
index 1e8f10d..0000000
--- a/doc/html_reference/toc-instant.paths-module.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>paths</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module paths</h1>
-<hr />
-  <h2 class="toc">Functions</h2>
-  <div class="private">
-    <a target="mainFrame" href="instant.paths-module.html#_test"
-     >_test</a><br />  </div>
-    <a target="mainFrame" href="instant.paths-module.html#delete_temp_dir"
-     >delete_temp_dir</a><br />    <a target="mainFrame" href="instant.paths-module.html#get_default_cache_dir"
-     >get_default_cache_dir</a><br />    <a target="mainFrame" href="instant.paths-module.html#get_instant_dir"
-     >get_instant_dir</a><br />    <a target="mainFrame" href="instant.paths-module.html#get_temp_dir"
-     >get_temp_dir</a><br />    <a target="mainFrame" href="instant.paths-module.html#validate_cache_dir"
-     >validate_cache_dir</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="instant.paths-module.html#__package__"
-     >__package__</a><br />  <div class="private">
-    <a target="mainFrame" href="instant.paths-module.html#_tmp_dir"
-     >_tmp_dir</a><br />  </div>
-<hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc-instant.signatures-module.html b/doc/html_reference/toc-instant.signatures-module.html
deleted file mode 100644
index 541c511..0000000
--- a/doc/html_reference/toc-instant.signatures-module.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>signatures</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Module signatures</h1>
-<hr />
-  <h2 class="toc">Functions</h2>
-  <div class="private">
-    <a target="mainFrame" href="instant.signatures-module.html#_test"
-     >_test</a><br />  </div>
-    <a target="mainFrame" href="instant.signatures-module.html#compute_checksum"
-     >compute_checksum</a><br />  <h2 class="toc">Variables</h2>
-    <a target="mainFrame" href="instant.signatures-module.html#__package__"
-     >__package__</a><br /><hr />
-<span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/html_reference/toc.html b/doc/html_reference/toc.html
deleted file mode 100644
index 2de3c5a..0000000
--- a/doc/html_reference/toc.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="ascii"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-          "DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>Table of Contents</title>
-  <link rel="stylesheet" href="epydoc.css" type="text/css" />
-  <script type="text/javascript" src="epydoc.js"></script>
-</head>
-
-<body bgcolor="white" text="black" link="blue" vlink="#204080"
-      alink="#204080">
-<h1 class="toc">Table of Contents</h1>
-<hr />
-  <a target="moduleFrame" href="toc-everything.html">Everything</a>
-  <br />
-  <h2 class="toc">Modules</h2>
-    <a target="moduleFrame" href="toc-instant-module.html"
-     onclick="setFrame('toc-instant-module.html','instant-module.html');"     >instant</a><br />    <a target="moduleFrame" href="toc-instant.build-module.html"
-     onclick="setFrame('toc-instant.build-module.html','instant.build-module.html');"     >instant.build</a><br />    <a target="moduleFrame" href="toc-instant.cache-module.html"
-     onclick="setFrame('toc-instant.cache-module.html','instant.cache-module.html');"     >instant.cache</a><br />    <a target="moduleFrame" href="toc-instant.codegeneration-module.html"
-     onclick="setFrame('toc-instant.codegeneration-module.html','instant.codegeneration-module.html');"     >instant.codegeneration</a><br />    <a target="moduleFrame" href="toc-instant.config-module.html"
-     onclick="setFrame('toc-instant.config-module.html','instant.config-module.html');"     >instant.config</a><br />    <a target="moduleFrame" href="toc-instant.inlining-module.html"
-     onclick="setFrame('toc-instant.inlining-module.html','instant.inlining-module.html');"     >instant.inlining</a><br />    <a target="moduleFrame" href="toc-instant.locking-module.html"
-     onclick="setFrame('toc-instant.locking-module.html','instant.locking-module.html');"     >instant.locking</a><br />    <a target="moduleFrame" href="toc-instant.output-module.html"
-     onclick="setFrame('toc-instant.output-module.html','instant.output-module.html');"     >instant.output</a><br />    <a target="moduleFrame" href="toc-instant.paths-module.html"
-     onclick="setFrame('toc-instant.paths-module.html','instant.paths-module.html');"     >instant.paths</a><br />    <a target="moduleFrame" href="toc-instant.signatures-module.html"
-     onclick="setFrame('toc-instant.signatures-module.html','instant.signatures-module.html');"     >instant.signatures</a><br /><hr />
-  <span class="options">[<a href="javascript:void(0);" class="privatelink"
-    onclick="toggle_private();">hide private</a>]</span>
-
-<script type="text/javascript">
-  <!--
-  // Private objects are initially displayed (because if
-  // javascript is turned off then we want them to be
-  // visible); but by default, we want to hide them.  So hide
-  // them unless we have a cookie that says to show them.
-  checkCookie();
-  // -->
-</script>
-</body>
-</html>
diff --git a/doc/makedoc.sh b/doc/makedoc.sh
deleted file mode 100755
index c0262a7..0000000
--- a/doc/makedoc.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh -x
-
-epydoc -c white -o html_reference \
--v -u http://www.fenics.org/instant \
---html ../src/instant/*.py
-
diff --git a/doc/sphinx/Makefile b/doc/sphinx/Makefile
new file mode 100644
index 0000000..e3611bc
--- /dev/null
+++ b/doc/sphinx/Makefile
@@ -0,0 +1,177 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS    =
+SPHINXBUILD   = sphinx-build
+PAPER         =
+BUILDDIR      = build
+
+# User-friendly check for sphinx-build
+ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
+$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
+endif
+
+# Internal variables.
+PAPEROPT_a4     = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
+
+help:
+	@echo "Please use \`make <target>' where <target> is one of"
+	@echo "  html       to make standalone HTML files"
+	@echo "  dirhtml    to make HTML files named index.html in directories"
+	@echo "  singlehtml to make a single large HTML file"
+	@echo "  pickle     to make pickle files"
+	@echo "  json       to make JSON files"
+	@echo "  htmlhelp   to make HTML files and a HTML help project"
+	@echo "  qthelp     to make HTML files and a qthelp project"
+	@echo "  devhelp    to make HTML files and a Devhelp project"
+	@echo "  epub       to make an epub"
+	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
+	@echo "  latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
+	@echo "  text       to make text files"
+	@echo "  man        to make manual pages"
+	@echo "  texinfo    to make Texinfo files"
+	@echo "  info       to make Texinfo files and run them through makeinfo"
+	@echo "  gettext    to make PO message catalogs"
+	@echo "  changes    to make an overview of all changed/added/deprecated items"
+	@echo "  xml        to make Docutils-native XML files"
+	@echo "  pseudoxml  to make pseudoxml-XML files for display purposes"
+	@echo "  linkcheck  to check all external links for integrity"
+	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+	rm -rf $(BUILDDIR)/*
+
+html:
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+	@echo
+	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+	@echo
+	@echo "Build finished; now you can process the pickle files."
+
+json:
+	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+	@echo
+	@echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+	@echo
+	@echo "Build finished; now you can run HTML Help Workshop with the" \
+	      ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+	@echo
+	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
+	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Instant.qhcp"
+	@echo "To view the help file:"
+	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Instant.qhc"
+
+devhelp:
+	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+	@echo
+	@echo "Build finished."
+	@echo "To view the help file:"
+	@echo "# mkdir -p $$HOME/.local/share/devhelp/Instant"
+	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Instant"
+	@echo "# devhelp"
+
+epub:
+	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+	@echo
+	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo
+	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+	@echo "Run \`make' in that directory to run these through (pdf)latex" \
+	      "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo "Running LaTeX files through pdflatex..."
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+latexpdfja:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo "Running LaTeX files through platex and dvipdfmx..."
+	$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+	@echo
+	@echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+	@echo
+	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+texinfo:
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+	@echo
+	@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+	@echo "Run \`make' in that directory to run these through makeinfo" \
+	      "(use \`make info' here to do that automatically)."
+
+info:
+	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+	@echo "Running Texinfo files through makeinfo..."
+	make -C $(BUILDDIR)/texinfo info
+	@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+
+gettext:
+	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+	@echo
+	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+
+changes:
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+	@echo
+	@echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+	@echo
+	@echo "Link check complete; look for any errors in the above output " \
+	      "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+	@echo "Testing of doctests in the sources finished, look at the " \
+	      "results in $(BUILDDIR)/doctest/output.txt."
+
+xml:
+	$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
+	@echo
+	@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
+
+pseudoxml:
+	$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
+	@echo
+	@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
diff --git a/doc/sphinx/README b/doc/sphinx/README
new file mode 100644
index 0000000..0859d21
--- /dev/null
+++ b/doc/sphinx/README
@@ -0,0 +1,27 @@
+====================
+Sphinx documentation
+====================
+
+Instant is documented using Sphinx and reStructured text. The
+documnentation is hosted at
+http://fenics-instant.readthedocs.org/. The online documentation is
+automatically updated upon pushes to the Instant master branch.
+
+
+Updating the API documentation
+==============================
+
+If the Instant API is changed, the script::
+
+    ./generate-apidoc
+
+must be run to update the autodoc file. The script can be run from any
+directory.
+
+
+Building the documentation locally
+==================================
+
+The HTML documentation can be built locally using::
+
+    make html
diff --git a/doc/sphinx/generate-apidoc b/doc/sphinx/generate-apidoc
new file mode 100755
index 0000000..a2c12ee
--- /dev/null
+++ b/doc/sphinx/generate-apidoc
@@ -0,0 +1,29 @@
+# Copyright (C) 2015 Garth N. Wells
+#
+# This file is part of UFL.
+#
+# UFL is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# UFL is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with UFL. If not, see <http://www.gnu.org/licenses/>.
+
+# This script calls sphinx-apidoc to generate files ready for autodoc
+
+echo ""
+echo "--- Generating Instant autodoc RST files"
+echo ""
+
+# Get location of Sphinx files
+SPHINX_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+SPHINX_SOURCE_DIR=$SPHINX_DIR/source
+
+# Generate .rst files ready for autodoc
+sphinx-apidoc -f -d 1 -o $SPHINX_SOURCE_DIR/api-doc $SPHINX_DIR/../../instant
diff --git a/doc/sphinx/source/api-doc/instant.rst b/doc/sphinx/source/api-doc/instant.rst
new file mode 100644
index 0000000..4fcb5b9
--- /dev/null
+++ b/doc/sphinx/source/api-doc/instant.rst
@@ -0,0 +1,86 @@
+instant package
+===============
+
+Submodules
+----------
+
+instant.build module
+--------------------
+
+.. automodule:: instant.build
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+instant.cache module
+--------------------
+
+.. automodule:: instant.cache
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+instant.codegeneration module
+-----------------------------
+
+.. automodule:: instant.codegeneration
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+instant.config module
+---------------------
+
+.. automodule:: instant.config
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+instant.inlining module
+-----------------------
+
+.. automodule:: instant.inlining
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+instant.locking module
+----------------------
+
+.. automodule:: instant.locking
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+instant.output module
+---------------------
+
+.. automodule:: instant.output
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+instant.paths module
+--------------------
+
+.. automodule:: instant.paths
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+instant.signatures module
+-------------------------
+
+.. automodule:: instant.signatures
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+
+Module contents
+---------------
+
+.. automodule:: instant
+    :members:
+    :undoc-members:
+    :show-inheritance:
diff --git a/doc/sphinx/source/api-doc/modules.rst b/doc/sphinx/source/api-doc/modules.rst
new file mode 100644
index 0000000..9bb1943
--- /dev/null
+++ b/doc/sphinx/source/api-doc/modules.rst
@@ -0,0 +1,7 @@
+instant
+=======
+
+.. toctree::
+   :maxdepth: 1
+
+   instant
diff --git a/doc/sphinx/source/conf.py b/doc/sphinx/source/conf.py
new file mode 100644
index 0000000..3f0488d
--- /dev/null
+++ b/doc/sphinx/source/conf.py
@@ -0,0 +1,271 @@
+# -*- coding: utf-8 -*-
+#
+# Instant documentation build configuration file, created by
+# sphinx-quickstart on Wed Nov  4 14:07:57 2015.
+#
+# This file is execfile()d with the current directory set to its
+# containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys
+import os
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.insert(0, os.path.abspath('.'))
+
+# -- General configuration ------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+    'sphinx.ext.autodoc',
+    'sphinx.ext.doctest',
+    'sphinx.ext.intersphinx',
+    'sphinx.ext.coverage',
+    'sphinx.ext.mathjax',
+    'sphinx.ext.viewcode',
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'Instant'
+copyright = u'2015, FEniCS Project'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+import instant
+instant_version = instant.__version__
+# The short X.Y version.
+version = instant_version
+# The full version, including alpha/beta/rc tags.
+release = instant_version
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = []
+
+# The reST default role (used for this markup: `text`) to use for all
+# documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+#modindex_common_prefix = []
+
+# If true, keep warnings as "system message" paragraphs in the built documents.
+#keep_warnings = False
+
+
+# -- Options for HTML output ----------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+html_theme = 'default'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further.  For a list of options available for each theme, see the
+# documentation.
+#html_theme_options = {}
+
+# Add any paths that contain custom themes here, relative to this directory.
+#html_theme_path = []
+
+# The name for this set of Sphinx documents.  If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar.  Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# Add any extra paths that contain custom files (such as robots.txt or
+# .htaccess) here, relative to this directory. These files are copied
+# directly to the root of the documentation.
+#html_extra_path = []
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_domain_indices = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+#html_show_sourcelink = True
+
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
+#html_show_sphinx = True
+
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
+#html_show_copyright = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it.  The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# This is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = None
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'Instantdoc'
+
+
+# -- Options for LaTeX output ---------------------------------------------
+
+latex_elements = {
+# The paper size ('letterpaper' or 'a4paper').
+#'papersize': 'letterpaper',
+
+# The font size ('10pt', '11pt' or '12pt').
+#'pointsize': '10pt',
+
+# Additional stuff for the LaTeX preamble.
+#'preamble': '',
+}
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title,
+#  author, documentclass [howto, manual, or own class]).
+latex_documents = [
+  ('index', 'Instant.tex', u'Instant Documentation',
+   u'FEniCS Project', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# If true, show page references after internal links.
+#latex_show_pagerefs = False
+
+# If true, show URL addresses after external links.
+#latex_show_urls = False
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_domain_indices = True
+
+
+# -- Options for manual page output ---------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+    ('index', 'instant', u'Instant Documentation',
+     [u'FEniCS Project'], 1)
+]
+
+# If true, show URL addresses after external links.
+#man_show_urls = False
+
+
+# -- Options for Texinfo output -------------------------------------------
+
+# Grouping the document tree into Texinfo files. List of tuples
+# (source start file, target name, title, author,
+#  dir menu entry, description, category)
+texinfo_documents = [
+  ('index', 'Instant', u'Instant Documentation',
+   u'FEniCS Project', 'Instant', 'One line description of project.',
+   'Miscellaneous'),
+]
+
+# Documents to append as an appendix to all manuals.
+#texinfo_appendices = []
+
+# If false, no module index is generated.
+#texinfo_domain_indices = True
+
+# How to display URL addresses: 'footnote', 'no', or 'inline'.
+#texinfo_show_urls = 'footnote'
+
+# If true, do not generate a @detailmenu in the "Top" node's menu.
+#texinfo_no_detailmenu = False
+
+
+# Example configuration for intersphinx: refer to the Python standard library.
+intersphinx_mapping = {'http://docs.python.org/': None}
diff --git a/doc/sphinx/source/index.rst b/doc/sphinx/source/index.rst
new file mode 100644
index 0000000..26a705d
--- /dev/null
+++ b/doc/sphinx/source/index.rst
@@ -0,0 +1,25 @@
+
+Instant
+=======
+
+Instant is a Python module that allows for instant inlining of C and
+C++ code in Python. It is a small Python module built on top of SWIG
+and distutils. It is part of the FEniCS Project
+(http://fenicsproject.org).
+
+Instant development takes place on Bitbucket at
+https://bitbucket.org/fenics-project/instant.
+
+
+Documentation
+-------------
+
+.. toctree::
+   :titlesonly:
+
+   api-doc/instant
+   releases
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
diff --git a/doc/sphinx/source/releases.rst b/doc/sphinx/source/releases.rst
new file mode 100644
index 0000000..57717e7
--- /dev/null
+++ b/doc/sphinx/source/releases.rst
@@ -0,0 +1,8 @@
+Release notes
+=============
+
+.. toctree::
+   :maxdepth: 2
+
+   releases/next
+   releases/v1.6.0
diff --git a/doc/sphinx/source/releases/next.rst b/doc/sphinx/source/releases/next.rst
new file mode 100644
index 0000000..7287586
--- /dev/null
+++ b/doc/sphinx/source/releases/next.rst
@@ -0,0 +1,2 @@
+Changes in the next release of Instant
+======================================
diff --git a/doc/sphinx/source/releases/v1.6.0.rst b/doc/sphinx/source/releases/v1.6.0.rst
new file mode 100644
index 0000000..13aab14
--- /dev/null
+++ b/doc/sphinx/source/releases/v1.6.0.rst
@@ -0,0 +1,6 @@
+Changes in Instant 1.6.0
+========================
+
+Instant 1.6.0 was released on 2015-07-28
+
+- Minor bug fixes
diff --git a/instant/__init__.py b/instant/__init__.py
index 8ac67b9..8872161 100644
--- a/instant/__init__.py
+++ b/instant/__init__.py
@@ -13,12 +13,12 @@ C{inline*} see their documentation for more details.
 
 For more examples, see the tests/ directory in the Instant distribution.
 
-Questions, bugs and patches should be sent to fenics at fenicsproject.org.
+Questions, bugs and patches should be sent to fenics-dev at googlegroups.com.
 """
 
 __authors__ = "Magne Westlie, Kent-Andre Mardal <kent-and at simula.no>, Martin Alnes <martinal at simula.no>, Ilmar M. Wilbers <ilmarw at simula.no>"
-__date__ = "2015-07-28"
-__version__ = "1.6.0"
+__date__ = "2016-06-23"
+__version__ = "2016.1.0"
 
 # TODO: Import only the official interface
 from .output import *
diff --git a/instant/codegeneration.py b/instant/codegeneration.py
index 44f3da0..da8ca26 100644
--- a/instant/codegeneration.py
+++ b/instant/codegeneration.py
@@ -404,8 +404,8 @@ endif()
         for package in cmake_packages)
 
     cmake_form["package_include_dirs"] = "\n".join(\
-        "include_directories(${%s_PYTHON_INCLUDE_DIRS} ${${NAME}_SOURCE_DIR})" %
-        package.upper() for package in cmake_packages)
+        "include_directories(${%(package)s_PYTHON_INCLUDE_DIRS} ${%(package)s_3RD_PARTY_INCLUDE_DIRS} ${${NAME}_SOURCE_DIR})" %
+        dict(package=package.upper()) for package in cmake_packages)
 
     cmake_form["package_flags"] = "\n".join(\
         """set(CMAKE_EXE_LINKER_FLAGS \"${CMAKE_EXE_LINKER_FLAGS} ${%(package)s_LINK_FLAGS}\")
diff --git a/setup.py b/setup.py
index cbaf1ca..2e46942 100755
--- a/setup.py
+++ b/setup.py
@@ -2,13 +2,18 @@
 
 import sys, platform, re
 from os.path import join, split, pardir
-from distutils.core import setup
+
+try:
+    from setuptools import setup
+except ImportError:
+    from distutils.core import setup
 
 if sys.version_info < (2, 7):
     print("Python 2.7 or higher required, please upgrade.")
     sys.exit(1)
 
-scripts = [join("scripts", "instant-clean"), join("scripts", "instant-showcache")]
+scripts = [join("scripts", "instant-clean"),
+           join("scripts", "instant-showcache")]
 
 if platform.system() == "Windows" or "bdist_wininst" in sys.argv:
     # In the Windows command prompt we can't execute Python scripts
@@ -26,16 +31,23 @@ if platform.system() == "Windows" or "bdist_wininst" in sys.argv:
 version = re.findall('__version__ = "(.*)"',
                      open('instant/__init__.py', 'r').read())[0]
 
+url = "https://bitbucket.org/fenics-project/instant/"
+tarball = None
+if not 'dev' in version:
+    tarball = url + "downloads/instant-%s.tar.gz" % version
+
 setup(name = "instant",
       version = version,
       description = "Instant Inlining of C/C++ in Python",
       author = "Magne Westlie, Kent-Andre Mardal, Martin Sandve Alnes and Ilmar M. Wilbers",
-      author_email = "kent-and at simula.no, martinal at simula.no, ilmarw at simula.no",
-      url = "http://www.fenicsproject.org",
+      author_email = "fenics-dev at googlegroups.com",
+      url = url,
+      download_url = tarball,
       packages = ['instant'],
       package_dir = {'instant': 'instant'},
       package_data = {'': [join('swig', 'numpy.i')]},
       scripts = scripts,
+      install_requires = ["numpy"],
       data_files = [(join("share", "man", "man1"),
                      [join("doc", "man", "man1", "instant-clean.1.gz"),
                       join("doc", "man", "man1", "instant-showcache.1.gz")])]

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/fenics/instant.git



More information about the debian-science-commits mailing list