summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorAyush Karnawat <ayush.karnawat97@gmail.com>2020-05-19 02:29:51 -0400
committerGitHub <noreply@github.com>2020-05-19 08:29:51 +0200
commitad04f50a04fcc240604eda416fac1099d269302c (patch)
tree5ffca11e7db48ea2406a2708bbb0b60f3592de1a /setup.py
parent37456eb117022393472eed22e0d0c2eb17faf786 (diff)
[MRG] Codecov options + remove 2.7 (#178)
* cleanup setup * Ignore files in codecov * Remove externals module * change name to compile_args * bye py2.7 (you will be missed) * glob to ignore folders
Diffstat (limited to 'setup.py')
-rw-r--r--[-rwxr-xr-x]setup.py126
1 files changed, 61 insertions, 65 deletions
diff --git a/setup.py b/setup.py
index 40d50df..0f2ef92 100755..100644
--- a/setup.py
+++ b/setup.py
@@ -1,17 +1,15 @@
#!/usr/bin/env python
-from setuptools import setup, find_packages
-from codecs import open
-from os import path
-from setuptools.extension import Extension
-from Cython.Build import cythonize
-import numpy
-import re
import os
-import sys
+import re
import subprocess
+import sys
-here = path.abspath(path.dirname(__file__))
+from setuptools import find_packages, setup
+from setuptools.extension import Extension
+
+import numpy
+from Cython.Build import cythonize
# dirty but working
@@ -21,73 +19,71 @@ __version__ = re.search(
# The beautiful part is, I don't even need to check exceptions here.
# If something messes up, let the build process fail noisy, BEFORE my release!
-# thanks Pipy for handling markdown now
+# thanks PyPI for handling markdown now
ROOT = os.path.abspath(os.path.dirname(__file__))
-
with open(os.path.join(ROOT, 'README.md'), encoding="utf-8") as f:
README = f.read()
-opt_arg = ["-O3"]
-
# clean cython output is clean is called
if 'clean' in sys.argv[1:]:
if os.path.isfile('ot/lp/emd_wrap.cpp'):
os.remove('ot/lp/emd_wrap.cpp')
-
# add platform dependant optional compilation argument
+compile_args = ["-O3"]
if sys.platform.startswith('darwin'):
- opt_arg.append("-stdlib=libc++")
+ compile_args.append("-stdlib=libc++")
sdk_path = subprocess.check_output(['xcrun', '--show-sdk-path'])
os.environ['CFLAGS'] = '-isysroot "{}"'.format(sdk_path.rstrip().decode("utf-8"))
-setup(name='POT',
- version=__version__,
- description='Python Optimal Transport Library',
- long_description=README,
- long_description_content_type='text/markdown',
- author=u'Remi Flamary, Nicolas Courty',
- author_email='remi.flamary@gmail.com, ncourty@gmail.com',
- url='https://github.com/PythonOT/POT',
- packages=find_packages(),
- ext_modules=cythonize(Extension(
- "ot.lp.emd_wrap", # the extension name
- sources=["ot/lp/emd_wrap.pyx", "ot/lp/EMD_wrapper.cpp"], # the Cython source and
- # additional C++ source files
- language="c++", # generate and compile C++ code,
- include_dirs=[numpy.get_include(), os.path.join(ROOT, 'ot/lp')],
- extra_compile_args=opt_arg
- )),
- platforms=['linux', 'macosx', 'windows'],
- download_url='https://github.com/PythonOT/POT/archive/{}.tar.gz'.format(__version__),
- license='MIT',
- scripts=[],
- data_files=[],
- setup_requires=["numpy>=1.16", "cython>=0.23"],
- install_requires=["numpy>=1.16", "scipy>=1.0"],
- classifiers=[
- 'Development Status :: 5 - Production/Stable',
- 'Intended Audience :: Developers',
- 'Intended Audience :: Education',
- 'Intended Audience :: Science/Research',
- 'License :: OSI Approved :: MIT License',
- 'Environment :: Console',
- 'Operating System :: OS Independent',
- 'Operating System :: MacOS',
- 'Operating System :: POSIX',
- 'Programming Language :: Python',
- 'Programming Language :: C++',
- 'Programming Language :: C',
- 'Programming Language :: Cython',
- 'Topic :: Utilities',
- 'Topic :: Scientific/Engineering :: Artificial Intelligence',
- 'Topic :: Scientific/Engineering :: Mathematics',
- 'Topic :: Scientific/Engineering :: Information Analysis',
- 'Programming Language :: Python :: 2',
- 'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.4',
- 'Programming Language :: Python :: 3.5',
- 'Programming Language :: Python :: 3.6',
- ]
- )
+setup(
+ name='POT',
+ version=__version__,
+ description='Python Optimal Transport Library',
+ long_description=README,
+ long_description_content_type='text/markdown',
+ author=u'Remi Flamary, Nicolas Courty',
+ author_email='remi.flamary@gmail.com, ncourty@gmail.com',
+ url='https://github.com/PythonOT/POT',
+ packages=find_packages(),
+ ext_modules=cythonize(Extension(
+ name="ot.lp.emd_wrap",
+ sources=["ot/lp/emd_wrap.pyx", "ot/lp/EMD_wrapper.cpp"], # cython/c++ src files
+ language="c++",
+ include_dirs=[numpy.get_include(), os.path.join(ROOT, 'ot/lp')],
+ extra_compile_args=compile_args,
+ )),
+ platforms=['linux', 'macosx', 'windows'],
+ download_url='https://github.com/PythonOT/POT/archive/{}.tar.gz'.format(__version__),
+ license='MIT',
+ scripts=[],
+ data_files=[],
+ setup_requires=["numpy>=1.16", "cython>=0.23"],
+ install_requires=["numpy>=1.16", "scipy>=1.0"],
+ classifiers=[
+ 'Development Status :: 5 - Production/Stable',
+ 'Intended Audience :: Developers',
+ 'Intended Audience :: Education',
+ 'Intended Audience :: Science/Research',
+ 'License :: OSI Approved :: MIT License',
+ 'Environment :: Console',
+ 'Operating System :: OS Independent',
+ 'Operating System :: Linux',
+ 'Operating System :: MacOS',
+ 'Operating System :: POSIX',
+ 'Operating System :: Windows',
+ 'Programming Language :: Python',
+ 'Programming Language :: C++',
+ 'Programming Language :: C',
+ 'Programming Language :: Cython',
+ 'Topic :: Utilities',
+ 'Topic :: Scientific/Engineering :: Artificial Intelligence',
+ 'Topic :: Scientific/Engineering :: Mathematics',
+ 'Topic :: Scientific/Engineering :: Information Analysis',
+ 'Programming Language :: Python :: 3',
+ 'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: 3.8',
+ ]
+)