Example #1
0
 def __init__(self, name, sources, *args, **kwargs):
     cfg_ext = cfg.make_extension(python=True, **kwargs)
     self.cxx = cfg_ext.pop('cxx', None)
     self.cc = cfg_ext.pop('cc', None)
     self._sources = sources
     Extension.__init__(self, name, sources, *args, **cfg_ext)
     self.__dict__.pop("sources", None)
Example #2
0
def gen_ext(module, fortran_options):
    src = module.replace('.', '/') + '.f90'
    ext = Extension(
        name=module,
        sources=[src],  # <- should be a list type
        extra_f90_compile_args=fortran_options)
    return ext
Example #3
0
    def __init__(self, name, sources, *args, **kwargs):
        # the goal is to rely on original Extension
        # to do so we convert the .py to .cpp with pythran
        # and register the .cpp in place of the .py
        # That's stage 0, and it's enough if you get the source
        # from github and `python setup.py install it`
        #
        # *But* if you want to distribute the source through
        # `python setup.py sdist` then the .py no longer exists
        # and only the .cpp is distributed. That's stage 1

        import pythran.toolchain as tc

        cxx_sources = []
        for source in sources:
            base, ext = os.path.splitext(source)
            if ext == ".cpp":
                output_file = source
                stage = 1
            else:
                output_file = base + '.cpp'  # target name
                # stage 0 when we have the .py
                if os.path.exists(source):
                    stage = 0
                # stage 1 otherwise. `.cpp' should already be there
                # as generated upon stage 0
                else:
                    assert os.path.exists(output_file)
                    stage = 1
                    source = output_file

            # stage-dependant processing
            if stage == 0:
                # get the last name in the path
                if '.' in name:
                    module_name = os.path.splitext(name)[-1][1:]
                else:
                    module_name = name
                tc.compile_pythranfile(source,
                                       output_file,
                                       module_name,
                                       cpponly=True)
            cxx_sources.append(output_file)

        cfg_ext = cfg.make_extension(python=True, **kwargs)
        self.cxx = cfg_ext.pop('cxx')
        Extension.__init__(self, name, cxx_sources, *args, **cfg_ext)
Example #4
0
def compile_cxxfile(module_name, cxxfile, output_binary=None, **kwargs):
    '''c++ file -> native module
    Return the filename of the produced shared library
    Raises CompileError on failure

    '''

    builddir = mkdtemp()
    buildtmp = mkdtemp()

    extension_args = make_extension(**kwargs)

    extension = Extension(module_name, [cxxfile],
                          language="c++",
                          **extension_args)

    try:
        setup(
            name=module_name,
            ext_modules=[extension],
            # fake CLI call
            script_name='setup.py',
            script_args=[
                '--verbose'
                if logger.isEnabledFor(logging.INFO) else '--quiet',
                'build_ext',
                '--build-lib',
                builddir,
                '--build-temp',
                buildtmp,
            ])
    except SystemExit as e:
        raise CompileError(e.args)

    [target] = glob.glob(os.path.join(builddir, module_name + "*"))
    if not output_binary:
        output_binary = os.path.join(os.getcwd(),
                                     module_name + os.path.splitext(target)[1])
    shutil.move(target, output_binary)
    shutil.rmtree(builddir)
    shutil.rmtree(buildtmp)

    logger.info("Generated module: " + module_name)
    logger.info("Output: " + output_binary)

    return output_binary
