diff --git a/tvb_bin/setup.py b/tvb_bin/pyproject.toml similarity index 80% rename from tvb_bin/setup.py rename to tvb_bin/pyproject.toml index bdb3d1c5f7..5676aefbcb 100644 --- a/tvb_bin/setup.py +++ b/tvb_bin/pyproject.toml @@ -23,15 +23,25 @@ # https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications # # -import shutil -from setuptools import setup, find_packages -setup( - name='tvb_bin', - packages=find_packages(), - version="2.0", - license="GPL-3.0-or-later", - author="TVB Team" -) -shutil.rmtree('tvb_bin.egg-info', True) \ No newline at end of file + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "tvb-bin" +version = "2.0" +license = "GPL-3.0-or-later" +authors = [ + { name = "TVB Team" }, +] + +[tool.hatch.version] +path = "tvb_bin/__init__.py" + +[tool.hatch.build.targets.sdist] +include = [ + "/tvb_bin", +] diff --git a/tvb_build/setup.py b/tvb_build/pyproject.toml similarity index 75% rename from tvb_build/setup.py rename to tvb_build/pyproject.toml index 864c07a644..93498fadb7 100644 --- a/tvb_build/setup.py +++ b/tvb_build/pyproject.toml @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # # -# TheVirtualBrain-Framework Package. This package holds all Data Management, and +# TheVirtualBrain-Framework Package. This package holds all Data Management, and # Web-UI helpful to run brain-simulations. To use it, you also need to download # TheVirtualBrain-Scientific Package (for simulators). See content of the # documentation-folder for more details. See also http://www.thevirtualbrain.org @@ -24,17 +24,29 @@ # # -import shutil -from setuptools import setup, find_packages -setup( - name='tvb_build', - packages=find_packages(), - version="2.0", - license="GPL-3.0-or-later", - author="TVB Team", - install_requires=['tvb-library', 'tvb-framework', 'tvb-data'] -) +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" -shutil.rmtree('tvb_build.egg-info', True) \ No newline at end of file +[project] +name = "tvb-build" +version = "2.0" +license = "GPL-3.0-or-later" +authors = [ + { name = "TVB Team" }, +] +dependencies = [ + "tvb-data", + "tvb-framework", + "tvb-library", +] + +[tool.hatch.version] +path = "tvb_build/__init__.py" + +[tool.hatch.build.targets.sdist] +include = [ + "/tvb_build", +] diff --git a/tvb_contrib/pyproject.toml b/tvb_contrib/pyproject.toml new file mode 100644 index 0000000000..fe4eae844b --- /dev/null +++ b/tvb_contrib/pyproject.toml @@ -0,0 +1,75 @@ +# -*- coding: utf-8 -*- +# +# +# TheVirtualBrain-Contributors Package. This package holds simulator extensions. +# See also http://www.thevirtualbrain.org +# +# (c) 2012-2024, Baycrest Centre for Geriatric Care ("Baycrest") and others +# +# This program is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more details. +# You should have received a copy of the GNU General Public License along with this +# program. If not, see . +# +# +# CITATION: +# When using The Virtual Brain for scientific publications, please cite it as explained here: +# https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications +# +# + + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "tvb-contrib" +version = "2.9.2" +description = "A package with TVB contributed additions to the simulator, useful for scripting." +readme = "README.rst" +license = { file = "LICENSE" } +authors = [ + { name = "Stuart Knock" }, + { name = "Dionysios Perdikis" }, + { name = "Paula Sanz Leon" }, + { name = "Bogdan Valean" }, + { name = "Marmaduke Woodman" }, + { name = "Michiel van der Vlag" }, +] +maintainers = [ + { name = "TVB Admin", email = "tvb.admin@thevirtualbrain.org" } +] +keywords = [ + "brain", + "contrib", + "neuroscience", + "simulator", + "tvb", +] +dependencies = [ + "lxml", + "pylems", + "scikit-learn", + "tvb-library", + "xarray", +] + +[project.urls] +Download = "https://github.com/the-virtual-brain/tvb-root" +Homepage = "https://www.thevirtualbrain.org" + +[tool.hatch.version] +path = "tvb/__init__.py" + +[tool.hatch.build.targets.sdist] +include = [ + "/tvb", +] + +[tool.hatch.build.targets.wheel] +packages = ["tvb"] diff --git a/tvb_contrib/setup.py b/tvb_contrib/setup.py deleted file mode 100644 index 4f364f974e..0000000000 --- a/tvb_contrib/setup.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- coding: utf-8 -*- -# -# -# TheVirtualBrain-Contributors Package. This package holds simulator extensions. -# See also http://www.thevirtualbrain.org -# -# (c) 2012-2024, Baycrest Centre for Geriatric Care ("Baycrest") and others -# -# This program is free software: you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software Foundation, -# either version 3 of the License, or (at your option) any later version. -# This program is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public License for more details. -# You should have received a copy of the GNU General Public License along with this -# program. If not, see . -# -# -# CITATION: -# When using The Virtual Brain for scientific publications, please cite it as explained here: -# https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications -# -# - -import os -import shutil -import setuptools - -CONTRIB_VERSION = "2.9.2" -CONTRIB_DEPENDENCIES = ["tvb-library", "xarray", "scikit-learn", "lxml", "pylems"] -TEAM = "Stuart Knock, Dionysios Perdikis, Paula Sanz Leon, Bogdan Valean, Marmaduke Woodman, Michiel van der Vlag" - -with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as fd: - DESCRIPTION = fd.read() - -setuptools.setup(name='tvb-contrib', - version=CONTRIB_VERSION, - packages=setuptools.find_packages(), - include_package_data=True, - install_requires=CONTRIB_DEPENDENCIES, - description='A package with TVB contributed additions to the simulator, useful for scripting.', - long_description=DESCRIPTION, - long_description_content_type="text/x-rst", - license="GPL-3.0-or-later", - author=TEAM, - author_email='tvb.admin@thevirtualbrain.org', - url='https://www.thevirtualbrain.org', - download_url='https://github.com/the-virtual-brain/tvb-root', - keywords='tvb brain simulator neuroscience contrib') - -shutil.rmtree('tvb_contrib.egg-info', True) diff --git a/tvb_framework/pyproject.toml b/tvb_framework/pyproject.toml new file mode 100644 index 0000000000..efdd30b41b --- /dev/null +++ b/tvb_framework/pyproject.toml @@ -0,0 +1,138 @@ +# -*- coding: utf-8 -*- +# +# +# TheVirtualBrain-Framework Package. This package holds all Data Management, and +# Web-UI helpful to run brain-simulations. To use it, you also need to download +# TheVirtualBrain-Scientific Package (for simulators). See content of the +# documentation-folder for more details. See also http://www.thevirtualbrain.org +# +# (c) 2012-2024, Baycrest Centre for Geriatric Care ("Baycrest") and others +# +# This program is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more details. +# You should have received a copy of the GNU General Public License along with this +# program. If not, see . +# +# +# CITATION: +# When using The Virtual Brain for scientific publications, please cite it as explained here: +# https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications +# +# + + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "tvb-framework" +version = "2.9.2" +description = "A package for performing whole brain simulations" +readme = "README.rst" +license = { file = "LICENSE" } +requires-python = ">=3.8" +authors = [ + { name = "Mihai Andrei" }, + { name = "Lia Domide" }, + { name = "Stuart Knock" }, + { name = "Bogdan Neacsa" }, + { name = "Paula Prodan" }, + { name = "Paula Sansz Leon" }, + { name = "Marmaduke Woodman" }, +] +maintainers = [ + { name = "TVB Admin", email = "tvb.admin@thevirtualbrain.org" } +] +keywords = [ + "animal", + "brain", + "delay", + "dynamics", + "human", + "models", + "neuronal", + "neuroscience", + "simulator", + "tvb", +] +classifiers = [ + "Development Status :: 6 - Mature", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", +] +dependencies = [ + "alembic", + "bctpy", + "cherrypy", + "docutils", + "flask", + "flask-restx", + "formencode", + "gevent", + "h5py", + "Jinja2", + "matplotlib", + "nibabel", + "numpy<2.0", + "pandas", + "Pillow", + "psutil", + "python-keycloak", + "requests", + "requests-toolbelt>=0.10", + "scikit-learn", + "scipy", + "siibra", + "simplejson", + "six", + "sqlalchemy", + "tvb-data", + "tvb-gdist", + "tvb-library", + "tvb-storage", + "werkzeug", +] + +[project.optional-dependencies] +extra = [ + "allensdk", +] +hpc = [ + "elasticsearch", + "pyunicore", +] +postgres = [ + "psycopg2", +] +test = [ + "BeautifulSoup4", + "pytest", + "pytest-benchmark", + "pytest-mock", +] + +[project.urls] +Download = "https://github.com/the-virtual-brain/tvb-root" +Homepage = "https://www.thevirtualbrain.org" + +[tool.hatch.build.targets.sdist] +include = [ + "/tvb", +] +exclude = [ + 'tvb.interfaces.rest.bids_monitor', 'tvb.interfaces.rest.bids_monitor.*', + 'tvb.interfaces.rest.client', 'tvb.interfaces.rest.client.*'] + + +[tool.hatch.build.targets.wheel] +packages = ["tvb"] diff --git a/tvb_framework/pyproject_bids_monitor.toml b/tvb_framework/pyproject_bids_monitor.toml new file mode 100644 index 0000000000..55dd92980e --- /dev/null +++ b/tvb_framework/pyproject_bids_monitor.toml @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- +# +# +# TheVirtualBrain-Framework Package. This package holds all Data Management, and +# Web-UI helpful to run brain-simulations. To use it, you also need to download +# TheVirtualBrain-Scientific Package (for simulators). See content of the +# documentation-folder for more details. See also http://www.thevirtualbrain.org +# +# (c) 2012-2024, Baycrest Centre for Geriatric Care ("Baycrest") and others +# +# This program is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more details. +# You should have received a copy of the GNU General Public License along with this +# program. If not, see . +# +# +# CITATION: +# When using The Virtual Brain for scientific publications, please cite it as explained here: +# https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications +# +# + + + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "tvb-bids-monitor" +version = "2.9.2" +description = "A helper package containing BIDS directory monitor module" +readme = "README.rst" +license = { file = "LICENSE" } +authors = [ + { name = "Akash Upadhyay" }, + { name = "Paula Prodan" }, +] +maintainers = [ + { name = "TVB Admin", email = "tvb.admin@thevirtualbrain.org" } +] +keywords = [ + "animal", + "brain", + "client", + "delay", + "dynamics", + "human", + "models", + "neuronal", + "neuroscience", + "rest", + "simulator", + "tvb", +] +dependencies = [ + "tvb-rest-client", + "watchdog", +] + +[project.optional-dependencies] +test = [ + "pytest", + "pytest-benchmark", +] + +[project.urls] +Download = "https://github.com/the-virtual-brain/tvb-root" +Homepage = "https://www.thevirtualbrain.org" + +[tool.hatch.version] +path = "tvb/__init__.py" + +[tool.hatch.build.targets.sdist] +include = [ + "/tvb", +] +exclude = ['tvb.interfaces.web', 'tvb.interfaces.web.*', 'tvb.interfaces.command', + 'tvb.interfaces.command.*', 'tvb.tests', 'tvb.tests.*', 'tvb.interfaces.rest', + 'tvb.interfaces.rest.*', 'tvb.adapters', 'tvb.adapters.*', 'tvb.core', + 'tvb.core.*'] + +[tool.hatch.build.targets.wheel] +packages = ["tvb"] \ No newline at end of file diff --git a/tvb_framework/pyproject_rest_client.toml b/tvb_framework/pyproject_rest_client.toml new file mode 100644 index 0000000000..cdff841958 --- /dev/null +++ b/tvb_framework/pyproject_rest_client.toml @@ -0,0 +1,106 @@ +# -*- coding: utf-8 -*- +# +# +# TheVirtualBrain-Framework Package. This package holds all Data Management, and +# Web-UI helpful to run brain-simulations. To use it, you also need to download +# TheVirtualBrain-Scientific Package (for simulators). See content of the +# documentation-folder for more details. See also http://www.thevirtualbrain.org +# +# (c) 2012-2024, Baycrest Centre for Geriatric Care ("Baycrest") and others +# +# This program is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more details. +# You should have received a copy of the GNU General Public License along with this +# program. If not, see . +# +# +# CITATION: +# When using The Virtual Brain for scientific publications, please cite it as explained here: +# https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications +# +# + + + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "tvb-rest-client" +version = "2.9.2" +description = "A helper package for preparing and sending requests towards the TVB REST API" +readme = "README.rst" +license = { file = "LICENSE" } +authors = [ + { name = "Lia Domide"}, + { name = "Paula Prodan" }, + { name = "Bogdan Valean" }, + { name = "Robert Vincze" }, +] +maintainers = [ + { name = "TVB Admin", email = "tvb.admin@thevirtualbrain.org" } +] +keywords = [ + "animal", + "brain", + "client", + "delay", + "dynamics", + "human", + "models", + "neuronal", + "neuroscience", + "rest", + "simulator", + "tvb", +] +dependencies = [ + "alembic", + "h5py", + "nibabel", + "numpy", + "Pillow", + "psutil", + "pyAesCrypt", + "requests", + "scipy", + "simplejson", + "sqlalchemy", + "tvb-data", + "tvb-gdist", + "tvb-library", + "tvb-storage", + "werkzeug", +] + +[project.optional-dependencies] +postgres = [ + "psycopg2", +] +test = [ + "pytest", + "pytest-benchmark", +] + +[project.urls] +Download = "https://github.com/the-virtual-brain/tvb-root" +Homepage = "https://www.thevirtualbrain.org" + +[tool.hatch.version] +path = "tvb/__init__.py" + +[tool.hatch.build.targets.sdist] +include = [ + "/tvb", +] +exclude = ['tvb.interfaces.web', 'tvb.interfaces.web.*', 'tvb.interfaces.command', + 'tvb.interfaces.command.*', 'tvb.tests', 'tvb.tests.*'] + +[tool.hatch.build.targets.wheel] +packages = ["tvb"] + diff --git a/tvb_framework/setup.py b/tvb_framework/setup.py deleted file mode 100644 index f6b51e0c05..0000000000 --- a/tvb_framework/setup.py +++ /dev/null @@ -1,82 +0,0 @@ -# -*- coding: utf-8 -*- -# -# -# TheVirtualBrain-Framework Package. This package holds all Data Management, and -# Web-UI helpful to run brain-simulations. To use it, you also need to download -# TheVirtualBrain-Scientific Package (for simulators). See content of the -# documentation-folder for more details. See also http://www.thevirtualbrain.org -# -# (c) 2012-2024, Baycrest Centre for Geriatric Care ("Baycrest") and others -# -# This program is free software: you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software Foundation, -# either version 3 of the License, or (at your option) any later version. -# This program is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public License for more details. -# You should have received a copy of the GNU General Public License along with this -# program. If not, see . -# -# -# CITATION: -# When using The Virtual Brain for scientific publications, please cite it as explained here: -# https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications -# -# - -""" -Install TVB Framework package for developers. - -Execute: - python setup.py install/develop - -""" - -import os -import shutil -import setuptools - -VERSION = "2.9.2" - -TVB_TEAM = "Mihai Andrei, Lia Domide, Stuart Knock, Bogdan Neacsa, Paula Prodan, Paula Sansz Leon, Marmaduke Woodman" - -TVB_INSTALL_REQUIREMENTS = ["alembic", "bctpy", "cherrypy", "docutils", "flask", "flask-restx", - "formencode", "gevent", "h5py", "Jinja2", "matplotlib", "nibabel", "numpy<2.0", "pandas", - "Pillow", "psutil", "python-keycloak", "requests", "requests-toolbelt>=0.10", - "scikit-learn", "scipy", "siibra", "simplejson", "six", "sqlalchemy", - "tvb-data", "tvb-gdist", "tvb-library", "tvb-storage", "werkzeug"] - -# Packaging tvb-framework with REST server inside -with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as fd: - DESCRIPTION = fd.read() - -setuptools.setup(name="tvb-framework", - version=VERSION, - packages=setuptools.find_packages( - exclude=[ - 'tvb.interfaces.rest.bids_monitor', 'tvb.interfaces.rest.bids_monitor.*', - 'tvb.interfaces.rest.client', 'tvb.interfaces.rest.client.*']), - include_package_data=True, - install_requires=TVB_INSTALL_REQUIREMENTS, - extras_require={'postgres': ["psycopg2"], - 'hpc': ["pyunicore", "elasticsearch"], - 'extra': ["allensdk"], - 'test': ["pytest", "pytest-benchmark", "pytest-mock", "BeautifulSoup4"]}, - description='A package for performing whole brain simulations', - long_description=DESCRIPTION, - long_description_content_type="text/x-rst", - license="GPL-3.0-or-later", - author=TVB_TEAM, - author_email='tvb.admin@thevirtualbrain.org', - url='https://www.thevirtualbrain.org', - download_url='https://github.com/the-virtual-brain/tvb-root', - keywords='tvb brain simulator neuroscience human animal neuronal dynamics models delay', - classifiers=["Development Status :: 6 - Mature", - "Intended Audience :: Science/Research", - "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", - "Programming Language :: Python :: 3" - ] - ) - -# Clean after install -shutil.rmtree('tvb_framework.egg-info', True) diff --git a/tvb_framework/setup_bids_monitor.py b/tvb_framework/setup_bids_monitor.py deleted file mode 100644 index 38760c67d3..0000000000 --- a/tvb_framework/setup_bids_monitor.py +++ /dev/null @@ -1,70 +0,0 @@ -# -*- coding: utf-8 -*- -# -# -# TheVirtualBrain-Framework Package. This package holds all Data Management, and -# Web-UI helpful to run brain-simulations. To use it, you also need to download -# TheVirtualBrain-Scientific Package (for simulators). See content of the -# documentation-folder for more details. See also http://www.thevirtualbrain.org -# -# (c) 2012-2024, Baycrest Centre for Geriatric Care ("Baycrest") and others -# -# This program is free software: you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software Foundation, -# either version 3 of the License, or (at your option) any later version. -# This program is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public License for more details. -# You should have received a copy of the GNU General Public License along with this -# program. If not, see . -# -# -# CITATION: -# When using The Virtual Brain for scientific publications, please cite it as explained here: -# https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications -# -# - -""" -This is used to package the BIDS directory monitor separately. -""" - -import os -import shutil - -import setuptools -from setuptools.command.egg_info import manifest_maker - -manifest_maker.template = 'MANIFEST_bids_monitor.in' - -VERSION = "2.9.2" - -TVB_TEAM = "Akash Upadhyay, Paula Prodan" - -TVB_INSTALL_REQUIREMENTS = ["tvb-rest-client", "watchdog"] - -# Packaging bids-monitor -with open(os.path.join(os.path.dirname(__file__), 'README_bids_monitor.rst')) as fd: - DESCRIPTION = fd.read() - -setuptools.setup(name="tvb-bids-monitor", - version=VERSION, - packages=setuptools.find_packages( - exclude=['tvb.interfaces.web', 'tvb.interfaces.web.*', 'tvb.interfaces.command', - 'tvb.interfaces.command.*', 'tvb.tests', 'tvb.tests.*', 'tvb.interfaces.rest', - 'tvb.interfaces.rest.*', 'tvb.adapters', 'tvb.adapters.*', 'tvb.core', - 'tvb.core.*']), - include_package_data=True, - install_requires=TVB_INSTALL_REQUIREMENTS, - extras_require={'test': ["pytest", "pytest-benchmark"]}, - description='A helper package containing BIDS directory monitor module', - long_description=DESCRIPTION, - long_description_content_type="text/x-rst", - license="GPL-3.0-or-later", - author=TVB_TEAM, - author_email='tvb.admin@thevirtualbrain.org', - url='https://www.thevirtualbrain.org', - download_url='https://github.com/the-virtual-brain/tvb-root', - keywords='tvb rest client brain simulator neuroscience human animal neuronal dynamics models delay') - -# Clean after install -shutil.rmtree('tvb_bids_monitor.egg-info', True) diff --git a/tvb_framework/setup_rest_client.py b/tvb_framework/setup_rest_client.py deleted file mode 100644 index 9439f80e5f..0000000000 --- a/tvb_framework/setup_rest_client.py +++ /dev/null @@ -1,71 +0,0 @@ -# -*- coding: utf-8 -*- -# -# -# TheVirtualBrain-Framework Package. This package holds all Data Management, and -# Web-UI helpful to run brain-simulations. To use it, you also need to download -# TheVirtualBrain-Scientific Package (for simulators). See content of the -# documentation-folder for more details. See also http://www.thevirtualbrain.org -# -# (c) 2012-2024, Baycrest Centre for Geriatric Care ("Baycrest") and others -# -# This program is free software: you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software Foundation, -# either version 3 of the License, or (at your option) any later version. -# This program is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public License for more details. -# You should have received a copy of the GNU General Public License along with this -# program. If not, see . -# -# -# CITATION: -# When using The Virtual Brain for scientific publications, please cite it as explained here: -# https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications -# -# - -""" -This is used to package the tvb-rest-client separately. -""" - -import os -import shutil - -import setuptools -from setuptools.command.egg_info import manifest_maker - -manifest_maker.template = 'MANIFEST_rest_client.in' - -VERSION = "2.9.2" - -TVB_TEAM = "Lia Domide, Paula Prodan, Bogdan Valean, Robert Vincze" - -TVB_INSTALL_REQUIREMENTS = ["alembic", "h5py", "nibabel", "numpy", "Pillow", "psutil", - "pyAesCrypt", "requests", "scipy", "simplejson", "sqlalchemy", - "tvb-data", "tvb-gdist", "tvb-library", "tvb-storage", "werkzeug"] - -# Packaging tvb-rest-client -with open(os.path.join(os.path.dirname(__file__), 'README_rest_client.rst')) as fd: - DESCRIPTION = fd.read() - -setuptools.setup(name="tvb-rest-client", - version=VERSION, - packages=setuptools.find_packages( - exclude=['tvb.interfaces.web', 'tvb.interfaces.web.*', 'tvb.interfaces.command', - 'tvb.interfaces.command.*', 'tvb.tests', 'tvb.tests.*']), - include_package_data=True, - install_requires=TVB_INSTALL_REQUIREMENTS, - extras_require={'postgres': ["psycopg2"], - 'test': ["pytest", "pytest-benchmark"]}, - description='A helper package for preparing and sending requests towards the TVB REST API', - long_description=DESCRIPTION, - long_description_content_type="text/x-rst", - license="GPL-3.0-or-later", - author=TVB_TEAM, - author_email='tvb.admin@thevirtualbrain.org', - url='https://www.thevirtualbrain.org', - download_url='https://github.com/the-virtual-brain/tvb-root', - keywords='tvb rest client brain simulator neuroscience human animal neuronal dynamics models delay') - -# Clean after install -shutil.rmtree('tvb_rest_client.egg-info', True) diff --git a/tvb_framework/tmp/pyproject.toml b/tvb_framework/tmp/pyproject.toml new file mode 100644 index 0000000000..46149fcc1f --- /dev/null +++ b/tvb_framework/tmp/pyproject.toml @@ -0,0 +1,138 @@ +# -*- coding: utf-8 -*- +# +# +# TheVirtualBrain-Framework Package. This package holds all Data Management, and +# Web-UI helpful to run brain-simulations. To use it, you also need to download +# TheVirtualBrain-Scientific Package (for simulators). See content of the +# documentation-folder for more details. See also http://www.thevirtualbrain.org +# +# (c) 2012-2024, Baycrest Centre for Geriatric Care ("Baycrest") and others +# +# This program is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more details. +# You should have received a copy of the GNU General Public License along with this +# program. If not, see . +# +# +# CITATION: +# When using The Virtual Brain for scientific publications, please cite it as explained here: +# https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications +# +# + + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "tvb-framework" +version = "2.9.2" +description = "A package for performing whole brain simulations" +readme = "README.rst" +license = { file = "LICENSE" } +requires-python = ">=3.8" +authors = [ + { name = "Mihai Andrei" }, + { name = "Lia Domide" }, + { name = "Stuart Knock" }, + { name = "Bogdan Neacsa" }, + { name = "Paula Prodan" }, + { name = "Paula Sansz Leon" }, + { name = "Marmaduke Woodman" }, +] +maintainers = [ + { name = "Codemart", email = "tvb.admin@thevirtualbrain.org" } +] +keywords = [ + "animal", + "brain", + "delay", + "dynamics", + "human", + "models", + "neuronal", + "neuroscience", + "simulator", + "tvb", +] +classifiers = [ + "Development Status :: 6 - Mature", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", +] +dependencies = [ + "alembic", + "bctpy", + "cherrypy", + "docutils", + "flask", + "flask-restx", + "formencode", + "gevent", + "h5py", + "Jinja2", + "matplotlib", + "nibabel", + "numpy<2.0", + "pandas", + "Pillow", + "psutil", + "python-keycloak", + "requests", + "requests-toolbelt>=0.10", + "scikit-learn", + "scipy", + "siibra", + "simplejson", + "six", + "sqlalchemy", + "tvb-data", + "tvb-gdist", + "tvb-library", + "tvb-storage", + "werkzeug", +] + +[project.optional-dependencies] +extra = [ + "allensdk", +] +hpc = [ + "elasticsearch", + "pyunicore", +] +postgres = [ + "psycopg2", +] +test = [ + "BeautifulSoup4", + "pytest", + "pytest-benchmark", + "pytest-mock", +] + +[project.urls] +Download = "https://github.com/the-virtual-brain/tvb-root" +Homepage = "https://www.thevirtualbrain.org" + +[tool.hatch.build.targets.sdist] +include = [ + "/tvb", +] +exclude = [ + 'tvb.interfaces.rest.bids_monitor', 'tvb.interfaces.rest.bids_monitor.*', + 'tvb.interfaces.rest.client', 'tvb.interfaces.rest.client.*'] + + +[tool.hatch.build.targets.wheel] +packages = ["tvb"] diff --git a/tvb_library/pyproject.toml b/tvb_library/pyproject.toml new file mode 100644 index 0000000000..e818977d8f --- /dev/null +++ b/tvb_library/pyproject.toml @@ -0,0 +1,109 @@ +# -*- coding: utf-8 -*- +# +# +# TheVirtualBrain-Scientific Package. This package holds all simulators, and +# analysers necessary to run brain-simulations. You can use it stand alone or +# in conjunction with TheVirtualBrain-Framework Package. See content of the +# documentation-folder for more details. See also http://www.thevirtualbrain.org +# +# (c) 2012-2024, Baycrest Centre for Geriatric Care ("Baycrest") and others +# +# This program is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more details. +# You should have received a copy of the GNU General Public License along with this +# program. If not, see . +# +# +# CITATION: +# When using The Virtual Brain for scientific publications, please cite it as explained here: +# https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications +# +# + + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "tvb-library" +version = "2.9.2" +description = "A package for performing whole brain simulations" +readme = "README.rst" +license = { file = "LICENSE" } +requires-python = ">=3.8" +authors = [ + { name = "Marmaduke Woodman" }, + { name = "Jan Fousek" }, + { name = "Stuart Knock" }, + { name = "Paula Sanz Leon" }, + { name = "Viktor Jirsa" }, +] +maintainers = [ + { name = "TVB Admin", email = "tvb.admin@thevirtualbrain.org" } +] +keywords = [ + "animal", + "brain", + "delay", + "dynamics", + "human", + "models", + "neuronal", + "neuroscience", + "simulator", + "tvb", +] +classifiers = [ + "Development Status :: 6 - Mature", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", +] +dependencies = [ + "autopep8", + "Deprecated", + "docutils", + "ipywidgets", + "mako>=1.1.4", + "matplotlib", + "networkx", + "numba", + "numexpr", + "numpy<2.0", + "scipy", + "six", +] + +[project.optional-dependencies] +test = [ + "h5py", + "pytest", + "pytest-benchmark", + "pytest-xdist", + "tvb-data", + "tvb-gdist", +] + +[project.urls] +Download = "https://github.com/the-virtual-brain/tvb-root" +Homepage = "https://www.thevirtualbrain.org" + +[tool.hatch.version] +path = "tvb/__init__.py" + +[tool.hatch.build.targets.sdist] +include = [ + "/tvb", +] + +[tool.hatch.build.targets.wheel] +packages = ["tvb"] diff --git a/tvb_library/setup.py b/tvb_library/setup.py deleted file mode 100644 index dda7312d93..0000000000 --- a/tvb_library/setup.py +++ /dev/null @@ -1,73 +0,0 @@ -# -*- coding: utf-8 -*- -# -# -# TheVirtualBrain-Scientific Package. This package holds all simulators, and -# analysers necessary to run brain-simulations. You can use it stand alone or -# in conjunction with TheVirtualBrain-Framework Package. See content of the -# documentation-folder for more details. See also http://www.thevirtualbrain.org -# -# (c) 2012-2024, Baycrest Centre for Geriatric Care ("Baycrest") and others -# -# This program is free software: you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software Foundation, -# either version 3 of the License, or (at your option) any later version. -# This program is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public License for more details. -# You should have received a copy of the GNU General Public License along with this -# program. If not, see . -# -# -# CITATION: -# When using The Virtual Brain for scientific publications, please cite it as explained here: -# https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications -# -# - -""" -Install TVB Library package for developers. - -Execute: - python setup.py install/develop -""" - -import os -import shutil -import setuptools - -LIBRARY_VERSION = "2.9.2" - -LIBRARY_TEAM = "Marmaduke Woodman, Jan Fousek, Stuart Knock, Paula Sanz Leon, Viktor Jirsa" - -LIBRARY_REQUIRED_PACKAGES = ["autopep8", "Deprecated", "docutils", "ipywidgets", "mako>=1.1.4", "matplotlib", - "networkx", "numba", "numexpr", "numpy<2.0", "scipy", "six"] - -LIBRARY_REQUIRED_EXTRA = ["h5py", "pytest", "pytest-benchmark", "pytest-xdist", "tvb-gdist", "tvb-data"] - -with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as fd: - DESCRIPTION = fd.read() - -setuptools.setup(name='tvb-library', - version=LIBRARY_VERSION, - packages=setuptools.find_packages(), - include_package_data=True, - install_requires=LIBRARY_REQUIRED_PACKAGES, - extras_require={"test": LIBRARY_REQUIRED_EXTRA}, - description='A package for performing whole brain simulations', - long_description=DESCRIPTION, - long_description_content_type="text/x-rst", - license="GPL-3.0-or-later", - author=LIBRARY_TEAM, - author_email='tvb.admin@thevirtualbrain.org', - url='https://www.thevirtualbrain.org', - download_url='https://github.com/the-virtual-brain/tvb-root', - keywords='tvb brain simulator neuroscience human animal neuronal dynamics models delay', - classifiers=["Development Status :: 6 - Mature", - "Intended Audience :: Science/Research", - "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", - "Programming Language :: Python :: 3" - ] - ) - -# Cleanup after EGG install. These are created by running setup.py in the source tree -shutil.rmtree('tvb_library.egg-info', True) diff --git a/tvb_storage/pyproject.toml b/tvb_storage/pyproject.toml new file mode 100644 index 0000000000..5648d624f1 --- /dev/null +++ b/tvb_storage/pyproject.toml @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- +# +# +# TheVirtualBrain-Framework Package. This package holds all Data Management, and +# Web-UI helpful to run brain-simulations. To use it, you also need to download +# TheVirtualBrain-Scientific Package (for simulators). See content of the +# documentation-folder for more details. See also http://www.thevirtualbrain.org +# +# (c) 2012-2024, Baycrest Centre for Geriatric Care ("Baycrest") and others +# +# This program is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software Foundation, +# either version 3 of the License, or (at your option) any later version. +# This program is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public License for more details. +# You should have received a copy of the GNU General Public License along with this +# program. If not, see . +# +# +# CITATION: +# When using The Virtual Brain for scientific publications, please cite it as explained here: +# https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications +# +# + + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "tvb-storage" +version = "2.9.2" +description = "A package which handles the storage of TVB data" +readme = "README.rst" +license = "GPL-3.0-or-later" +authors = [ + { name = "Lia Domide" }, + { name = "Paula Prodan" }, + { name = "Bogdan Valean" }, + { name = "Robert Vincze" }, +] +maintainers = [ + { name = "TVB Admin", email = "tvb.admin@thevirtualbrain.org" } +] +keywords = [ + "brain", + "h5", + "storage", + "tvb", +] +dependencies = [ + "cryptography", + "h5py", + "kubernetes", + "numpy", + "pyAesCrypt", + "requests", + "tvb-library", +] + +[project.optional-dependencies] +encrypt = [ + "syncrypto", +] +test = [ + "decorator", + "pytest", +] + +[project.urls] +Download = "https://github.com/the-virtual-brain/tvb-root" +Homepage = "https://www.thevirtualbrain.org" + +[tool.hatch.version] +path = "tvb/__init__.py" + +[tool.hatch.build.targets.sdist] +include = [ + "/tvb", +] + +[tool.hatch.build.targets.wheel] +packages = ["tvb"] diff --git a/tvb_storage/setup.py b/tvb_storage/setup.py deleted file mode 100644 index 6759792348..0000000000 --- a/tvb_storage/setup.py +++ /dev/null @@ -1,65 +0,0 @@ -# -*- coding: utf-8 -*- -# -# -# TheVirtualBrain-Framework Package. This package holds all Data Management, and -# Web-UI helpful to run brain-simulations. To use it, you also need to download -# TheVirtualBrain-Scientific Package (for simulators). See content of the -# documentation-folder for more details. See also http://www.thevirtualbrain.org -# -# (c) 2012-2024, Baycrest Centre for Geriatric Care ("Baycrest") and others -# -# This program is free software: you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software Foundation, -# either version 3 of the License, or (at your option) any later version. -# This program is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public License for more details. -# You should have received a copy of the GNU General Public License along with this -# program. If not, see . -# -# -# CITATION: -# When using The Virtual Brain for scientific publications, please cite it as explained here: -# https://www.thevirtualbrain.org/tvb/zwei/neuroscience-publications -# -# - -""" -Install TVB Storage package for developers. -Execute: - python setup.py install/develop -""" - -import os -import shutil -import setuptools - -STORAGE_VERSION = "2.9.2" - -STORAGE_TEAM = "Lia Domide, Paula Prodan, Bogdan Valean, Robert Vincze" - -STORAGE_REQUIRED_PACKAGES = ["cryptography", "h5py", "kubernetes", "numpy", "pyAesCrypt", "requests", 'tvb-library'] - -with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as fd: - DESCRIPTION = fd.read() - -setuptools.setup(name='tvb-storage', - version=STORAGE_VERSION, - packages=setuptools.find_packages(), - include_package_data=True, - install_requires=STORAGE_REQUIRED_PACKAGES, - extras_require={ - 'test': ["pytest", "decorator"], - 'encrypt': ["syncrypto"]}, - description='A package which handles the storage of TVB data', - long_description=DESCRIPTION, - long_description_content_type="text/x-rst", - license="GPL-3.0-or-later", - author=STORAGE_TEAM, - author_email='tvb.admin@thevirtualbrain.org', - url='https://www.thevirtualbrain.org', - download_url='https://github.com/the-virtual-brain/tvb-root', - keywords='tvb brain storage h5') - -# Cleanup after EGG install. These are created by running setup.py in the source tree -shutil.rmtree('tvb_storage.egg-info', True)