LLNL Python Extensions

This directory tree contains files distributed by X-Division, Lawrence Livermore National Laboratory, in the public interest. The directory contains the following packages:

Lawrence Livermore National Laboratory redistributes this user-contributed software as a service to the Python community. Not all of it was authored at LLNL.

In each subdirectory of this directory we have placed a file README.htm which explains more about it. In each subdirectory, either in the README.htm or in a separate file Credits.htm, we explain the origin of the software to the best of our knowledge. Those parts of the software originated at LLNL are covered by the legal notice in file Legal.htm. All other parts were contributed, to the best of our knowledge, under equivalent terms by their originators. It is in the nature of such efforts that the distinct contributions of the various authors cannot really be tracked.

Organization

Each leaf subdirectory contains some or all of the following:

Compilation

No compilation is needed for packages that do not have a Src subdirectory.

  1. The following compilation mechanism based is currently available in Numerical, CXX, and RNG:
    Execute the script makethis.py with Python. Then:
    a. On Unix, makethis.py should run the compilation. The resultant shared libraries are created in the directory. You can make clean to remove the object files.
    b. On Windows, makethis.py will create a number of project files and the workspace file "workspace.dsw". Open this file and choose Build/Batch Build/Rebuild All. The DLL's are created as .pyd files in the directory pyds. Temporary object files are in directory tmp and may be discarded.
  2. In the other packages you can generally compile (on Unix) using
    make -f Makefile.pre.in; make

Note that makethis.py simply executes the script Tools/compile.py. If you want to move one of the packages out of the LLNLDistribution directory, you'll need to copy compile.py into that directory and use it instead of makethis.py. We have done this so that when improvements are made to compile.py that the improvements will apply to all packages.

Installation

In the future we plan to supply a script similar to makethis.py for installation.

Lacking same, you have to place both the shared-library files created by the compiler, along with the contents of any Lib subdirectory, into the Python path.

The Numerical subdirectory creates several modules.

Windows Installers

Windows installers add the necessary directories to the Python path. If you build from scratch yourself, you have to worry about that yourself at the moment. In this release, the only installer available is for the Numerical package.