Example #5
0
def compile_extns(extensions=None, dirname=None, inc_dirs=None):
    """compile cython extensions
    
    `extensions` is list of extensions to compile (None => all pyx files)
    `dirname` is directory in which extensions are found (None = current directory)
    `inc_dirs` is list of additional cython include directories
    """
    if dirname is None:
        dirname = os.path.abspath(os.curdir)
    olddir = os.path.abspath(os.curdir)
    os.chdir(dirname)
    
    if extensions is None:
        extensions = sorted([f[:-4] for f in os.listdir(os.curdir) if f.endswith('.pyx')])
    
    if inc_dirs is None:
        inc_dirs = []
    inc_dirs.append(os.path.join(os.path.split(os.path.abspath(os.path.curdir))[0],'source'))
    print inc_dirs
    sys.argvold = sys.argv[:]
    sys.argv = [__file__, 'build_ext','--inplace']
    
    inc_dirs = [numpy.get_include()] + inc_dirs
    
    cargs = []#'-O3']
    
    # extension modules
    extns = []
    for extnname in extensions:
        extn = Extension(extnname, [extnname+".pyx"], include_dirs=inc_dirs,
                         language='c++', extra_compile_args=cargs)
        extn = get_spcl_extn(extn)
        extns.append(extn)
    
    setup(name='PySPH-bench',
          ext_modules = extns,
          include_package_data = True,
          cmdclass={'build_ext': build_ext},
          )
    
    os.chdir(olddir)
    sys.argv = sys.argvold
Example #6
0
#!/usr/bin/python

from distutils.core import setup
from numpy.distutils.extension import Extension
import numpy

numpyinc = numpy.get_include()

module = Extension(
        'radermacher', 
        sources = ['main.c', 'tiltang.c', 'willsq.c', 'transform.c', 'radon.c',], 
        include_dirs=[numpyinc,],
        extra_compile_args=['-fopenmp',],
        extra_link_args=['-lgomp',],
)

setup(
        name='Radermacher',
        version='1.1',
        description='Radermacher functions for use in Appion',
        author='Neil R. Voss',
        author_email='*****@*****.**',
        url='http://ami.scripps.edu/redmine/projects/appion/wiki/Compile_Radermacher',
        license="Apache v2.0",
        ext_modules=[module]
)

Example #7
0
from numpy.distutils.core import setup
from numpy.distutils.extension import Extension
from numpy.distutils.misc_util import get_numpy_include_dirs
from Cython.Distutils import build_ext

setup(cmdclass={'build_ext': build_ext},
      ext_modules=[Extension("bootstrap", ["bootstrap.pyx"])],
      include_dirs=get_numpy_include_dirs())
Example #8
0
    description=DESCRIPTION, 
    long_description = long_description,
    long_description_content_type="text/markdown",
    packages=[NAME], 
    include_package_data=True,
    platforms='any',
    classifiers=[
        'Programming Language :: Python',
        'Development Status :: 3 - Alpha',
        'Natural Language :: English',
        'Environment :: Console',
        'Intended Audience :: Science/Research',
        'License :: OSI Approved :: MIT License',
        'Operating System :: OS Independent',
        'Topic :: Scientific/Engineering :: Mathematics',
    ]
)

# Readthedocs uses the --force option, and does not work if we ask to 
# compile fortran code, so we disable this in that case.
if '--force' in sys.argv: 
    from setuptools import setup 
else:
    from numpy.distutils.core import setup
    from numpy.distutils.extension import Extension
    ext = Extension(name=NAME + ".lowdiscrepancy", 
                    sources=["src/LowDiscrepancy.f"])
    METADATA['ext_modules'] = [ext,]
    
setup(**METADATA)
Example #9
0
#!/usr/bin/env python
if __name__ == '__main__':
    from numpy.distutils.core import setup
    from numpy.distutils.extension import Extension
    from Cython.Build import cythonize
    ext = []
    ext += [Extension(name='slippy.cdc3d', sources=['slippy/cdc3d.pyx'])]
    setup(name='SlipPy',
          packages=['slippy'],
          scripts=['exec/slippy', 'exec/plot_slippy'],
          version='0.1.0',
          description=
          'module for inverting coseismic slip from GPS and InSAR data',
          author='Trever Hines',
          author_email='*****@*****.**',
          url='https://github.com/treverhines/SlipPy',
          ext_modules=cythonize(ext))
