commit 1566555c5dd7da75c98328dae5d08e995748630b Author: Niels Müller Date: Wed Mar 16 13:01:22 2016 +0100 Initial files for the package diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..364a9db --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +__pycache__ +build/ +dist/ +*.egg-info +.cache/ +*.cpp diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..6845a6a --- /dev/null +++ b/setup.py @@ -0,0 +1,68 @@ +import os +from setuptools import setup, Extension + +from Cython.Build import cythonize +import numpy + + +include_dirs = [numpy.get_include(), 'gromacs/src','gromacs/src/external/tng_io/include',] +library_dirs = [] +if 'LD_LIBRARY_PATH' in os.environ: + lib = os.environ['LD_LIBRARY_PATH'].split(':')[0] + library_dirs.insert(0, lib) + include = lib.replace('/lib', '/include') + if os.path.exists(include): + include_dirs.insert(0, include) +elif os.path.exists('gromacs/build/lib'): + library_dirs.insert(0, 'gromacs/build/lib') + +if not library_dirs: + raise OSError(""" + Gromacs library not found. + Activate a gromacs module or specify environment variable LD_LIBRARY_PATH. + """) + +library_dirs.append('gromacs/src/external/tng_io/build/lib') + +library_dirs = [os.path.abspath(p) for p in library_dirs] + + +extensions = [ + # Extension('mdevaluate.gromacs.coordinates', [ + # 'mdevaluate/gromacs/coordinates.pyx'], include_dirs=include_dirs), + # Extension('mdevaluate.gromacs.logarithmic', [ + # 'mdevaluate/gromacs/logarithmic.pyx'], include_dirs=include_dirs), + Extension('pygmx.tpxio', + sources=['pygmx/tpxio.pyx'], + include_dirs=include_dirs, + libraries=['gromacs'], + library_dirs=library_dirs, + runtime_library_dirs=library_dirs, + language='c++'), + Extension('pygmx.xtcio', + sources=['pygmx/xtcio.pyx'], + include_dirs=include_dirs, + libraries=['gromacs'], + library_dirs=library_dirs, + runtime_library_dirs=library_dirs, + language='c++'), + Extension('pygmx.tngio', + sources=['pygmx/tngio.pyx'], + include_dirs=include_dirs, + libraries=['gromacs'], + library_dirs=library_dirs, + runtime_library_dirs=library_dirs, + #language='c++' + ), + +] + +setup( + name='pygmx', + description='Python wrapper for gromacs library.', + author_email='niels.mueller@physik.tu-darmstadt.de', + packages=['pygmx', ], + version='0.0.2', + requires=['numpy', 'Cython'], + ext_modules=cythonize(extensions), +)