Cython declarations for the Gnu Scientific Library.
Project description
Introduction
- Date:
May 13, 2012
- Version:
0.2.1alpha
- Authors:
Thomas Wiecki, thomas.wiecki[at]gmail.com
- Web site:
- Copyright:
This document has been placed in the public domain.
- License:
CythonGSL is released under the GPLv3.
Purpose
CythonGSL provides a Cython interface for the GNU Scientific Library (GSL).
Cython is the ideal tool to speed up numerical computations by converting typed Python code to C and generating Python wrappers so that these compiled functions can be called from Python. Scientific programming often requires use of various numerical routines (e.g. numerical integration, optimization). While SciPy provides many of those tools, there is an overhead associated with using these functions within your Cython code. CythonGSL allows you to shave off that last layer by providing Cython declarations for the GSL which allow you to use this high-quality library from within Cython without any Python overhead.
Fork of PyrexGsl by Mario Pernici (http://wwwteor.mi.infn.it/~pernici/pyrexgsl/pyrexgsl.html).
Usage
Import CythonGSL in your pyx file
In your cython file from which you want to call gsl routines, import gsl like this:
from cython_gsl cimport *
From there you should be able to call any gsl function, see http://www.gnu.org/software/gsl/manual/gsl-ref.html for the GSL reference.
For more examples, check out the examples directory.
Compile your module
Here is what your setup.py could look like:
from distutils.core import setup from Cython.Distutils import Extension from Cython.Distutils import build_ext import cython_gsl setup( [...] include_dirs = [cython_gsl.get_include()], cmdclass = {'build_ext': build_ext}, ext_modules = [Extension("my_cython_script", ["src/my_cython_script.pyx"], libraries=cython_gsl.get_libraries(), library_dirs=[cython_gsl.get_library_dir()], include_dirs=[cython_gsl.get_cython_include_dir()])] )
Installation
Dependencies
Python
Cython (http://cython.org)
GSL (for a windows port see http://gnuwin32.sourceforge.net/packages/gsl.htm)
Installing CythonGSL
python setup.py build python setup.py install
Installing CythonGSL Unittests
python setup_test.py build python setup_test.py install nosetest cython_gsl
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.