Surface NMR processing and inversion GUI
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

setup.py 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #!/usr/bin/env python
  2. # Requires PyQt5 and compiltion of GUI files via pyuic
  3. from setuptools import setup, Extension
  4. from setuptools.command.build_py import build_py
  5. try:
  6. from pyqt_distutils.build_ui import build_ui
  7. except ImportError:
  8. print("Please install pyqt_distutils")
  9. print( "(sudo) pip(3) install pyqt-distutils")
  10. exit()
  11. class custom_build_py(build_py):
  12. def run(self):
  13. self.run_command('build_ui')
  14. build_py.run(self)
  15. with open("README.md", "r") as fh:
  16. long_description = fh.read()
  17. setup(name='Akvo',
  18. version='1.7.0',
  19. python_requires='>3.7.0', # due to pyLemma
  20. description='Surface nuclear magnetic resonance workbench',
  21. long_description=long_description,
  22. long_description_content_type='text/markdown',
  23. author='Trevor P. Irons',
  24. author_email='Trevor.Irons@lemmasoftware.org',
  25. url='https://akvo.lemmasoftware.org/',
  26. #setup_requires=['PyQt5'],
  27. setup_requires=[
  28. # Setuptools 18.0 properly handles Cython extensions.
  29. #'PyQt',
  30. 'pyqt_distutils',
  31. 'PyQt5',
  32. 'setuptools>=18.0',
  33. ],
  34. # ext_modules = cythonise("akvo/tressel/*.pyx"),
  35. # build_requires=['cython'],
  36. install_requires=[
  37. # 'cython',
  38. # 'rpy2',
  39. 'matplotlib',
  40. 'scipy',
  41. 'padasip',
  42. 'seaborn',
  43. 'numpy',
  44. 'pyqt5',
  45. 'pyyaml',
  46. 'ruamel.yaml',
  47. 'pandas',
  48. 'pyqt-distutils',
  49. 'cmocean',
  50. 'pyLemma >= 0.4.0'
  51. ],
  52. packages=['akvo', 'akvo.tressel', 'akvo.gui'],
  53. license='GPL 4.0',
  54. entry_points = {
  55. 'console_scripts': [
  56. 'akvo = akvo.gui.akvoGUI:main',
  57. 'akvoK0 = akvo.tressel.calcAkvoKernel:main',
  58. 'akvoQT = akvo.tressel.invertTA:main',
  59. ],
  60. },
  61. #cmdclass = cmdclass,
  62. # for forced build of pyuic
  63. cmdclass={
  64. 'build_ui': build_ui,
  65. 'build_py': custom_build_py,
  66. },
  67. # Mechanism to include auxiliary files
  68. # commenting out may be necessary?
  69. #include_package_data=True,
  70. package_data={
  71. 'akvo.gui': ['*.png'],
  72. 'akvo.gui': ['*.ui'],
  73. '': ['*.png'],
  74. },
  75. classifiers=[
  76. "Programming Language :: Python :: 3",
  77. "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
  78. "Operating System :: OS Independent",
  79. ],
  80. )