Surface NMR processing and inversion GUI
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

setup.py 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #!/usr/bin/env python
  2. import sys
  3. # optionally use qt4
  4. # if sys.argv[1] == "build_ui":
  5. # try:
  6. # from pyqt_distutils.build_ui import build_ui
  7. # cmdclass = {'build_ui': build_ui}
  8. # except ImportError:
  9. # build_ui = None # user won't have pyqt_distutils when deploying
  10. # cmdclass = {}
  11. # else:
  12. # build_ui = None # user won't have pyqt_distutils when deploying
  13. # cmdclass = {}
  14. # Require PyQt5 and compiltion of GUI files via pyuic
  15. from setuptools import setup, Extension
  16. from setuptools.command.build_py import build_py
  17. from pyqt_distutils.build_ui import build_ui
  18. class custom_build_py(build_py):
  19. def run(self):
  20. self.run_command('build_ui')
  21. build_py.run(self)
  22. try:
  23. from Cython.Build import cythonize as cythonise
  24. except ImportError:
  25. def cythonise(*args, **kwargs):
  26. #from Cython.Build import cythonize
  27. #return cythonize(*args, **kwargs)
  28. return
  29. #from distutils.core import setup
  30. setup(name='Akvo',
  31. version='1.0.4',
  32. description='Surface nuclear magnetic resonance workbench',
  33. author='Trevor P. Irons',
  34. author_email='Trevor.Irons@lemmasoftware.org',
  35. url='https://svn.lemmasofware.org/akvo',
  36. #setup_requires=['PyQt5'],
  37. setup_requires=[
  38. # Setuptools 18.0 properly handles Cython extensions.
  39. 'PyQt5','setuptools>=18.0',
  40. ],
  41. # ext_modules = cythonise("akvo/tressel/*.pyx"),
  42. # build_requires=['cython'],
  43. install_requires=[
  44. # 'cython',
  45. 'rpy2',
  46. 'matplotlib',
  47. 'scipy',
  48. 'numpy',
  49. 'PyQt5',
  50. 'pyyaml',
  51. 'pyqt-distutils',
  52. 'cmocean'
  53. ],
  54. packages=['akvo', 'akvo.tressel', 'akvo.gui'],
  55. license=['GPL 4.0'],
  56. entry_points = {
  57. 'console_scripts': [
  58. 'akvo = akvo.gui.akvoGUI:main',
  59. ],
  60. },
  61. # for forced build of pyuic
  62. cmdclass={
  63. 'build_ui': build_ui,
  64. 'build_py': custom_build_py,
  65. },
  66. #cmdclass=cmdclass,
  67. # Mechanism to include auxiliary files
  68. include_package_data=True,
  69. package_data={
  70. 'akvo.gui': ['*.png'] #All .r files
  71. },
  72. )