setup.py 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. """
  2. freesurfer-stats, a Python Library to Read FreeSurfer's Cortical Parcellation Anatomical Statistics
  3. Copyright (C) 2019 Fabian Peter Hammerle <fabian@hammerle.me>
  4. This program is free software: you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published by
  6. the Free Software Foundation, either version 3 of the License, or
  7. any later version.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. GNU General Public License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with this program. If not, see <https://www.gnu.org/licenses/>.
  14. """
  15. import os
  16. import setuptools
  17. with open("README.rst", "r") as readme:
  18. LONG_DESCRIPTION = readme.read()
  19. setuptools.setup(
  20. name="freesurfer-stats",
  21. use_scm_version={
  22. "write_to": os.path.join("freesurfer_stats", "version.py"),
  23. # `version` triggers pylint C0103
  24. "write_to_template": "__version__ = '{version}'\n",
  25. },
  26. description="Python Library to Read FreeSurfer's cortical parcellation anatomical statistics",
  27. long_description=LONG_DESCRIPTION,
  28. author="Fabian Peter Hammerle",
  29. author_email="fabian@hammerle.me",
  30. url="https://github.com/fphammerle/freesurfer-stats",
  31. license="GPLv3+",
  32. keywords=[
  33. "anatomy",
  34. "aparc",
  35. "area",
  36. "brain",
  37. "cortex",
  38. "dataframe",
  39. "freesurfer",
  40. "mris_anatomical_stats",
  41. "neuroimaging",
  42. "pandas",
  43. "parcellation",
  44. "reader",
  45. "statistics",
  46. "surface",
  47. "volume",
  48. ],
  49. classifiers=[
  50. "Development Status :: 4 - Beta",
  51. "Intended Audience :: Healthcare Industry",
  52. "Intended Audience :: Science/Research",
  53. "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
  54. "Programming Language :: Python :: 3.5",
  55. "Programming Language :: Python :: 3.6",
  56. "Programming Language :: Python :: 3.7",
  57. "Programming Language :: Python :: 3.8",
  58. "Topic :: Scientific/Engineering :: Information Analysis",
  59. "Topic :: Scientific/Engineering :: Medical Science Apps.",
  60. "Topic :: Utilities",
  61. ],
  62. packages=setuptools.find_packages(),
  63. install_requires=[
  64. "numpy<2",
  65. # pandas v1.2.0 made `get_filepath_or_buffer` private without releasing major version.
  66. # semver?!? not even mentioned in changelog
  67. # https://pandas.pydata.org/pandas-docs/stable/whatsnew/v1.2.0.html
  68. # https://github.com/pandas-dev/pandas/commit/6d1541e1782a7b94797d5432922e64a97934cfa4#diff-934d8564d648e7521db673c6399dcac98e45adfd5230ba47d3aabfcc21979febL247
  69. # TODO verify lower version constraint
  70. "pandas>=0.21,<1.2",
  71. ],
  72. setup_requires=["setuptools_scm"],
  73. tests_require=["pytest<5"],
  74. )