diff options
author | Willem Jan Palenstijn <wjp@usecode.org> | 2015-02-26 16:30:43 +0100 |
---|---|---|
committer | Willem Jan Palenstijn <wjp@usecode.org> | 2015-02-26 16:30:43 +0100 |
commit | 9e2bb413a937aefe57f4fcf343413543ae57258a (patch) | |
tree | f4d87d40ae17775e4e3c744476d31d56b5dba64b /python/builder.py | |
parent | 0ca00f4c671d6d583ae77838d3e0d4fcd411f077 (diff) | |
parent | e0aca18f687e9f49223ffb24b9be354bed4b150a (diff) | |
download | astra-9e2bb413a937aefe57f4fcf343413543ae57258a.tar.gz astra-9e2bb413a937aefe57f4fcf343413543ae57258a.tar.bz2 astra-9e2bb413a937aefe57f4fcf343413543ae57258a.tar.xz astra-9e2bb413a937aefe57f4fcf343413543ae57258a.zip |
Merge pull request #16 from dmpelt/python-interface
Add Python interface
Diffstat (limited to 'python/builder.py')
-rw-r--r-- | python/builder.py | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/python/builder.py b/python/builder.py new file mode 100644 index 0000000..bdfd092 --- /dev/null +++ b/python/builder.py @@ -0,0 +1,70 @@ +#----------------------------------------------------------------------- +#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam +# +#Author: Daniel M. Pelt +#Contact: D.M.Pelt@cwi.nl +#Website: http://dmpelt.github.io/pyastratoolbox/ +# +# +#This file is part of the Python interface to the +#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox"). +# +#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify +#it under the terms of the GNU General Public License as published by +#the Free Software Foundation, either version 3 of the License, or +#(at your option) any later version. +# +#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful, +#but WITHOUT ANY WARRANTY; without even the implied warranty of +#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +#GNU General Public License for more details. +# +#You should have received a copy of the GNU General Public License +#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>. +# +#----------------------------------------------------------------------- +import sys +import os +import numpy as np + +from distutils.version import LooseVersion +from distutils.core import setup +from distutils.extension import Extension + +from Cython.Distutils import build_ext +from Cython.Build import cythonize +import Cython +if LooseVersion(Cython.__version__)<LooseVersion('0.13'): raise ImportError("Cython version should be at least 0.13") +usecuda=False +try: + if os.environ['CPPFLAGS'].find('-DASTRA_CUDA')!=-1: + usecuda=True +except KeyError: + pass +cfg = open('astra/config.pxi','w') +cfg.write('DEF HAVE_CUDA=' + str(usecuda) + "\n") +cfg.close() + +cmdclass = { } +ext_modules = [ ] + +language_level = 3 if int(sys.version[0]) > 2 else 2 +ext_modules = cythonize("astra/*.pyx", language_level=language_level) +cmdclass = { 'build_ext': build_ext } + +setup (name = 'PyASTRAToolbox', + version = '1.6', + description = 'Python interface to the ASTRA-Toolbox', + author='D.M. Pelt', + author_email='D.M.Pelt@cwi.nl', + url='http://dmpelt.github.io/pyastratoolbox/', + #ext_package='astra', + #ext_modules = cythonize(Extension("astra/*.pyx",extra_compile_args=extra_compile_args,extra_linker_args=extra_compile_args)), + license='GPLv3', + ext_modules = ext_modules, + include_dirs=[np.get_include()], + cmdclass = cmdclass, + #ext_modules = [Extension("astra","astra/astra.pyx")], + packages=['astra'], + requires=["numpy"], + ) |