#!/usr/bin/env python from setuptools import setup, find_packages, Extension def get_version(string): """ Parse the version number variable __version__ from a script. """ import re version_re = r"^__version__ = ['\"]([^'\"]*)['\"]" version_str = re.search(version_re, string, re.M).group(1) return version_str def get_includes(): class Includes: def __iter__(self): import pysam import numpy return iter(pysam.get_include()+[numpy.get_include()]) def __getitem__(self, i): return list(self)[i] return Includes() def get_defines(): class Defines: def __iter__(self): import pysam return iter(pysam.get_defines()) def __getitem__(self, i): return list(self)[i] return Defines() setup(name="genomeview", version=get_version(open('genomeview/__init__.py').read()), description="genomeview", author="Noah Spies", packages=find_packages(), setup_requires=["cython", "pysam", "numpy"], install_requires=["pysam", "numpy"], ext_modules = [ Extension("genomeview._quickconsensus", sources=["genomeview/_quickconsensus.pyx"], include_dirs=get_includes(), define_macros=get_defines() ) ], python_requires=">=3.3" )