setup.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. from setuptools import setup
  2. import setuptools.command.build_py
  3. def readme():
  4. with open('README.rst') as f:
  5. return f.read()
  6. class BuildTestCommand(setuptools.command.build_py.build_py):
  7. """Custom build command."""
  8. def run(self):
  9. # run tests using doctest
  10. import doctest
  11. from ipfml import processing
  12. from ipfml import metrics
  13. from ipfml.filters import noise as noise_filters
  14. print("Run test command...")
  15. doctest.testmod(processing)
  16. doctest.testmod(metrics)
  17. doctest.testmod(noise_filters)
  18. # Run format code using ypaf
  19. try:
  20. print("Run format code command...")
  21. self.spawn(['yapf', '-ir', '-vv', 'ipfml'])
  22. except RuntimeError:
  23. self.warn('format pakcage code failed')
  24. setuptools.command.build_py.build_py.run(self)
  25. setup(
  26. name='ipfml',
  27. version='0.1.6',
  28. description='Image Processing For Machine Learning',
  29. long_description=readme(),
  30. classifiers=[
  31. 'Development Status :: 3 - Alpha',
  32. 'License :: OSI Approved :: MIT License',
  33. 'Programming Language :: Python :: 3.6',
  34. 'Topic :: Scientific/Engineering :: Artificial Intelligence'
  35. ],
  36. url='https://gogs.univ-littoral.fr/jerome.buisine/IPFML',
  37. author='Jérôme BUISINE',
  38. author_email='jerome.buisine@univ-littoral.fr',
  39. license='MIT',
  40. packages=['ipfml'],
  41. install_requires=[
  42. 'matplotlib',
  43. 'numpy',
  44. 'Pillow',
  45. 'sklearn',
  46. 'scikit-image',
  47. 'scipy',
  48. 'opencv-python',
  49. 'scipy',
  50. 'yapf'
  51. ],
  52. cmdclass={
  53. 'build_py': BuildTestCommand,
  54. },
  55. zip_safe=False)