Example #10
0
      maintainer=MAINTAINER,
      maintainer_email=MAINTAINER_EMAIL,
      description=DESCRIPTION,
      license=LICENSE,
      url=URL,
      download_url=DOWNLOAD_URL,
      long_description=long_description,
      classifiers=[
          'Development Status :: 3 - Alpha', 'Environment :: Console',
          'Intended Audience :: Developers',
          'Intended Audience :: Science/Research',
          'License :: OSI Approved :: GNU General Public License (GPL)',
          'Topic :: Scientific/Engineering'
      ],
      cmdclass=hooks.cmdclass,
      ext_modules=[
          Extension('pystudio.pystudio', ['pystudio/pystudio.pyx'],
                    language='c++',
                    depends=[
                        'pystudio/dispatcheraccess.pyx',
                        'pystudio/parameters.pyx',
                        'pystudio/paramscomputer.pyx', 'pystudio/requests.pyx',
                        'pystudio/libdispatcheraccess.pxd',
                        'pystudio/libhelpers.pxd', 'pystudio/libqt.pxd'
                    ],
                    libraries=libraries,
                    include_dirs=include_dirs,
                    library_dirs=[libdispatcheraccess],
                    runtime_library_dirs=[libdispatcheraccess])
      ])
Example #11
0
    #FORTRAN code extension
    #-------------------------------------------------------------------
    #make sure you use the setup from numpy
    from numpy.distutils.core import setup  # this is numpy's setup
    from numpy.distutils.extension import Extension
    #from numpy import get_include
    from Cython.Build import cythonize

    # these are the almost intact gslib code
    gslib_kt3d = Extension(
        name='pygslib.gslib.__gslib__kt3d',
        sources=[
            'for_code/kt3d/kt3d.f90', 'for_code/kt3d/gslib/setrot.f90',
            'for_code/kt3d/gslib/getindx.f90',
            'for_code/kt3d/gslib/picksupr.f90',
            'for_code/kt3d/gslib/setsupr.f90',
            'for_code/kt3d/gslib/sqdist.f90', 'for_code/kt3d/gslib/cova3.f90',
            'for_code/kt3d/gslib/ktsol.f90', 'for_code/kt3d/gslib/sortem.f90',
            'for_code/kt3d/gslib/srchsupr.f90'
        ],
        f2py_options=['only:', 'pykt3d', 'set_unest', ':'])

    gslib_postik = Extension(
        name='pygslib.gslib.__gslib__postik',
        sources=[
            'for_code/postik/postik.f90', 'for_code/postik/gslib/beyond.f90',
            'for_code/postik/gslib/locate.f90',
            'for_code/postik/gslib/powint.f90',
            'for_code/postik/gslib/sortem.f90'
        ],
        f2py_options=['only:', 'postik', 'set_unest', 'get_unest', ':'])
Example #12
0
from distutils.util import get_platform
from numpy.distutils.extension import Extension
import numpy

if get_platform() == 'win32':
    define_macros = []
else:
    define_macros = [('HAS_RUSAGE', None)]

numpyinc = numpy.get_include()

module = Extension('libcv._libcv',
                   sources=[
                       'mserpy.c', 'mser.c', 'geometry.c', 'lautil.c',
                       'util.c', 'csift.c', 'mutil.c', 'image.c', 'match.c',
                       'unionfind.c'
                   ],
                   define_macros=define_macros,
                   include_dirs=[
                       numpyinc,
                   ])

setup(
    name='libcv',
    version='0.2',
    description='wrapper around libCV',
    ext_modules=[module],
    packages=['libcv'],
    package_dir={'libcv': ''},
)
Example #13
0
name = 'qubic'
long_description = open('README.rst').read()
keywords = 'scientific computing'
platforms = 'MacOS X,Linux,Solaris,Unix,Windows'
delattr(os, 'link')  # force sdist to copy files
hooks.F90_COMPILE_ARGS_GFORTRAN += ['-fpack-derived', '-g']
hooks.F90_COMPILE_ARGS_IFORT += ['-align norecords', '-g']
if sys.platform == 'darwin':
    hooks.F77_COMPILE_OPT_GFORTRAN = ['-O2']
    hooks.F90_COMPILE_OPT_GFORTRAN = ['-O2']

