setup.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import os
  2. import setuptools
  3. with open("README.rst", "r") as readme:
  4. LONG_DESCRIPTION = readme.read()
  5. setuptools.setup(
  6. name="freesurfer-surface",
  7. use_scm_version={
  8. "write_to": os.path.join("freesurfer_surface", "version.py"),
  9. # `version` triggers pylint C0103
  10. "write_to_template": "import typing; __version__: typing.Optional[str] = '{version}'\n",
  11. },
  12. description="Python Library to Read and Write Surface Files"
  13. " in Freesurfer's TriangularSurface Format",
  14. long_description=LONG_DESCRIPTION,
  15. author="Fabian Peter Hammerle",
  16. author_email="fabian@hammerle.me",
  17. url="https://github.com/fphammerle/freesurfer-surface",
  18. # TODO add license
  19. keywords=[
  20. "brain",
  21. "freesurfer",
  22. "mesh",
  23. "neuroimaging",
  24. "reader",
  25. "surface",
  26. "triangle",
  27. "vertex",
  28. ],
  29. classifiers=[
  30. "Development Status :: 3 - Alpha",
  31. "Intended Audience :: Healthcare Industry",
  32. "Intended Audience :: Science/Research",
  33. "Programming Language :: Python :: 3.5",
  34. "Programming Language :: Python :: 3.6",
  35. "Programming Language :: Python :: 3.7",
  36. "Topic :: Scientific/Engineering :: Information Analysis",
  37. "Topic :: Scientific/Engineering :: Medical Science Apps.",
  38. "Topic :: Utilities",
  39. ],
  40. packages=setuptools.find_packages(),
  41. entry_points={
  42. "console_scripts": [
  43. "freesurfer-annotation-labels = freesurfer_surface.__main__:annotation_labels",
  44. "unite-freesurfer-surfaces = freesurfer_surface.__main__:unite_surfaces",
  45. ],
  46. },
  47. python_requires=">=3.5",
  48. install_requires=[
  49. "numpy<2",
  50. ],
  51. setup_requires=[
  52. "setuptools_scm",
  53. ],
  54. tests_require=[
  55. "pylint>=2.3.0,<3",
  56. "pytest<5",
  57. "pytest-cov<3,>=2",
  58. ],
  59. )