\section{Status}

\paragraph*{Status of GSL-Library}
The gsl-library is since version 1.0 stable and for general use.
More information about it at \url{http://www.gnu.org/software/gsl/}.

\paragraph*{Status of this interface}
Nearly all modules are wrapped. A lot of tests are
covering various functionality. Please report to the mailing list
\url{pygsl-discuss@lists.sourceforge.net} if you find a bug.

The hankel modules have been
wrapped. Please write to the mailing list
\url{pygsl-discuss@lists.sourceforge.net} 
if you require one of the modules
and are willing to help with a simple example. 
If any other function is missing or some other module (e.g. ntuple) or
function, do not hesitate to write to the list.

\paragraph*{Retriving the Interface}
You can download it here: \url{http://sourceforge.net/projects/pygsl}

\section{Requirements}

To build the interface, you will need
\begin{itemize}
\item \ulink{gsl-1.x}{http://sources.redhat.com/gsl},
\item \ulink{python2.6}{http://www.python.org} or better,
\item \ulink{NumPy}{http://numpy.sf.net}, and
\item a c compiler (like \ulink{gcc}{http://gcc.gnu.org}).
\end{itemize}

Supported Platforms are:
\begin{itemize}
\item Linux (Redhat/Debian/SuSE) with python2.* and gsl-1.*
\item Win32
\end{itemize}
It was tested and is tested on an irregular basis on the following platforms
\begin{itemize}
\item SUN
\item Cygwin
\item MacOS X
\end{itemize}
but is supposed to build on any POSIX platforms.

\section{Installing the pygsl interface}

\program{gsl-config} must be on your path:\nopagebreak
\begin{verbatim}
# unpack the source distribution
gzip -d -c pygsl-x.y.z.tar.gz|tar xvf-
cd pygsl-x.y.z
# do this with your prefered python version
# to set the gsl location explicitly use setup.py --gsl-prefix=/path/to/gsl
python setup.py build
# change to an user id, that is allowed to do installation
python setup.py install
\end{verbatim}
Ready....

{\bf Do not test the interface in the distribution root or in the directories
 \file{src} or \file{pygsl}.}

If you find unresolved symbols later on, delete the C source in the
swig_src files. Check that swig can be called from the command line. 
Then start the build process again. 

In this case swig will rebuild the C files. The swig_src files
distributed with pygsl are to an up to date version of GSL (1.16 as of
this writing). Swig parses partly some header header files and builds
the appropriate interface functions. If you have an older GSL version 
locally installed, the sources in the swig_src directory can contain 
links to symbols which are not defined by the locally installed GSL
version.

\subsection{Building on win32}

Windows by default does not allow to run a posix shell. Here a different path
is required. First change into the directory \file{gsl_dist}. Copy the file 
\file{gsl_site_example.py}
and edit it to reflect your installation of GSL and SWIG if you want to run it
yourself. The pygsl windows binaries distributed over 
\url{http://sourceforge.net/projects/pygsl/} are built using the mingw32 
compiler. 

\paragraph*{Uninstall GSL interface}
\code{rm -r }"python install path"\code{/lib/python}"version"\code{/site-packages/pygsl}

\paragraph*{Testing}
the directory \file{tests} contains several testsuites, based on python
\module{unittest}.
The script \file{run_test.py} in this directory will run one after the other.

\paragraph*{Support}
Please send mails to our mailinglist at
\email{pygsl-discuss@lists.sourceforge.net}.

\paragraph*{Developement}
You can browse our cvs tree at
\url{http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/pygsl/pygsl/}.
\\
Type this to check out the actual version:
\begin{verbatim}
cvs -d:pserver:anonymous@cvs.pygsl.sourceforge.net:/cvsroot/pygsl login
#Hit return for no password.
cvs -z3 -d:pserver:anonymous@cvs.pygsl.sourceforge.net:/cvsroot/pygsl co pygsl
\end{verbatim}
The script \program{tools/extract_tool.py} generates most of the special 
function code.

%\input{install_advanced.tex}
\paragraph*{ToDo}
Implement other parts:


\paragraph*{History}
\begin{itemize}
\item a gsl-interface for python was needed for a project at
\ulink{Center for Applied Informatics Cologne}{http://www.zaik.uni-koeln.de/AFS}.
\item \file{gsl-0.0.3} was released at May 23, 2001
\item \file{gsl-0.0.4} was released at January 8, 2002
\item \file{gsl-0.0.5} is growing since January, 2002
\item \file{gsl-0.2.0} was released at 
\item \file{gsl-0.3.0} was released at 
\item \file{gsl-0.3.1} was released at 
\item \file{gsl-0.3.2} was released at 
\item \file{gsl-0.9.4} was released at 25. October 2008
\end{itemize}

\paragraph*{Thanks}
Jochen K\"upper (\email{jochen@jochen-kuepper.de}) for 
\module{pygsl.statistics} part\\
Fabian Jakobs for \module{pygsl.blas}, \module{pygsl.eigen}
\module{pygsl.linalg}, \module{pygsl.permutation}\\ 
Leonardo Milano for rpm build\\
Eric Gurrola and  Peter Stoltz for testing and supporting the port of pygsl to
the MAC\\
Sebastien Maret for supporting the Fink \url{http://fink.sourceforge.net}
port of pygsl.


\paragraph*{Maintainers}
Achim G\"adke (\email{AchimGaedke@users.sourceforge.net}),\\
Pierre Schnizer (\email{schnizer@users.sourceforge.net})
