Skip to main content

Cython declarations for the Gnu Scientific Library.

Project description

Introduction

Date:

Februar 22, 2012

Version:

0.2

Authors:

Thomas Wiecki, thomas.wiecki[at]gmail.com

Web site:

https://github.com/twiecki/CythonGSL

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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

CythonGSL-0.2.tar.gz (69.7 kB view details)

Uploaded Source

File details

Details for the file CythonGSL-0.2.tar.gz.

File metadata

  • Download URL: CythonGSL-0.2.tar.gz
  • Upload date:
  • Size: 69.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for CythonGSL-0.2.tar.gz
Algorithm Hash digest
SHA256 d4553b03e43d49242fafe18c82e3b74449dec01c322ead177843f4b108bdf16b
MD5 db81e57e19a01cfefa1e05125594c950
BLAKE2b-256 7eab6c44f9b0e6077f034abc81d19ff6b4bd9898c6cf6d5d92742fa6a023870c

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page