setup.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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-volume-reader",
  7. use_scm_version={
  8. "write_to": os.path.join("freesurfer_volume_reader", "version.py"),
  9. # `version` triggers pylint C0103
  10. # 2 newlines after import & 2 spaces before # for black
  11. "write_to_template": "# pylint: disable=missing-module-docstring\nimport typing\n\n"
  12. + '__version__: typing.Optional[str] = "{version}"\n',
  13. },
  14. description="Python script & library to read hippocampal subfield volumes"
  15. "computed by Freesurfer & ASHS",
  16. long_description=LONG_DESCRIPTION,
  17. author="Fabian Peter Hammerle",
  18. author_email="fabian@hammerle.me",
  19. url="https://github.com/fphammerle/freesurfer-volume-reader",
  20. # TODO add license
  21. keywords=[
  22. "brain",
  23. "freesurfer",
  24. "hippocampus",
  25. "neuroimaging",
  26. "reader",
  27. "subfields",
  28. ],
  29. classifiers=[
  30. "Development Status :: 3 - Alpha",
  31. "Intended Audience :: Healthcare Industry",
  32. "Intended Audience :: Science/Research",
  33. # .github/workflows/python.yml
  34. "Programming Language :: Python :: 3.7",
  35. "Programming Language :: Python :: 3.8",
  36. "Programming Language :: Python :: 3.9",
  37. "Programming Language :: Python :: 3.10",
  38. "Topic :: Scientific/Engineering :: Information Analysis",
  39. "Topic :: Scientific/Engineering :: Medical Science Apps.",
  40. "Topic :: Utilities",
  41. ],
  42. packages=setuptools.find_packages(),
  43. entry_points={
  44. "console_scripts": [
  45. "freesurfer-volume-reader = freesurfer_volume_reader.__main__:main"
  46. ]
  47. },
  48. python_requires=">=3.7", # python<3.7 untested
  49. install_requires=[
  50. # >=0.21.0 pandas.DataFrame.drop(columns=[...], ...)
  51. # <0.23 untested
  52. "pandas>=0.23.0,<2"
  53. ],
  54. setup_requires=["setuptools_scm"],
  55. tests_require=["pytest<5", "pytest-timeout<2"],
  56. )