1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
<html>
<head>
<title>D:\LLNLDistribution\README.htm</title>
</head>
<body>
<h1>LLNL Python Extensions</h1>
<p>This directory tree contains files distributed by X-Division, Lawrence Livermore
National Laboratory, in the public interest. The directory contains the following
packages:
<ul>
<li>Numerical -- provides a fast numerical facility for Python. Users of Numerical may also
find some of the array functions in the Graphics/Arrayfns subdirectory useful. </li>
<li>Graphics -- enables use of Gist and Narcisse from Python </li>
<li>PyPDB -- provides an interface to PACT/PDB database files </li>
<li>PyHistory -- collects time history data from Python-steered simulations and stores it in
a variety of formats such as text and PACT/PDB. </li>
<li>RNG -- makes various random number distributions accessible from Python. </li>
<li>CXX -- Experimental facility for making it easier to write Python extensions using C++.</li>
</ul>
<p>Lawrence Livermore National Laboratory redistributes this user-contributed software as
a service to the Python community. Not all of it was authored at LLNL. </p>
<p>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. </p>
<h2>Organization</h2>
<p>Each leaf subdirectory contains some or all of the following:
<ul>
<li>Directory Lib containing the Python source part of the package.</li>
<li>Directory Include containing any C/C++ header files.</li>
<li>Directory Src containing any C/C++ sources. C++ sources are named with a .cxx extension.</li>
<li>Directory Demo contains test and/or demonstration routines.</li>
<li>File makeit.py (see below) for creating the necessary Makefile or project files.</li>
<li>File Setup used by makeit.py. </li>
</ul>
<h2>Compilation</h2>
<p>No compilation is needed for packages that do not have a Src subdirectory.
<ol>
<li>The following compilation mechanism based is currently available in Numerical, CXX, and
RNG:<br>
Execute the script makethis.py with Python. Then: <br>
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.<br>
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.</li>
<li>In the other packages you can generally compile (on Unix) using<br>
make -f Makefile.pre.in; make</li>
</ol>
<p>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.</p>
<h2>Installation</h2>
<p>In the future we plan to supply a script similar to makethis.py for installation. </p>
<p>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.</p>
<p>The Numerical subdirectory creates several modules.</p>
<h2>Windows Installers</h2>
<p>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.</p>
</body>
</html>
|