1#!/usr/bin/env python 2from setuptools import setup, Extension, find_packages 3from distutils import sysconfig 4import glob 5import sys 6 7srcs = [x for x in glob.glob("deeptoolsintervals/tree/*.c")] 8 9libs = ["z"] 10if sysconfig.get_config_vars('BLDLIBRARY') is not None: 11 # Note the "-l" prefix! 12 for e in sysconfig.get_config_vars('BLDLIBRARY')[0].split(): 13 if e[0:2] == "-l": 14 libs.append(e[2:]) 15elif sys.version_info[0] >= 3 and sys.version_info[1] >= 3: 16 libs.append("python%i.%im" % (sys.version_info[0], sys.version_info[1])) 17else: 18 libs.append("python%i.%i" % (sys.version_info[0], sys.version_info[1])) 19 20additional_libs = [sysconfig.get_config_var("LIBDIR"), sysconfig.get_config_var("LIBPL")] 21 22module1 = Extension('deeptoolsintervals.tree', 23 sources=srcs, 24 libraries=libs, 25 library_dirs=additional_libs, 26 include_dirs=[sysconfig.get_config_var("INCLUDEPY")]) 27 28setup(name='deeptoolsintervals', 29 version='0.1.9', 30 description='A python module creating/accessing GTF-based interval trees with associated meta-data', 31 author="Devon P. Ryan", 32 author_email="ryan@ie-freiburg.mpg.de", 33 url="https://github.com/deeptools/deeptools_intervals", 34 keywords=["bioinformatics", "GTF"], 35 classifiers=["Development Status :: 5 - Production/Stable", 36 "Environment :: Console", 37 "License :: OSI Approved :: MIT License", 38 "Intended Audience :: Developers", 39 "Programming Language :: C", 40 "Programming Language :: Python", 41 "Programming Language :: Python :: 2", 42 "Programming Language :: Python :: 2.7", 43 "Programming Language :: Python :: 3", 44 "Programming Language :: Python :: 3.3", 45 "Programming Language :: Python :: 3.4", 46 "Programming Language :: Python :: 3.5", 47 "Programming Language :: Python :: 3.6", 48 "Programming Language :: Python :: Implementation :: CPython", 49 "Operating System :: POSIX", 50 "Operating System :: Unix", 51 "Operating System :: MacOS", 52 "Topic :: Scientific/Engineering"], 53 packages=find_packages(), 54 zip_safe=False, 55 include_package_data=True, 56 ext_modules=[module1]) 57