ext_modules = [
    Extension('qubic._flib',
              sources=['src/polarization.f90.src', 'src/xpol.f90'],
              include_dirs=['.', np.get_include()],
              libraries=['gomp', ('fmod', {
                  'sources': ['src/wig3j.f']
              })])
]

setup(name=name,
      version=hooks.get_version(name, VERSION),
      description='Simulation and map-making tools for the QUBIC experiment.',
      long_description=long_description,
      url='',
      author='Pierre Chanial',
      author_email='*****@*****.**',
      install_requires=[
          'progressbar', 'pyoperators>=0.13.2', 'pysimulators>=1.0.8',
          'healpy>=0.6.1', 'pyYAML'
      ],
Example #14
0
File: setup.py Project: mfkiwl/RBF
#!/usr/bin/env python
if __name__ == '__main__':
  from numpy.distutils.core import setup
  from numpy.distutils.extension import Extension
  from Cython.Build import cythonize
  ext = []
  ext += [Extension(name='rbf.halton',sources=['rbf/halton.pyx'])]
  ext += [Extension(name='rbf.misc.bspline',sources=['rbf/misc/bspline.pyx'])]
  ext += [Extension(name='rbf.geometry',sources=['rbf/geometry.pyx'])]
  ext += [Extension(name='rbf.poly',sources=['rbf/poly.pyx'])]
  setup(name='RBF',
        version='1.2',
        description='Package containing the tools necessary for radial basis function (RBF) applications',
        author='Trever Hines',
        author_email='*****@*****.**',
        url='www.github.com/treverhines/RBF',
        packages=['rbf','rbf.misc'],
        ext_modules=cythonize(ext),
        license='MIT')


Example #15
0
from numpy.distutils.core import setup
from numpy.distutils.extension import Extension

extension = Extension("gcvspline._gcvspl", ["gcvspline/gcvspl.f"])

setup(
    name='gcvspline',
    version='0.4',
    description=
    'A Python wrapper for gcvspl.f, a FORTRAN package for generalized, cross-validatory spline smoothing and differentiation.',
    url='https://github.com/charlesll/gcvspline',
    author='Charles Le Losq and Yu Feng',
    author_email='*****@*****.**',
    license='GNU-GPLv3',
    packages=['gcvspline', 'gcvspline.tests'],
    install_requires=['numpy>=1.12'],
    ext_modules=[extension],
    zip_safe=False)
Example #16
0
short_description = __doc__.split("\n")

# from https://github.com/pytest-dev/pytest-runner#conditional-requirement
needs_pytest = {'pytest', 'test', 'ptr'}.intersection(sys.argv)
pytest_runner = ['pytest-runner'] if needs_pytest else []

try:
    with open("README.md", "r") as handle:
        long_description = handle.read()
except:
    long_description = "\n".join(short_description[2:])

ext_math = Extension(
    name = 'molsysmt.lib.libmath',
    extra_compile_args = [],
    libraries = [],
    language = 'f90',
    sources = ['molsysmt/lib/libmath.f90'],
)

ext_pbc = Extension(
    name = 'molsysmt.lib.libpbc',
    extra_compile_args = [],
    libraries = [],
    language = 'f90',
    sources = ['molsysmt/lib/libpbc.f90'],
)

ext_com = Extension(
    name = 'molsysmt.lib.libcom',
    extra_compile_args = [],
Example #17
0
# You should have received a copy of the GNU General Public License
# along with FMMV; if not, write to the Free Software  Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#

from os import environ
from numpy.distutils.core import setup
from numpy.distutils.extension import Extension

NUMPY_INCLUDE = environ.get('NUMPY_INCLUDE')
INC_INSTALLDIR = environ.get('INC_INSTALLDIR')
LIB_INSTALLDIR = environ.get('LIB_INSTALLDIR')

module2d = Extension('fmmv2d',
                     define_macros=[('FMM_DIM', '2')],
                     include_dirs=[INC_INSTALLDIR, NUMPY_INCLUDE],
                     libraries=['fmmv2d'],
                     library_dirs=[LIB_INSTALLDIR],
                     sources=['fmmvmodule.c'])

module2df = Extension('fmmv2df',
                      define_macros=[('USE_SINGLE_PRECISION', '1'),
                                     ('FMM_DIM', '2')],
                      include_dirs=[INC_INSTALLDIR, NUMPY_INCLUDE],
                      libraries=['fmmv2df'],
                      library_dirs=[LIB_INSTALLDIR],
                      sources=['fmmvmodule.c'])

module3d = Extension('fmmv3d',
                     define_macros=[('FMM_DIM', '3')],
                     include_dirs=[INC_INSTALLDIR, NUMPY_INCLUDE],
                     libraries=['fmmv3d'],
Example #18
0
"""Setup script for f2py-wrapped library.
"""

# Third-party modules
from numpy.distutils.core import setup
from numpy.distutils.extension import Extension

# Build the extension module object
extmod = Extension(
    name='simple',
    # List here the interface (.pyf) file, plus any sources
    # that need to be explicitly compiled into the wrapped
    # module (i.e., not already part of one of the fortran
    # libraries listed below):
    sources=['simple.pyf', 'simple.f90'],

    # Additional libraries required by our extension modules
    libraries=[],

    # Add '--debug-capi' for verbose debugging of low-level
    # calls
    #f2py_options = ['--debug-capi'],
)

# Make the actual distutils setup call
setup(
    name='simple',  # name of the generated extension (.so)
    description='Segmentation library',
    author='Felipe Arrate',
    ext_modules=[extmod],
)
Example #19
0
# To compile f90 with f2py 'setup' has to come from numpy.
# This is not the case with cython.
# In addition, the option cmdclass = {'build_ext': build_ext} is not needed
# Check for example:
# https://github.com/perrette/python-fortran-cpp-template/blob/master/setup.py
# https://stackoverflow.com/questions/14453208/mixing-f2py-with-distutils
# https://gist.github.com/johntut/1d8edea1fd0f5f1c057c

from numpy.distutils.core import setup
from numpy.distutils.extension import Extension

ext_math = Extension(
    name='vector_normalization.lib.libmath',
    extra_compile_args=[],
    libraries=[],
    language='f90',
    sources=['vector_normalization/lib/libmath.f90'],
)

setup(
    name='vector_normalization',
    version='1.0',
    author='Diego Prada | UIBCDF Lab',
    author_email='*****@*****.**',
    package_dir={'vector_normalization': 'vector_normalization'},
    packages=setuptools.find_packages(),
    ext_modules=[ext_math],
    url='http://uibcdf.org',
    download_url='https://github.com/uibcdf/TestConda_withF90Libs',
    license='MIT',
Example #20
0
            build_ext_failed = True
            print(e, file=sys.stderr)


cmdclass["build_ext"] = BuildExt

# make cython extension instances
for d in cy_defs:
    if d is None:
        continue

    src_lst = d[1]

    _ext = Extension(d[0],
                     src_lst,
                     extra_compile_args=cy_ccflags,
                     extra_link_args=cy_ldflags,
                     **d[2])
    ext_mods += [_ext]

if has_cython and use_cython:
    ext_mods = cythonize(ext_mods, nthreads=_nprocs)

# make fortran extension instances
try:
    fc = _fcompiler.new_fcompiler(dry_run=True)
except ValueError:
    fc = None

if fc is None:
    # warn the user at the very end so they're more likely to see the warning
Example #21
0
from numpy.distutils.core import setup
from numpy.distutils.extension import Extension

setup(
    name='MolModExt',
    version='0.001',
    description=
    'MolModExt implements a few number crunching routines for the molmod package in C.',
    author='Toon Verstraelen',
    author_email='*****@*****.**',
    url='http://molmod.ugent.be/code/',
    ext_modules=[
        Extension("molmod.ext", [
            "lib/interface.pyf",
            "lib/ff.c",
            "lib/graphs.c",
            "lib/similarity.c",
            "lib/molecules.c",
            "lib/volume.c",
        ]),
    ],
    packages=['molmod'],
    package_dir={'molmod': 'lib'},
    classifiers=[
        'Development Status :: 3 - Alpha', 'Environment :: Console',
        'Intended Audience :: Science/Research',
        'License :: OSI Approved :: GNU General Public License (GPL)',
        'Operating System :: POSIX :: Linux', 'Programming Language :: Python',
        'Topic :: Science/Engineering :: Molecular Science'
    ],
)
Example #22
0
from numpy import get_include
from numpy.distutils.core import setup
from numpy.distutils.extension import Extension
#from setuptools import setup, Extension
from Cython.Build import cythonize
from Cython.Distutils import build_ext

NAME = 'helloworld'
NUMPY_INC = get_include()

extensions = [
    Extension(name=NAME + ".cext",
              include_dirs=[NUMPY_INC],
              sources=["cext.pyx"],
              define_macros=[('NPY_NO_DEPRECATED_API', 'NPY_1_7_API_VERSION')
                             ]),
    Extension(name=NAME + ".fext",
              sources=["fext.f90"],
              language='fortran',
              define_macros=[('NPY_NO_DEPRECATED_API', 'NPY_1_7_API_VERSION')
                             ]),
]
extensions = cythonize(extensions, language_level=3)
setup(name=NAME, ext_modules=extensions)
Example #23
0
import sys
import os
import glob

import numpy as np
from numpy.distutils.core import setup
from numpy.distutils.extension import Extension

version = 0.1

extensions = [
    Extension("torontonian_samples",
              sources=[
                  'src/kinds.f90', 'src/structures.f90', 'src/vars.f90',
                  'src/torontonian_samples.f90'
              ],
              extra_f90_compile_args=[
                  "-fdefault-real-8", '-fbacktrace', '-fno-align-commons',
                  '-fbounds-check', "-fPIC"
              ],
              extra_link_args=['-fopenmp'])
]

info = {
    'name': 'torontonian_samples',
    'version': version,
    'maintainer': 'Xanadu Inc.',
    'maintainer_email': '*****@*****.**',
    'url': 'http://xanadu.ai',
    'license': 'Apache License 2.0',
    'packages': [
        'torontonian_samples',
Example #24
0
        'molmod.io.test',
    ],
    data_files=[
        ('share/molmod', [
            "data/periodic.csv", "data/bonds.csv", "data/mass.mas03",
            "data/nubtab03.asc", "data/toyff_angles.txt"
        ]),
        ('share/molmod/test', glob('data/test/*')),
    ] +
    [('share/molmod/examples/%s' % os.path.basename(dn), glob('%s/*.*' % dn))
     for dn in glob('data/examples/???_*')],
    ext_modules=[
        Extension("molmod.ext", [
            "molmod/ext.pyf",
            "molmod/common.c",
            "molmod/ff.c",
            "molmod/graphs.c",
            "molmod/similarity.c",
            "molmod/molecules.c",
            "molmod/unit_cells.c",
        ]),
    ],
    classifiers=[
        'Development Status :: 3 - Alpha', 'Environment :: Console',
        'Intended Audience :: Science/Research',
        'License :: OSI Approved :: GNU General Public License (GPL)',
        'Operating System :: POSIX :: Linux', 'Programming Language :: Python',
        'Topic :: Science/Engineering :: Molecular Science'
    ],
)
Example #25
0
spath = os.path.abspath(__file__).split("setup.py")[0]
#Define CRTM *.bin directory location
outdir = os.path.join(spath,'PyGEOMET','utils','crtm_coeff')
#Determine if the directory already exist
if (os.path.isdir(outdir)):
    exist = True
else:
    exist = False

#Check to see if the user enable CRTM
#**Note: CRTM must be compiled by the user separately before using 
#        within PyGEOMET. Also, we haven't found an easy way to do this on Windows.
if USE_CRTM:
    #Check to make sure the user has provided correct paths to CRTM
    if (os.path.isdir(crtm_path)):
        extensions = [Extension("PyGEOMET.utils.wrf_cython",["PyGEOMET/utils/wrf_cython.pyx"],
                                extra_compile_args = ["-ffast-math"]), 
                      Extension("PyGEOMET.utils.crtm_python",["PyGEOMET/utils/crtm_python.f90"],
                                include_dirs=[crtm_include],
                                extra_link_args = [crtm_lib])]
        #Link CRTM *.bin files into expected directory
        #Create output directory if it doesn't exist
        if (exist == False):
            os.makedirs(outdir)
        else: #Clear the directory
            #Get the files in the directory
            bin_files = glob.glob(os.path.join(outdir,'*.bin'))
            for f in bin_files:
                os.remove(f)
        #AerosolCoeff
        shutil.copy(os.path.join(crtm_path,'fix','AerosolCoeff',endian,'AerosolCoeff.bin'),
                    os.path.join(outdir,'AerosolCoeff.bin'))
Example #26
0
import os
import numpy as np
from numpy.distutils.core import setup
from numpy.distutils.extension import Extension

# # Numpy header files
numpy_lib = os.path.split(np.__file__)[0]
numpy_include = os.path.join(numpy_lib, 'core/include')

setup(
    name="align",
    version='0.0.1',
    description="tools for aligning two molecular structures",
    packages=["align",
              "align._src",
              "align.tests",
             ],
    ext_modules=[
            Extension("align._src.minperm", ["align/_src/minperm.f90"],
                      extra_compile_args=['-Wextra', '-pedantic', '-funroll-loops', '-O2', ],
                     ),
            Extension("align._src._cost_matrix", ["align/_src/_cost_matrix.c"],
                      include_dirs=[numpy_include],
                      extra_compile_args = ['-Wextra','-pedantic','-funroll-loops','-O2',],
                     ),

                 ]
      )
Example #27
0
license = 'GPL'
copyright = '''Copyright © 2001-2008 LOGILAB S.A. (Paris, FRANCE).
http://www.logilab.fr/ -- mailto:[email protected]'''

short_desc = "Hidden Markov Models in Python"
long_desc = """Hidden Markov Models in Python
Implementation based on _A Tutorial on Hidden Markov Models and Selected
Applications in Speech Recognition_, by Lawrence Rabiner, IEEE, 1989.
This module uses numeric python multyarrays to improve performance and
reduce memory usage."""

author = "Alexandre Fayolle"
author_email = "*****@*****.**"

web = "http://www.logilab.org/projects/%s" % distname
ftp = "ftp://ftp.logilab.org/pub/%s" % modname
mailinglist = "http://lists.logilab.org/mailman/listinfo/ai-projects"

subpackage_of = 'logilab'

try:
    from numpy.distutils.extension import Extension
    from numpy.distutils.misc_util import Configuration
    fmod = Extension('logilab.hmm._hmmf', ['_hmmf.pyf', '_hmmf.f90'],
                     libraries=['gfortran'])
    cmod = Extension('logilab.hmm._hmm_c', ['_hmm.c'], libraries=['m'])
    ext_modules = [fmod, cmod]
except:
    pass
Example #28
0
        USE_LAPACK = True
        CFLAGS += [" -lopenblas -DLAPACKE=1"]
        libraries += ["openblas"]
        extra_link_args_CPP[0] += " -lopenblas"

    extensions = cythonize([
        Extension(
            "libwalrus",
            sources=[
                "thewalrus/libwalrus." + ext,
            ],
            depends=[
                "include/libwalrus.hpp", "include/eigenvalue_hafnian.hpp",
                "include/recursive_hafnian.hpp",
                "include/repeated_hafnian.hpp", "include/hafnian_approx.hpp",
                "include/torontonian.hpp", "include/permanent.hpp",
                "include/hermite_multidimensional.hpp", "include/stdafx.h",
                "include/fsum.hpp"
            ],
            include_dirs=C_INCLUDE_PATH,
            library_dirs=['/usr/lib', '/usr/local/lib'] + LD_LIBRARY_PATH,
            libraries=libraries,
            language="c++",
            extra_compile_args=["-std=c++11"] + CFLAGS,
            extra_link_args=extra_link_args_CPP)
    ],
                           compile_time_env={
                               '_OPENMP': USE_OPENMP,
                               'LAPACKE': USE_LAPACK
                           })
else:
Example #29
0
            "Intended Audience :: Science/Research",
            "Topic :: Scientific/Engineering :: Atmospheric Science",
        ]
    )

    return config


pamgasabs_path = 'libs/pamgasabs/pamgasabs'
pamgasabs = Extension(
    'pamtra2.libs.pamgasabs.pamgasabs_lib',
    sources=[
        '%s/pamgasabs_lib/pamgasabs_lib.pyf' % pamgasabs_path,
        '%s/pamgasabs_lib/kinds.f90' % pamgasabs_path,
        '%s/pamgasabs_lib/report_module.f90' % pamgasabs_path,
        '%s/pamgasabs_lib/constants.f90' % pamgasabs_path,
        '%s/pamgasabs_lib/gasabs_module.f90' % pamgasabs_path,
        '%s/pamgasabs_lib/rosen98_gasabs.f90' % pamgasabs_path,
        '%s/pamgasabs_lib/mpm93.f90' % pamgasabs_path,
    ], 
    extra_compile_args = [ "-fPIC"],
    **kw)

pyrasim_path = 'libs/pyPamtraRadarSimulator/pyPamtraRadarSimulator'
pyrasim = Extension(
    'pamtra2.libs.pyPamtraRadarSimulator.pyPamtraRadarSimulatorLib',
    sources=[
        '%s/pyPamtraRadarSimulatorLib/pyPamtraRadarSimulatorLib.pyf' %
        pyrasim_path,
        '%s/pyPamtraRadarSimulatorLib/kinds.f90' % pyrasim_path,
        '%s/pyPamtraRadarSimulatorLib/report_module.f90' % pyrasim_path,
Example #30
0
    keywords='fusedwake',
    classifiers=[
        'Development Status :: 2 - Pre-Alpha',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: GNU Affero v3',
        'Natural Language :: English',
        "Programming Language :: Python :: 2",
        'Programming Language :: Python :: 2.6',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
    ],
    test_suite='tests',
    tests_require=test_requirements,
    ext_package='fusedwake',
    ext_modules=[Extension('gcl.fortran',
                           glob.glob(os.path.join('fusedwake', 'gcl', 'fortran',
                                                  'GCL.f'))),
                Extension('noj.fortran',
                           glob.glob(os.path.join('fusedwake', 'noj', 'fortran',
                                                  'NOJ.f'))),
                Extension('noj.fortran_mod',
                           glob.glob(os.path.join('fusedwake', 'noj', 'fortran',
                                                  'Mod_NOJ.f'))),
                Extension('gau.fortran',
                           glob.glob(os.path.join('fusedwake', 'gau', 'fortran',
                                                  'GAU.f')))],
)