From 6cff90bc931aa136d2544b3ca5dd780de1091204 Mon Sep 17 00:00:00 2001 From: adrianciu Date: Wed, 13 Nov 2024 19:01:29 +0200 Subject: [PATCH] TVB-3109 clean-up TVB-3109 created pyproject.toml for tvb packages --- tvb_bin/{setup.py => pyproject.toml} | 30 +- tvb_build/package_for_pip.sh | 31 +- tvb_build/{setup.py => pyproject.toml} | 36 +- tvb_contrib/pyproject.toml | 75 ++ tvb_contrib/setup.py | 51 -- tvb_framework/pyproject.toml | 138 +++ tvb_framework/pyproject_bids_monitor.toml | 88 ++ tvb_framework/pyproject_rest_client.toml | 106 +++ tvb_framework/setup.py | 82 -- tvb_framework/setup_bids_monitor.py | 70 -- tvb_framework/setup_rest_client.py | 71 -- tvb_library/Pipfile | 23 - tvb_library/Pipfile.lock | 991 ---------------------- tvb_library/pyproject.toml | 109 +++ tvb_library/setup.py | 73 -- tvb_storage/pyproject.toml | 85 ++ tvb_storage/setup.py | 65 -- 17 files changed, 660 insertions(+), 1464 deletions(-) rename tvb_bin/{setup.py => pyproject.toml} (80%) rename tvb_build/{setup.py => pyproject.toml} (75%) create mode 100644 tvb_contrib/pyproject.toml delete mode 100644 tvb_contrib/setup.py create mode 100644 tvb_framework/pyproject.toml create mode 100644 tvb_framework/pyproject_bids_monitor.toml create mode 100644 tvb_framework/pyproject_rest_client.toml delete mode 100644 tvb_framework/setup.py delete mode 100644 tvb_framework/setup_bids_monitor.py delete mode 100644 tvb_framework/setup_rest_client.py delete mode 100644 tvb_library/Pipfile delete mode 100644 tvb_library/Pipfile.lock create mode 100644 tvb_library/pyproject.toml delete mode 100644 tvb_library/setup.py create mode 100644 tvb_storage/pyproject.toml delete mode 100644 tvb_storage/setup.py 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/package_for_pip.sh b/tvb_build/package_for_pip.sh index 5c475a9a74..813809f97b 100644 --- a/tvb_build/package_for_pip.sh +++ b/tvb_build/package_for_pip.sh @@ -2,24 +2,25 @@ cd .. +python -m pip install --upgrade build + rm -Rf dist mkdir dist declare -a folders2pack=("tvb_framework" "tvb_library" "tvb_contrib" "tvb_storage") + if [[ "$1" != "" ]]; then echo "Received param: " "$1" folders2pack=("$1") fi for pipPackage in "${folders2pack[@]}"; do - echo "=============================" echo " Packing: " $pipPackage echo "=============================" cd $pipPackage - python setup.py sdist - python setup.py bdist_wheel + python -m build --sdist --wheel mv dist/* ../dist/ rm -R dist @@ -31,12 +32,11 @@ echo "=============================" echo " Packing: tvb-rest-client" echo "=============================" cd tvb_framework -mv setup.py setup_bck.py -mv setup_rest_client.py setup.py -python setup.py sdist -python setup.py bdist_wheel -mv setup.py setup_rest_client.py -mv setup_bck.py setup.py +mv pyproject.toml pyproject_bck.toml +mv pyproject_rest_client.toml pyproject.toml +python -m build --sdist --wheel +mv pyproject.toml pyproject_rest_client.toml +mv pyproject_bck.toml pyproject.toml mv dist/* ../dist/ rm -R dist rm -R build @@ -46,16 +46,15 @@ echo "=============================" echo " Packing: tvb-bids-monitor" echo "=============================" cd tvb_framework -mv setup.py setup_bck.py -mv setup_bids_monitor.py setup.py -python setup.py sdist -python setup.py bdist_wheel -mv setup.py setup_bids_monitor.py -mv setup_bck.py setup.py +mv pyproject.toml pyproject_bck.toml +mv pyproject_bids_monitor.toml pyproject.toml +python -m build --sdist --wheel +mv pyproject.toml pyproject_bids_monitor.toml +mv pyproject_bck.toml pyproject.toml mv dist/* ../dist/ rm -R dist rm -R build cd .. ## After manual check, do the actual deploy on Pypi -# twine upload dist/* \ No newline at end of file +# twine upload dist/* 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_library/Pipfile b/tvb_library/Pipfile deleted file mode 100644 index 13d4f16447..0000000000 --- a/tvb_library/Pipfile +++ /dev/null @@ -1,23 +0,0 @@ -[[source]] -url = "https://pypi.org/simple" -verify_ssl = true -name = "pypi" - -[packages] -numba = "*" -pytest = "*" -matplotlib = "*" -scipy = "*" -mako = "*" -autopep8 = "*" -tvb-gdist = "*" -h5py = "*" -tqdm = "*" -docutils = "*" - -[dev-packages] -pytest = "*" -pytest-cov = "*" -pytest-xdist = "*" -pytest-benchmark = "*" -pytest-mock = "*" diff --git a/tvb_library/Pipfile.lock b/tvb_library/Pipfile.lock deleted file mode 100644 index 6e90d8e80f..0000000000 --- a/tvb_library/Pipfile.lock +++ /dev/null @@ -1,991 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "c2425f7c0ec84bade28a3a1feab335d66b7084310d2b04972749fb280e609a51" - }, - "pipfile-spec": 6, - "requires": {}, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.org/simple", - "verify_ssl": true - } - ] - }, - "default": { - "attrs": { - "hashes": [ - "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836", - "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99" - ], - "markers": "python_version >= '3.6'", - "version": "==22.2.0" - }, - "autopep8": { - "hashes": [ - "sha256:be5bc98c33515b67475420b7b1feafc8d32c1a69862498eda4983b45bffd2687", - "sha256:d27a8929d8dcd21c0f4b3859d2d07c6c25273727b98afc984c039df0f0d86566" - ], - "index": "pypi", - "version": "==2.0.1" - }, - "contourpy": { - "hashes": [ - "sha256:0236875c5a0784215b49d00ebbe80c5b6b5d5244b3655a36dda88105334dea17", - "sha256:03d1b9c6b44a9e30d554654c72be89af94fab7510b4b9f62356c64c81cec8b7d", - "sha256:0537cc1195245bbe24f2913d1f9211b8f04eb203de9044630abd3664c6cc339c", - "sha256:06ca79e1efbbe2df795822df2fa173d1a2b38b6e0f047a0ec7903fbca1d1847e", - "sha256:08e8d09d96219ace6cb596506fb9b64ea5f270b2fb9121158b976d88871fcfd1", - "sha256:0b1e66346acfb17694d46175a0cea7d9036f12ed0c31dfe86f0f405eedde2bdd", - "sha256:0b97454ed5b1368b66ed414c754cba15b9750ce69938fc6153679787402e4cdf", - "sha256:0e4854cc02006ad6684ce092bdadab6f0912d131f91c2450ce6dbdea78ee3c0b", - "sha256:12a7dc8439544ed05c6553bf026d5e8fa7fad48d63958a95d61698df0e00092b", - "sha256:1b1ee48a130da4dd0eb8055bbab34abf3f6262957832fd575e0cab4979a15a41", - "sha256:1c0e1308307a75e07d1f1b5f0f56b5af84538a5e9027109a7bcf6cb47c434e72", - "sha256:1dedf4c64185a216c35eb488e6f433297c660321275734401760dafaeb0ad5c2", - "sha256:208bc904889c910d95aafcf7be9e677726df9ef71e216780170dbb7e37d118fa", - "sha256:211dfe2bd43bf5791d23afbe23a7952e8ac8b67591d24be3638cabb648b3a6eb", - "sha256:341330ed19074f956cb20877ad8d2ae50e458884bfa6a6df3ae28487cc76c768", - "sha256:344cb3badf6fc7316ad51835f56ac387bdf86c8e1b670904f18f437d70da4183", - "sha256:358f6364e4873f4d73360b35da30066f40387dd3c427a3e5432c6b28dd24a8fa", - "sha256:371f6570a81dfdddbb837ba432293a63b4babb942a9eb7aaa699997adfb53278", - "sha256:375d81366afd547b8558c4720337218345148bc2fcffa3a9870cab82b29667f2", - "sha256:3a1917d3941dd58732c449c810fa7ce46cc305ce9325a11261d740118b85e6f3", - "sha256:4081918147fc4c29fad328d5066cfc751da100a1098398742f9f364be63803fc", - "sha256:444fb776f58f4906d8d354eb6f6ce59d0a60f7b6a720da6c1ccb839db7c80eb9", - "sha256:46deb310a276cc5c1fd27958e358cce68b1e8a515fa5a574c670a504c3a3fe30", - "sha256:494efed2c761f0f37262815f9e3c4bb9917c5c69806abdee1d1cb6611a7174a0", - "sha256:50627bf76abb6ba291ad08db583161939c2c5fab38c38181b7833423ab9c7de3", - "sha256:5641927cc5ae66155d0c80195dc35726eae060e7defc18b7ab27600f39dd1fe7", - "sha256:5b117d29433fc8393b18a696d794961464e37afb34a6eeb8b2c37b5f4128a83e", - "sha256:613c665529899b5d9fade7e5d1760111a0b011231277a0d36c49f0d3d6914bd6", - "sha256:6e459ebb8bb5ee4c22c19cc000174f8059981971a33ce11e17dddf6aca97a142", - "sha256:6f56515e7c6fae4529b731f6c117752247bef9cdad2b12fc5ddf8ca6a50965a5", - "sha256:730c27978a0003b47b359935478b7d63fd8386dbb2dcd36c1e8de88cbfc1e9de", - "sha256:75a2e638042118118ab39d337da4c7908c1af74a8464cad59f19fbc5bbafec9b", - "sha256:78ced51807ccb2f45d4ea73aca339756d75d021069604c2fccd05390dc3c28eb", - "sha256:7ee394502026d68652c2824348a40bf50f31351a668977b51437131a90d777ea", - "sha256:8468b40528fa1e15181cccec4198623b55dcd58306f8815a793803f51f6c474a", - "sha256:84c593aeff7a0171f639da92cb86d24954bbb61f8a1b530f74eb750a14685832", - "sha256:913bac9d064cff033cf3719e855d4f1db9f1c179e0ecf3ba9fdef21c21c6a16a", - "sha256:9447c45df407d3ecb717d837af3b70cfef432138530712263730783b3d016512", - "sha256:9b0e7fe7f949fb719b206548e5cde2518ffb29936afa4303d8a1c4db43dcb675", - "sha256:9bc407a6af672da20da74823443707e38ece8b93a04009dca25856c2d9adadb1", - "sha256:9e8e686a6db92a46111a1ee0ee6f7fbfae4048f0019de207149f43ac1812cf95", - "sha256:9fc4e7973ed0e1fe689435842a6e6b330eb7ccc696080dda9a97b1a1b78e41db", - "sha256:a457ee72d9032e86730f62c5eeddf402e732fdf5ca8b13b41772aa8ae13a4563", - "sha256:a628bba09ba72e472bf7b31018b6281fd4cc903f0888049a3724afba13b6e0b8", - "sha256:a79d239fc22c3b8d9d3de492aa0c245533f4f4c7608e5749af866949c0f1b1b9", - "sha256:aa4674cf3fa2bd9c322982644967f01eed0c91bb890f624e0e0daf7a5c3383e9", - "sha256:acd2bd02f1a7adff3a1f33e431eb96ab6d7987b039d2946a9b39fe6fb16a1036", - "sha256:b3b1bd7577c530eaf9d2bc52d1a93fef50ac516a8b1062c3d1b9bcec9ebe329b", - "sha256:b48d94386f1994db7c70c76b5808c12e23ed7a4ee13693c2fc5ab109d60243c0", - "sha256:b64f747e92af7da3b85631a55d68c45a2d728b4036b03cdaba4bd94bcc85bd6f", - "sha256:b98c820608e2dca6442e786817f646d11057c09a23b68d2b3737e6dcb6e4a49b", - "sha256:c1baa49ab9fedbf19d40d93163b7d3e735d9cd8d5efe4cce9907902a6dad391f", - "sha256:c38c6536c2d71ca2f7e418acaf5bca30a3af7f2a2fa106083c7d738337848dbe", - "sha256:c78bfbc1a7bff053baf7e508449d2765964d67735c909b583204e3240a2aca45", - "sha256:cd2bc0c8f2e8de7dd89a7f1c10b8844e291bca17d359373203ef2e6100819edd", - "sha256:d2eff2af97ea0b61381828b1ad6cd249bbd41d280e53aea5cccd7b2b31b8225c", - "sha256:d8834c14b8c3dd849005e06703469db9bf96ba2d66a3f88ecc539c9a8982e0ee", - "sha256:d912f0154a20a80ea449daada904a7eb6941c83281a9fab95de50529bfc3a1da", - "sha256:da1ef35fd79be2926ba80fbb36327463e3656c02526e9b5b4c2b366588b74d9a", - "sha256:dbe6fe7a1166b1ddd7b6d887ea6fa8389d3f28b5ed3f73a8f40ece1fc5a3d340", - "sha256:dcd556c8fc37a342dd636d7eef150b1399f823a4462f8c968e11e1ebeabee769", - "sha256:e13b31d1b4b68db60b3b29f8e337908f328c7f05b9add4b1b5c74e0691180109", - "sha256:e1739496c2f0108013629aa095cc32a8c6363444361960c07493818d0dea2da4", - "sha256:e43255a83835a129ef98f75d13d643844d8c646b258bebd11e4a0975203e018f", - "sha256:e626cefff8491bce356221c22af5a3ea528b0b41fbabc719c00ae233819ea0bf", - "sha256:eadad75bf91897f922e0fb3dca1b322a58b1726a953f98c2e5f0606bd8408621", - "sha256:f33da6b5d19ad1bb5e7ad38bb8ba5c426d2178928bc2b2c44e8823ea0ecb6ff3", - "sha256:f4052a8a4926d4468416fc7d4b2a7b2a3e35f25b39f4061a7e2a3a2748c4fc48", - "sha256:f6ca38dd8d988eca8f07305125dec6f54ac1c518f1aaddcc14d08c01aebb6efc" - ], - "markers": "python_version >= '3.7'", - "version": "==1.0.6" - }, - "cycler": { - "hashes": [ - "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3", - "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f" - ], - "markers": "python_version >= '3.6'", - "version": "==0.11.0" - }, - "cython": { - "hashes": [ - "sha256:0168482495b75fea1c97a9641a95bac991f313e85f378003f9a4909fdeb3d454", - "sha256:0455d5b92f461218bcf173a149a88b7396c3a109066274ccab5eff58db0eae32", - "sha256:060a2568ef80116a0a9dcaf3218a61c6007be0e0b77c5752c094ce5187a4d63c", - "sha256:090556e41f2b30427dd3a1628d3613177083f47567a30148b6b7b8c7a5862187", - "sha256:0b53e017522feb8dcc2189cf1d2d344bab473c5bba5234390b5666d822992c7c", - "sha256:1900d862a4a537d2125706740e9f3b016e80f7bbf7b54db6b3cc3d0bdf0f5c3a", - "sha256:190e60b7505d3b9b60130bcc2251c01b9ef52603420829c19d3c3ede4ac2763a", - "sha256:19c9913e9304bf97f1d2c357438895466f99aa2707d3c7a5e9de60c259e1ca1d", - "sha256:1b507236ba3ca94170ce0a504dd03acf77307d4bfbc5a010a8031673f6b213a9", - "sha256:1ca93bbe584aee92094fd4fb6acc5cb6500acf98d4f57cc59244f0a598b0fcf6", - "sha256:1dd503408924723b0bb10c0013b76e324eeee42db6deced9b02b648f1415d94c", - "sha256:286cdfb193e23799e113b7bd5ac74f58da5e9a77c70e3b645b078836b896b165", - "sha256:37bfca4f9f26361343d8c678f8178321e4ae5b919523eed05d2cd8ddbe6b06ec", - "sha256:49fb45b2bf12d6e2060bbd64506c06ac90e254f3a4bceb32c717f4964a1ae812", - "sha256:4cadf5250eda0c5cdaf4c3a29b52be3e0695f4a2bf1ccd49b638d239752ea513", - "sha256:4f88c2dc0653eef6468848eb8022faf64115b39734f750a1c01a7ba7eb04d89f", - "sha256:5040764c4a4d2ce964a395da24f0d1ae58144995dab92c6b96f44c3f4d72286a", - "sha256:5430f38d3d01c4715ec2aef5c41e02a2441c1c3a0149359c7a498e4c605b8e6c", - "sha256:581efc0622a9be05714222f2b4ac96a5419de58d5949517282d8df38155c8b9d", - "sha256:5bf5ffd96957a595441cca2fc78470d93fdc40dfe5449881b812ea6045d7e9be", - "sha256:6b4e6481e3e7e4d345640fe2fdc6dc57c94369b467f3dc280949daa8e9fd13b9", - "sha256:6b8bcbf8f1c3c46d6184be1e559e3a3fb8cdf27c6d507d8bc8ae04cfcbfd75f5", - "sha256:8507279a4f86ed8365b96603d5ad155888d4d01b72a9bbf0615880feda5a11d4", - "sha256:8b99252bde8ff51cd06a3fe4aeacd3af9b4ff4a4e6b701ac71bddc54f5da61d6", - "sha256:959f0092d58e7fa00fd3434f7ff32fb78be7c2fa9f8e0096326343159477fe45", - "sha256:a9863f8238642c0b1ef8069d99da5ade03bfe2225a64b00c5ae006d95f142a73", - "sha256:a9b0b890656e9d18a18e1efe26ea3d2d0f3e525a07a2a853592b0afc56a15c89", - "sha256:afc9b6ab20889676c76e700ae6967aa6886a7efe5b05ef6d5b744a6ca793cc43", - "sha256:b5e8ce3039ff64000d58cd45b3f6f83e13f032dde7f27bb1ab96070d9213550b", - "sha256:b67ddd32eaa2932a66bf8121accc36a7b3078593805519b0f00040f2b10a6a52", - "sha256:bcb1a84fd2bd7885d572adc180e24fd8a7d4b0c104c144e33ccf84a1ab4eb2b8", - "sha256:c4d315443c7f4c61180b6c3ea9a9717ee7c901cc9db8d1d46fdf6556613840ed", - "sha256:d2019a7e54ba8b253f44411863b8f8c0b6cd623f7a92dc0ccb83892358c4283a", - "sha256:d4457d417ffbb94abc42adcd63a03b24ff39cf090f3e9eca5e10cfb90766cbe3", - "sha256:d78147ad8a3417ae6b371bbc5bfc6512f6ad4ad3fb71f5eef42e136e4ed14970", - "sha256:da490129e1e4ffaf3f88bfb46d338549a2150f60f809a63d385b83e00960d11a", - "sha256:dd96b06b93c0e5fa4fc526c5be37c13a93e2fe7c372b5f358277ebe9e1620957", - "sha256:e8922fa3d7e76b7186bbd0810e170ca61f83661ab1b29dc75e88ff2327aaf49d", - "sha256:f271f90005064c49b47a93f456dc6cf0a21d21ef835bd33ac1e0db10ad51f84f", - "sha256:f67b7306fd00d55f271009335cecadc506d144205c7891070aad889928d85750" - ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==0.29.33" - }, - "docutils": { - "hashes": [ - "sha256:33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6", - "sha256:5e1de4d849fee02c63b040a4a3fd567f4ab104defd8a5511fbbc24a8a017efbc" - ], - "index": "pypi", - "version": "==0.19" - }, - "exceptiongroup": { - "hashes": [ - "sha256:327cbda3da756e2de031a3107b81ab7b3770a602c4d16ca618298c526f4bec1e", - "sha256:bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23" - ], - "markers": "python_version < '3.11'", - "version": "==1.1.0" - }, - "fonttools": { - "hashes": [ - "sha256:030355fbb0cea59cf75d076d04d3852900583d1258574ff2d7d719abf4513836", - "sha256:05056a8c9af048381fdb17e89b17d45f6c8394176d01e8c6fef5ac96ea950d38", - "sha256:206808f9717c9b19117f461246372a2c160fa12b9b8dbdfb904ab50ca235ba0a", - "sha256:20fc43783c432862071fa76da6fa714902ae587bc68441e12ff4099b94b1fcef", - "sha256:25620b738d4533cfc21fd2a4f4b667e481f7cb60e86b609799f7d98af657854e", - "sha256:33c40a657fb87ff83185828c0323032d63a4df1279d5c1c38e21f3ec56327803", - "sha256:3d7adfa342e6b3a2b36960981f23f480969f833d565a4eba259c2e6f59d2674f", - "sha256:48078357984214ccd22d7fe0340cd6ff7286b2f74f173603a1a9a40b5dc25afe", - "sha256:5056f69a18f3f28ab5283202d1efcfe011585d31de09d8560f91c6c88f041e92", - "sha256:52e77f23a9c059f8be01a07300ba4c4d23dc271d33eed502aea5a01ab5d2f4c1", - "sha256:57c22e5f9f53630d458830f710424dce4f43c5f0d95cb3368c0f5178541e4db7", - "sha256:5aa67d1e720fdd902fde4a59d0880854ae9f19fc958f3e1538bceb36f7f4dc92", - "sha256:5f9660e70a2430780e23830476332bc3391c3c8694769e2c0032a5038702a662", - "sha256:635658464dccff6fa5c3b43fe8f818ae2c386ee6a9e1abc27359d1e255528186", - "sha256:6a530fa28c155538d32214eafa0964989098a662bd63e91e790e6a7a4e9c02da", - "sha256:70f021a6b9eb10dfe7a411b78e63a503a06955dd6d2a4e130906d8760474f77c", - "sha256:77e5113233a2df07af9dbf493468ce526784c3b179c0e8b9c7838ced37c98b69", - "sha256:7c76f32051159f8284f1a5f5b605152b5a530736fb8b55b09957db38dcae5348", - "sha256:812142a0e53cc853964d487e6b40963df62f522b1b571e19d1ff8467d7880ceb", - "sha256:82d8e687a42799df5325e7ee12977b74738f34bf7fde1c296f8140efd699a213", - "sha256:8dfd8edfce34ad135bd69de20c77449c06e2c92b38f2a8358d0987737f82b49e", - "sha256:93c5b6d77baf28f306bc13fa987b0b13edca6a39dc2324eaca299a74ccc6316f", - "sha256:9d654d3e780e0ceabb1f4eff5a3c042c67d4428d0fe1ea3afd238a721cf171b3", - "sha256:a682fb5cbf8837d1822b80acc0be5ff2ea0c49ca836e468a21ffd388ef280fd3", - "sha256:a68b71adc3b3a90346e4ac92f0a69ab9caeba391f3b04ab6f1e98f2c8ebe88e3", - "sha256:a6a2e99bb9ea51e0974bbe71768df42c6dd189308c22f3f00560c3341b345646", - "sha256:ab80e7d6bb01316d5fc8161a2660ca2e9e597d0880db4927bc866c76474472ef", - "sha256:ace0fd5afb79849f599f76af5c6aa5e865bd042c811e4e047bbaa7752cc26126", - "sha256:ace51902ab67ef5fe225e8b361039e996db153e467e24a28d35f74849b37b7ce", - "sha256:af38f5145258e9866da5881580507e6d17ff7756beef175d13213a43a84244e9", - "sha256:b3813f57f85bbc0e4011a0e1e9211f9ee52f87f402e41dc05bc5135f03fa51c1", - "sha256:b5e760198f0b87e42478bb35a6eae385c636208f6f0d413e100b9c9c5efafb6a", - "sha256:b62a53a4ca83c32c6b78cac64464f88d02929779373c716f738af6968c8c821e", - "sha256:d08a694b280d615460563a6b4e2afb0b1b9df708c799ec212bf966652b94fc84", - "sha256:d27d960e10cf7617d70cf3104c32a69b008dde56f2d55a9bed4ba6e3df611544", - "sha256:da78f39b601ed0b4262929403186d65cf7a016f91ff349ab18fdc5a7080af465", - "sha256:dcc01cea0a121fb0c009993497bad93cae25e77db7dee5345fec9cce1aaa09cd", - "sha256:e3f8acc6ef4a627394021246e099faee4b343afd3ffe2e517d8195b4ebf20289", - "sha256:e4bc589d8da09267c7c4ceaaaa4fc01a7908ac5b43b286ac9279afe76407c384", - "sha256:e5d53eddaf436fa131042f44a76ea1ead0a17c354ab9de0d80e818f0cb1629f1", - "sha256:ee728d5af70f117581712966a21e2e07031e92c687ef1fdc457ac8d281016f64", - "sha256:f19c2b1c65d57cbea25cabb80941fea3fbf2625ff0cdcae8900b5fb1c145704f" - ], - "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==4.43.0" - }, - "h5py": { - "hashes": [ - "sha256:03d64fb86bb86b978928bad923b64419a23e836499ec6363e305ad28afd9d287", - "sha256:04e2e1e2fc51b8873e972a08d2f89625ef999b1f2d276199011af57bb9fc7851", - "sha256:0798a9c0ff45f17d0192e4d7114d734cac9f8b2b2c76dd1d923c4d0923f27bb6", - "sha256:0a047fddbe6951bce40e9cde63373c838a978c5e05a011a682db9ba6334b8e85", - "sha256:0d8de8cb619fc597da7cf8cdcbf3b7ff8c5f6db836568afc7dc16d21f59b2b49", - "sha256:1fcb11a2dc8eb7ddcae08afd8fae02ba10467753a857fa07a404d700a93f3d53", - "sha256:3fcf37884383c5da64846ab510190720027dca0768def34dd8dcb659dbe5cbf3", - "sha256:43fed4d13743cf02798a9a03a360a88e589d81285e72b83f47d37bb64ed44881", - "sha256:63beb8b7b47d0896c50de6efb9a1eaa81dbe211f3767e7dd7db159cea51ba37a", - "sha256:6776d896fb90c5938de8acb925e057e2f9f28755f67ec3edcbc8344832616c38", - "sha256:9e2ad2aa000f5b1e73b5dfe22f358ca46bf1a2b6ca394d9659874d7fc251731a", - "sha256:9e7535df5ee3dc3e5d1f408fdfc0b33b46bc9b34db82743c82cd674d8239b9ad", - "sha256:a9351d729ea754db36d175098361b920573fdad334125f86ac1dd3a083355e20", - "sha256:c038399ce09a58ff8d89ec3e62f00aa7cb82d14f34e24735b920e2a811a3a426", - "sha256:d77af42cb751ad6cc44f11bae73075a07429a5cf2094dfde2b1e716e059b3911", - "sha256:e5b7820b75f9519499d76cc708e27242ccfdd9dfb511d6deb98701961d0445aa", - "sha256:ed43e2cc4f511756fd664fb45d6b66c3cbed4e3bd0f70e29c37809b2ae013c44", - "sha256:f084bbe816907dfe59006756f8f2d16d352faff2d107f4ffeb1d8de126fc5dc7", - "sha256:f514b24cacdd983e61f8d371edac8c1b780c279d0acb8485639e97339c866073", - "sha256:f73307c876af49aa869ec5df1818e9bb0bdcfcf8a5ba773cc45a4fba5a286a5c" - ], - "index": "pypi", - "version": "==3.7.0" - }, - "iniconfig": { - "hashes": [ - "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", - "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" - ], - "markers": "python_version >= '3.7'", - "version": "==2.0.0" - }, - "kiwisolver": { - "hashes": [ - "sha256:02f79693ec433cb4b5f51694e8477ae83b3205768a6fb48ffba60549080e295b", - "sha256:03baab2d6b4a54ddbb43bba1a3a2d1627e82d205c5cf8f4c924dc49284b87166", - "sha256:1041feb4cda8708ce73bb4dcb9ce1ccf49d553bf87c3954bdfa46f0c3f77252c", - "sha256:10ee06759482c78bdb864f4109886dff7b8a56529bc1609d4f1112b93fe6423c", - "sha256:1d1573129aa0fd901076e2bfb4275a35f5b7aa60fbfb984499d661ec950320b0", - "sha256:283dffbf061a4ec60391d51e6155e372a1f7a4f5b15d59c8505339454f8989e4", - "sha256:28bc5b299f48150b5f822ce68624e445040595a4ac3d59251703779836eceff9", - "sha256:2a66fdfb34e05b705620dd567f5a03f239a088d5a3f321e7b6ac3239d22aa286", - "sha256:2e307eb9bd99801f82789b44bb45e9f541961831c7311521b13a6c85afc09767", - "sha256:2e407cb4bd5a13984a6c2c0fe1845e4e41e96f183e5e5cd4d77a857d9693494c", - "sha256:2f5e60fabb7343a836360c4f0919b8cd0d6dbf08ad2ca6b9cf90bf0c76a3c4f6", - "sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b", - "sha256:3fe20f63c9ecee44560d0e7f116b3a747a5d7203376abeea292ab3152334d004", - "sha256:41dae968a94b1ef1897cb322b39360a0812661dba7c682aa45098eb8e193dbdf", - "sha256:4bd472dbe5e136f96a4b18f295d159d7f26fd399136f5b17b08c4e5f498cd494", - "sha256:4ea39b0ccc4f5d803e3337dd46bcce60b702be4d86fd0b3d7531ef10fd99a1ac", - "sha256:5853eb494c71e267912275e5586fe281444eb5e722de4e131cddf9d442615626", - "sha256:5bce61af018b0cb2055e0e72e7d65290d822d3feee430b7b8203d8a855e78766", - "sha256:6295ecd49304dcf3bfbfa45d9a081c96509e95f4b9d0eb7ee4ec0530c4a96514", - "sha256:62ac9cc684da4cf1778d07a89bf5f81b35834cb96ca523d3a7fb32509380cbf6", - "sha256:70e7c2e7b750585569564e2e5ca9845acfaa5da56ac46df68414f29fea97be9f", - "sha256:7577c1987baa3adc4b3c62c33bd1118c3ef5c8ddef36f0f2c950ae0b199e100d", - "sha256:75facbe9606748f43428fc91a43edb46c7ff68889b91fa31f53b58894503a191", - "sha256:787518a6789009c159453da4d6b683f468ef7a65bbde796bcea803ccf191058d", - "sha256:78d6601aed50c74e0ef02f4204da1816147a6d3fbdc8b3872d263338a9052c51", - "sha256:7c43e1e1206cd421cd92e6b3280d4385d41d7166b3ed577ac20444b6995a445f", - "sha256:81e38381b782cc7e1e46c4e14cd997ee6040768101aefc8fa3c24a4cc58e98f8", - "sha256:841293b17ad704d70c578f1f0013c890e219952169ce8a24ebc063eecf775454", - "sha256:872b8ca05c40d309ed13eb2e582cab0c5a05e81e987ab9c521bf05ad1d5cf5cb", - "sha256:877272cf6b4b7e94c9614f9b10140e198d2186363728ed0f701c6eee1baec1da", - "sha256:8c808594c88a025d4e322d5bb549282c93c8e1ba71b790f539567932722d7bd8", - "sha256:8ed58b8acf29798b036d347791141767ccf65eee7f26bde03a71c944449e53de", - "sha256:91672bacaa030f92fc2f43b620d7b337fd9a5af28b0d6ed3f77afc43c4a64b5a", - "sha256:968f44fdbf6dd757d12920d63b566eeb4d5b395fd2d00d29d7ef00a00582aac9", - "sha256:9f85003f5dfa867e86d53fac6f7e6f30c045673fa27b603c397753bebadc3008", - "sha256:a553dadda40fef6bfa1456dc4be49b113aa92c2a9a9e8711e955618cd69622e3", - "sha256:a68b62a02953b9841730db7797422f983935aeefceb1679f0fc85cbfbd311c32", - "sha256:abbe9fa13da955feb8202e215c4018f4bb57469b1b78c7a4c5c7b93001699938", - "sha256:ad881edc7ccb9d65b0224f4e4d05a1e85cf62d73aab798943df6d48ab0cd79a1", - "sha256:b1792d939ec70abe76f5054d3f36ed5656021dcad1322d1cc996d4e54165cef9", - "sha256:b428ef021242344340460fa4c9185d0b1f66fbdbfecc6c63eff4b7c29fad429d", - "sha256:b533558eae785e33e8c148a8d9921692a9fe5aa516efbdff8606e7d87b9d5824", - "sha256:ba59c92039ec0a66103b1d5fe588fa546373587a7d68f5c96f743c3396afc04b", - "sha256:bc8d3bd6c72b2dd9decf16ce70e20abcb3274ba01b4e1c96031e0c4067d1e7cd", - "sha256:bc9db8a3efb3e403e4ecc6cd9489ea2bac94244f80c78e27c31dcc00d2790ac2", - "sha256:bf7d9fce9bcc4752ca4a1b80aabd38f6d19009ea5cbda0e0856983cf6d0023f5", - "sha256:c2dbb44c3f7e6c4d3487b31037b1bdbf424d97687c1747ce4ff2895795c9bf69", - "sha256:c79ebe8f3676a4c6630fd3f777f3cfecf9289666c84e775a67d1d358578dc2e3", - "sha256:c97528e64cb9ebeff9701e7938653a9951922f2a38bd847787d4a8e498cc83ae", - "sha256:d0611a0a2a518464c05ddd5a3a1a0e856ccc10e67079bb17f265ad19ab3c7597", - "sha256:d06adcfa62a4431d404c31216f0f8ac97397d799cd53800e9d3efc2fbb3cf14e", - "sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955", - "sha256:d5b61785a9ce44e5a4b880272baa7cf6c8f48a5180c3e81c59553ba0cb0821ca", - "sha256:da152d8cdcab0e56e4f45eb08b9aea6455845ec83172092f09b0e077ece2cf7a", - "sha256:da7e547706e69e45d95e116e6939488d62174e033b763ab1496b4c29b76fabea", - "sha256:db5283d90da4174865d520e7366801a93777201e91e79bacbac6e6927cbceede", - "sha256:db608a6757adabb32f1cfe6066e39b3706d8c3aa69bbc353a5b61edad36a5cb4", - "sha256:e0ea21f66820452a3f5d1655f8704a60d66ba1191359b96541eaf457710a5fc6", - "sha256:e7da3fec7408813a7cebc9e4ec55afed2d0fd65c4754bc376bf03498d4e92686", - "sha256:e92a513161077b53447160b9bd8f522edfbed4bd9759e4c18ab05d7ef7e49408", - "sha256:ecb1fa0db7bf4cff9dac752abb19505a233c7f16684c5826d1f11ebd9472b871", - "sha256:efda5fc8cc1c61e4f639b8067d118e742b812c930f708e6667a5ce0d13499e29", - "sha256:f0a1dbdb5ecbef0d34eb77e56fcb3e95bbd7e50835d9782a45df81cc46949750", - "sha256:f0a71d85ecdd570ded8ac3d1c0f480842f49a40beb423bb8014539a9f32a5897", - "sha256:f4f270de01dd3e129a72efad823da90cc4d6aafb64c410c9033aba70db9f1ff0", - "sha256:f6cb459eea32a4e2cf18ba5fcece2dbdf496384413bc1bae15583f19e567f3b2", - "sha256:f8ad8285b01b0d4695102546b342b493b3ccc6781fc28c8c6a1bb63e95d22f09", - "sha256:f9f39e2f049db33a908319cf46624a569b36983c7c78318e9726a4cb8923b26c" - ], - "markers": "python_version >= '3.7'", - "version": "==1.4.4" - }, - "llvmlite": { - "hashes": [ - "sha256:03aee0ccd81735696474dc4f8b6be60774892a2929d6c05d093d17392c237f32", - "sha256:1578f5000fdce513712e99543c50e93758a954297575610f48cb1fd71b27c08a", - "sha256:16f56eb1eec3cda3a5c526bc3f63594fc24e0c8d219375afeb336f289764c6c7", - "sha256:1ec3d70b3e507515936e475d9811305f52d049281eaa6c8273448a61c9b5b7e2", - "sha256:22d36591cd5d02038912321d9ab8e4668e53ae2211da5523f454e992b5e13c36", - "sha256:3803f11ad5f6f6c3d2b545a303d68d9fabb1d50e06a8d6418e6fcd2d0df00959", - "sha256:39dc2160aed36e989610fc403487f11b8764b6650017ff367e45384dff88ffbf", - "sha256:3fc14e757bc07a919221f0cbaacb512704ce5774d7fcada793f1996d6bc75f2a", - "sha256:4c6ebace910410daf0bebda09c1859504fc2f33d122e9a971c4c349c89cca630", - "sha256:50aea09a2b933dab7c9df92361b1844ad3145bfb8dd2deb9cd8b8917d59306fb", - "sha256:60f8dd1e76f47b3dbdee4b38d9189f3e020d22a173c00f930b52131001d801f9", - "sha256:62c0ea22e0b9dffb020601bb65cb11dd967a095a488be73f07d8867f4e327ca5", - "sha256:6546bed4e02a1c3d53a22a0bced254b3b6894693318b16c16c8e43e29d6befb6", - "sha256:6717c7a6e93c9d2c3d07c07113ec80ae24af45cde536b34363d4bcd9188091d9", - "sha256:7ebf1eb9badc2a397d4f6a6c8717447c81ac011db00064a00408bc83c923c0e4", - "sha256:9ffc84ade195abd4abcf0bd3b827b9140ae9ef90999429b9ea84d5df69c9058c", - "sha256:a3f331a323d0f0ada6b10d60182ef06c20a2f01be21699999d204c5750ffd0b4", - "sha256:b1a0bbdb274fb683f993198775b957d29a6f07b45d184c571ef2a721ce4388cf", - "sha256:b43abd7c82e805261c425d50335be9a6c4f84264e34d6d6e475207300005d572", - "sha256:c0f158e4708dda6367d21cf15afc58de4ebce979c7a1aa2f6b977aae737e2a54", - "sha256:d0bfd18c324549c0fec2c5dc610fd024689de6f27c6cc67e4e24a07541d6e49b", - "sha256:ddab526c5a2c4ccb8c9ec4821fcea7606933dc53f510e2a6eebb45a418d3488a", - "sha256:e172c73fccf7d6db4bd6f7de963dedded900d1a5c6778733241d878ba613980e", - "sha256:e2c00ff204afa721b0bb9835b5bf1ba7fba210eefcec5552a9e05a63219ba0dc", - "sha256:e31f4b799d530255aaf0566e3da2df5bfc35d3cd9d6d5a3dcc251663656c27b1", - "sha256:e4f212c018db951da3e1dc25c2651abc688221934739721f2dad5ff1dd5f90e7", - "sha256:fa9b26939ae553bf30a9f5c4c754db0fb2d2677327f2511e674aa2f5df941789", - "sha256:fb62fc7016b592435d3e3a8f680e3ea8897c3c9e62e6e6cc58011e7a4801439e" - ], - "markers": "python_version >= '3.7'", - "version": "==0.39.1" - }, - "lxml": { - "hashes": [ - "sha256:01d36c05f4afb8f7c20fd9ed5badca32a2029b93b1750f571ccc0b142531caf7", - "sha256:04876580c050a8c5341d706dd464ff04fd597095cc8c023252566a8826505726", - "sha256:05ca3f6abf5cf78fe053da9b1166e062ade3fa5d4f92b4ed688127ea7d7b1d03", - "sha256:090c6543d3696cbe15b4ac6e175e576bcc3f1ccfbba970061b7300b0c15a2140", - "sha256:0dc313ef231edf866912e9d8f5a042ddab56c752619e92dfd3a2c277e6a7299a", - "sha256:0f2b1e0d79180f344ff9f321327b005ca043a50ece8713de61d1cb383fb8ac05", - "sha256:13598ecfbd2e86ea7ae45ec28a2a54fb87ee9b9fdb0f6d343297d8e548392c03", - "sha256:16efd54337136e8cd72fb9485c368d91d77a47ee2d42b057564aae201257d419", - "sha256:1ab8f1f932e8f82355e75dda5413a57612c6ea448069d4fb2e217e9a4bed13d4", - "sha256:223f4232855ade399bd409331e6ca70fb5578efef22cf4069a6090acc0f53c0e", - "sha256:2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67", - "sha256:2899456259589aa38bfb018c364d6ae7b53c5c22d8e27d0ec7609c2a1ff78b50", - "sha256:2a29ba94d065945944016b6b74e538bdb1751a1db6ffb80c9d3c2e40d6fa9894", - "sha256:2a87fa548561d2f4643c99cd13131acb607ddabb70682dcf1dff5f71f781a4bf", - "sha256:2e430cd2824f05f2d4f687701144556646bae8f249fd60aa1e4c768ba7018947", - "sha256:36c3c175d34652a35475a73762b545f4527aec044910a651d2bf50de9c3352b1", - "sha256:3818b8e2c4b5148567e1b09ce739006acfaa44ce3156f8cbbc11062994b8e8dd", - "sha256:3ab9fa9d6dc2a7f29d7affdf3edebf6ece6fb28a6d80b14c3b2fb9d39b9322c3", - "sha256:3efea981d956a6f7173b4659849f55081867cf897e719f57383698af6f618a92", - "sha256:4c8f293f14abc8fd3e8e01c5bd86e6ed0b6ef71936ded5bf10fe7a5efefbaca3", - "sha256:5344a43228767f53a9df6e5b253f8cdca7dfc7b7aeae52551958192f56d98457", - "sha256:58bfa3aa19ca4c0f28c5dde0ff56c520fbac6f0daf4fac66ed4c8d2fb7f22e74", - "sha256:5b4545b8a40478183ac06c073e81a5ce4cf01bf1734962577cf2bb569a5b3bbf", - "sha256:5f50a1c177e2fa3ee0667a5ab79fdc6b23086bc8b589d90b93b4bd17eb0e64d1", - "sha256:63da2ccc0857c311d764e7d3d90f429c252e83b52d1f8f1d1fe55be26827d1f4", - "sha256:6749649eecd6a9871cae297bffa4ee76f90b4504a2a2ab528d9ebe912b101975", - "sha256:6804daeb7ef69e7b36f76caddb85cccd63d0c56dedb47555d2fc969e2af6a1a5", - "sha256:689bb688a1db722485e4610a503e3e9210dcc20c520b45ac8f7533c837be76fe", - "sha256:699a9af7dffaf67deeae27b2112aa06b41c370d5e7633e0ee0aea2e0b6c211f7", - "sha256:6b418afe5df18233fc6b6093deb82a32895b6bb0b1155c2cdb05203f583053f1", - "sha256:76cf573e5a365e790396a5cc2b909812633409306c6531a6877c59061e42c4f2", - "sha256:7b515674acfdcadb0eb5d00d8a709868173acece5cb0be3dd165950cbfdf5409", - "sha256:7b770ed79542ed52c519119473898198761d78beb24b107acf3ad65deae61f1f", - "sha256:7d2278d59425777cfcb19735018d897ca8303abe67cc735f9f97177ceff8027f", - "sha256:7e91ee82f4199af8c43d8158024cbdff3d931df350252288f0d4ce656df7f3b5", - "sha256:821b7f59b99551c69c85a6039c65b75f5683bdc63270fec660f75da67469ca24", - "sha256:822068f85e12a6e292803e112ab876bc03ed1f03dddb80154c395f891ca6b31e", - "sha256:8340225bd5e7a701c0fa98284c849c9b9fc9238abf53a0ebd90900f25d39a4e4", - "sha256:85cabf64adec449132e55616e7ca3e1000ab449d1d0f9d7f83146ed5bdcb6d8a", - "sha256:880bbbcbe2fca64e2f4d8e04db47bcdf504936fa2b33933efd945e1b429bea8c", - "sha256:8d0b4612b66ff5d62d03bcaa043bb018f74dfea51184e53f067e6fdcba4bd8de", - "sha256:8e20cb5a47247e383cf4ff523205060991021233ebd6f924bca927fcf25cf86f", - "sha256:925073b2fe14ab9b87e73f9a5fde6ce6392da430f3004d8b72cc86f746f5163b", - "sha256:998c7c41910666d2976928c38ea96a70d1aa43be6fe502f21a651e17483a43c5", - "sha256:9b22c5c66f67ae00c0199f6055705bc3eb3fcb08d03d2ec4059a2b1b25ed48d7", - "sha256:9f102706d0ca011de571de32c3247c6476b55bb6bc65a20f682f000b07a4852a", - "sha256:a08cff61517ee26cb56f1e949cca38caabe9ea9fbb4b1e10a805dc39844b7d5c", - "sha256:a0a336d6d3e8b234a3aae3c674873d8f0e720b76bc1d9416866c41cd9500ffb9", - "sha256:a35f8b7fa99f90dd2f5dc5a9fa12332642f087a7641289ca6c40d6e1a2637d8e", - "sha256:a38486985ca49cfa574a507e7a2215c0c780fd1778bb6290c21193b7211702ab", - "sha256:a5da296eb617d18e497bcf0a5c528f5d3b18dadb3619fbdadf4ed2356ef8d941", - "sha256:a6e441a86553c310258aca15d1c05903aaf4965b23f3bc2d55f200804e005ee5", - "sha256:a82d05da00a58b8e4c0008edbc8a4b6ec5a4bc1e2ee0fb6ed157cf634ed7fa45", - "sha256:ab323679b8b3030000f2be63e22cdeea5b47ee0abd2d6a1dc0c8103ddaa56cd7", - "sha256:b1f42b6921d0e81b1bcb5e395bc091a70f41c4d4e55ba99c6da2b31626c44892", - "sha256:b23e19989c355ca854276178a0463951a653309fb8e57ce674497f2d9f208746", - "sha256:b264171e3143d842ded311b7dccd46ff9ef34247129ff5bf5066123c55c2431c", - "sha256:b26a29f0b7fc6f0897f043ca366142d2b609dc60756ee6e4e90b5f762c6adc53", - "sha256:b64d891da92e232c36976c80ed7ebb383e3f148489796d8d31a5b6a677825efe", - "sha256:b9cc34af337a97d470040f99ba4282f6e6bac88407d021688a5d585e44a23184", - "sha256:bc718cd47b765e790eecb74d044cc8d37d58562f6c314ee9484df26276d36a38", - "sha256:be7292c55101e22f2a3d4d8913944cbea71eea90792bf914add27454a13905df", - "sha256:c83203addf554215463b59f6399835201999b5e48019dc17f182ed5ad87205c9", - "sha256:c9ec3eaf616d67db0764b3bb983962b4f385a1f08304fd30c7283954e6a7869b", - "sha256:ca34efc80a29351897e18888c71c6aca4a359247c87e0b1c7ada14f0ab0c0fb2", - "sha256:ca989b91cf3a3ba28930a9fc1e9aeafc2a395448641df1f387a2d394638943b0", - "sha256:d02a5399126a53492415d4906ab0ad0375a5456cc05c3fc0fc4ca11771745cda", - "sha256:d17bc7c2ccf49c478c5bdd447594e82692c74222698cfc9b5daae7ae7e90743b", - "sha256:d5bf6545cd27aaa8a13033ce56354ed9e25ab0e4ac3b5392b763d8d04b08e0c5", - "sha256:d6b430a9938a5a5d85fc107d852262ddcd48602c120e3dbb02137c83d212b380", - "sha256:da248f93f0418a9e9d94b0080d7ebc407a9a5e6d0b57bb30db9b5cc28de1ad33", - "sha256:da4dd7c9c50c059aba52b3524f84d7de956f7fef88f0bafcf4ad7dde94a064e8", - "sha256:df0623dcf9668ad0445e0558a21211d4e9a149ea8f5666917c8eeec515f0a6d1", - "sha256:e5168986b90a8d1f2f9dc1b841467c74221bd752537b99761a93d2d981e04889", - "sha256:efa29c2fe6b4fdd32e8ef81c1528506895eca86e1d8c4657fda04c9b3786ddf9", - "sha256:f1496ea22ca2c830cbcbd473de8f114a320da308438ae65abad6bab7867fe38f", - "sha256:f49e52d174375a7def9915c9f06ec4e569d235ad428f70751765f48d5926678c" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==4.9.2" - }, - "mako": { - "hashes": [ - "sha256:c97c79c018b9165ac9922ae4f32da095ffd3c4e6872b45eded42926deea46818", - "sha256:d60a3903dc3bb01a18ad6a89cdbe2e4eadc69c0bc8ef1e3773ba53d44c3f7a34" - ], - "index": "pypi", - "version": "==1.2.4" - }, - "markupsafe": { - "hashes": [ - "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003", - "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88", - "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5", - "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7", - "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a", - "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603", - "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1", - "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135", - "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247", - "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6", - "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601", - "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77", - "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02", - "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e", - "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63", - "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f", - "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980", - "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b", - "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812", - "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff", - "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96", - "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1", - "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925", - "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a", - "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6", - "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e", - "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f", - "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4", - "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f", - "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3", - "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c", - "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a", - "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417", - "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a", - "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a", - "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37", - "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452", - "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933", - "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a", - "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7" - ], - "markers": "python_version >= '3.7'", - "version": "==2.1.1" - }, - "matplotlib": { - "hashes": [ - "sha256:0844523dfaaff566e39dbfa74e6f6dc42e92f7a365ce80929c5030b84caa563a", - "sha256:0eda9d1b43f265da91fb9ae10d6922b5a986e2234470a524e6b18f14095b20d2", - "sha256:168093410b99f647ba61361b208f7b0d64dde1172b5b1796d765cd243cadb501", - "sha256:1836f366272b1557a613f8265db220eb8dd883202bbbabe01bad5a4eadfd0c95", - "sha256:19d61ee6414c44a04addbe33005ab1f87539d9f395e25afcbe9a3c50ce77c65c", - "sha256:252957e208c23db72ca9918cb33e160c7833faebf295aaedb43f5b083832a267", - "sha256:32d29c8c26362169c80c5718ce367e8c64f4dd068a424e7110df1dd2ed7bd428", - "sha256:380d48c15ec41102a2b70858ab1dedfa33eb77b2c0982cb65a200ae67a48e9cb", - "sha256:3964934731fd7a289a91d315919cf757f293969a4244941ab10513d2351b4e83", - "sha256:3cef89888a466228fc4e4b2954e740ce8e9afde7c4315fdd18caa1b8de58ca17", - "sha256:4426c74761790bff46e3d906c14c7aab727543293eed5a924300a952e1a3a3c1", - "sha256:5024b8ed83d7f8809982d095d8ab0b179bebc07616a9713f86d30cf4944acb73", - "sha256:52c2bdd7cd0bf9d5ccdf9c1816568fd4ccd51a4d82419cc5480f548981b47dd0", - "sha256:54fa9fe27f5466b86126ff38123261188bed568c1019e4716af01f97a12fe812", - "sha256:5ba73aa3aca35d2981e0b31230d58abb7b5d7ca104e543ae49709208d8ce706a", - "sha256:5e16dcaecffd55b955aa5e2b8a804379789c15987e8ebd2f32f01398a81e975b", - "sha256:5ecfc6559132116dedfc482d0ad9df8a89dc5909eebffd22f3deb684132d002f", - "sha256:74153008bd24366cf099d1f1e83808d179d618c4e32edb0d489d526523a94d9f", - "sha256:78ec3c3412cf277e6252764ee4acbdbec6920cc87ad65862272aaa0e24381eee", - "sha256:795ad83940732b45d39b82571f87af0081c120feff2b12e748d96bb191169e33", - "sha256:7f716b6af94dc1b6b97c46401774472f0867e44595990fe80a8ba390f7a0a028", - "sha256:83dc89c5fd728fdb03b76f122f43b4dcee8c61f1489e232d9ad0f58020523e1c", - "sha256:8a0ae37576ed444fe853709bdceb2be4c7df6f7acae17b8378765bd28e61b3ae", - "sha256:8a8dbe2cb7f33ff54b16bb5c500673502a35f18ac1ed48625e997d40c922f9cc", - "sha256:8a9d899953c722b9afd7e88dbefd8fb276c686c3116a43c577cfabf636180558", - "sha256:8d0068e40837c1d0df6e3abf1cdc9a34a6d2611d90e29610fa1d2455aeb4e2e5", - "sha256:9347cc6822f38db2b1d1ce992f375289670e595a2d1c15961aacbe0977407dfc", - "sha256:9f335e5625feb90e323d7e3868ec337f7b9ad88b5d633f876e3b778813021dab", - "sha256:b03fd10a1709d0101c054883b550f7c4c5e974f751e2680318759af005964990", - "sha256:b0ca2c60d3966dfd6608f5f8c49b8a0fcf76de6654f2eda55fc6ef038d5a6f27", - "sha256:b2604c6450f9dd2c42e223b1f5dca9643a23cfecc9fde4a94bb38e0d2693b136", - "sha256:ca0e7a658fbafcddcaefaa07ba8dae9384be2343468a8e011061791588d839fa", - "sha256:d0e9ac04065a814d4cf2c6791a2ad563f739ae3ae830d716d54245c2b96fead6", - "sha256:d50e8c1e571ee39b5dfbc295c11ad65988879f68009dd281a6e1edbc2ff6c18c", - "sha256:d840adcad7354be6f2ec28d0706528b0026e4c3934cc6566b84eac18633eab1b", - "sha256:e0bbee6c2a5bf2a0017a9b5e397babb88f230e6f07c3cdff4a4c4bc75ed7c617", - "sha256:e5afe0a7ea0e3a7a257907060bee6724a6002b7eec55d0db16fd32409795f3e1", - "sha256:e68be81cd8c22b029924b6d0ee814c337c0e706b8d88495a617319e5dd5441c3", - "sha256:ec9be0f4826cdb3a3a517509dcc5f87f370251b76362051ab59e42b6b765f8c4", - "sha256:f04f97797df35e442ed09f529ad1235d1f1c0f30878e2fe09a2676b71a8801e0", - "sha256:f41e57ad63d336fe50d3a67bb8eaa26c09f6dda6a59f76777a99b8ccd8e26aec" - ], - "index": "pypi", - "version": "==3.6.2" - }, - "numba": { - "hashes": [ - "sha256:0240f9026b015e336069329839208ebd70ec34ae5bfbf402e4fcc8e06197528e", - "sha256:03634579d10a6129181129de293dd6b5eaabee86881369d24d63f8fe352dd6cb", - "sha256:03fe94cd31e96185cce2fae005334a8cc712fc2ba7756e52dff8c9400718173f", - "sha256:0611e6d3eebe4cb903f1a836ffdb2bda8d18482bcd0a0dcc56e79e2aa3fefef5", - "sha256:0da583c532cd72feefd8e551435747e0e0fbb3c0530357e6845fcc11e38d6aea", - "sha256:14dbbabf6ffcd96ee2ac827389afa59a70ffa9f089576500434c34abf9b054a4", - "sha256:32d9fef412c81483d7efe0ceb6cf4d3310fde8b624a9cecca00f790573ac96ee", - "sha256:3a993349b90569518739009d8f4b523dfedd7e0049e6838c0e17435c3e70dcc4", - "sha256:3cb1a07a082a61df80a468f232e452d818f5ae254b40c26390054e4e868556e0", - "sha256:42f9e1be942b215df7e6cc9948cf9c15bb8170acc8286c063a9e57994ef82fd1", - "sha256:4373da9757049db7c90591e9ec55a2e97b2b36ba7ae3bf9c956a513374077470", - "sha256:4e08e203b163ace08bad500b0c16f6092b1eb34fd1fce4feaf31a67a3a5ecf3b", - "sha256:553da2ce74e8862e18a72a209ed3b6d2924403bdd0fb341fa891c6455545ba7c", - "sha256:720886b852a2d62619ae3900fe71f1852c62db4f287d0c275a60219e1643fc04", - "sha256:85dbaed7a05ff96492b69a8900c5ba605551afb9b27774f7f10511095451137c", - "sha256:8a95ca9cc77ea4571081f6594e08bd272b66060634b8324e99cd1843020364f9", - "sha256:91f021145a8081f881996818474ef737800bcc613ffb1e618a655725a0f9e246", - "sha256:9f62672145f8669ec08762895fe85f4cf0ead08ce3164667f2b94b2f62ab23c3", - "sha256:a12ef323c0f2101529d455cfde7f4135eaa147bad17afe10b48634f796d96abd", - "sha256:c602d015478b7958408d788ba00a50272649c5186ea8baa6cf71d4a1c761bba1", - "sha256:c75e8a5f810ce80a0cfad6e74ee94f9fde9b40c81312949bf356b7304ef20740", - "sha256:d0ae9270a7a5cc0ede63cd234b4ff1ce166c7a749b91dbbf45e0000c56d3eade", - "sha256:d69ad934e13c15684e7887100a8f5f0f61d7a8e57e0fd29d9993210089a5b531", - "sha256:dbcc847bac2d225265d054993a7f910fda66e73d6662fe7156452cac0325b073", - "sha256:e64d338b504c9394a4a34942df4627e1e6cb07396ee3b49fe7b8d6420aa5104f", - "sha256:f4cfc3a19d1e26448032049c79fc60331b104f694cf570a9e94f4e2c9d0932bb", - "sha256:fbfb45e7b297749029cb28694abf437a78695a100e7c2033983d69f0ba2698d4", - "sha256:fcdf84ba3ed8124eb7234adfbb8792f311991cbf8aed1cad4b1b1a7ee08380c1" - ], - "index": "pypi", - "version": "==0.56.4" - }, - "numpy": { - "hashes": [ - "sha256:01dd17cbb340bf0fc23981e52e1d18a9d4050792e8fb8363cecbf066a84b827d", - "sha256:06005a2ef6014e9956c09ba07654f9837d9e26696a0470e42beedadb78c11b07", - "sha256:09b7847f7e83ca37c6e627682f145856de331049013853f344f37b0c9690e3df", - "sha256:0aaee12d8883552fadfc41e96b4c82ee7d794949e2a7c3b3a7201e968c7ecab9", - "sha256:0cbe9848fad08baf71de1a39e12d1b6310f1d5b2d0ea4de051058e6e1076852d", - "sha256:1b1766d6f397c18153d40015ddfc79ddb715cabadc04d2d228d4e5a8bc4ded1a", - "sha256:33161613d2269025873025b33e879825ec7b1d831317e68f4f2f0f84ed14c719", - "sha256:5039f55555e1eab31124a5768898c9e22c25a65c1e0037f4d7c495a45778c9f2", - "sha256:522e26bbf6377e4d76403826ed689c295b0b238f46c28a7251ab94716da0b280", - "sha256:56e454c7833e94ec9769fa0f86e6ff8e42ee38ce0ce1fa4cbb747ea7e06d56aa", - "sha256:58f545efd1108e647604a1b5aa809591ccd2540f468a880bedb97247e72db387", - "sha256:5e05b1c973a9f858c74367553e236f287e749465f773328c8ef31abe18f691e1", - "sha256:7903ba8ab592b82014713c491f6c5d3a1cde5b4a3bf116404e08f5b52f6daf43", - "sha256:8969bfd28e85c81f3f94eb4a66bc2cf1dbdc5c18efc320af34bffc54d6b1e38f", - "sha256:92c8c1e89a1f5028a4c6d9e3ccbe311b6ba53694811269b992c0b224269e2398", - "sha256:9c88793f78fca17da0145455f0d7826bcb9f37da4764af27ac945488116efe63", - "sha256:a7ac231a08bb37f852849bbb387a20a57574a97cfc7b6cabb488a4fc8be176de", - "sha256:abdde9f795cf292fb9651ed48185503a2ff29be87770c3b8e2a14b0cd7aa16f8", - "sha256:af1da88f6bc3d2338ebbf0e22fe487821ea4d8e89053e25fa59d1d79786e7481", - "sha256:b2a9ab7c279c91974f756c84c365a669a887efa287365a8e2c418f8b3ba73fb0", - "sha256:bf837dc63ba5c06dc8797c398db1e223a466c7ece27a1f7b5232ba3466aafe3d", - "sha256:ca51fcfcc5f9354c45f400059e88bc09215fb71a48d3768fb80e357f3b457e1e", - "sha256:ce571367b6dfe60af04e04a1834ca2dc5f46004ac1cc756fb95319f64c095a96", - "sha256:d208a0f8729f3fb790ed18a003f3a57895b989b40ea4dce4717e9cf4af62c6bb", - "sha256:dbee87b469018961d1ad79b1a5d50c0ae850000b639bcb1b694e9981083243b6", - "sha256:e9f4c4e51567b616be64e05d517c79a8a22f3606499941d97bb76f2ca59f982d", - "sha256:f063b69b090c9d918f9df0a12116029e274daf0181df392839661c4c7ec9018a", - "sha256:f9a909a8bae284d46bbfdefbdd4a262ba19d3bc9921b1e76126b1d21c3c34135" - ], - "markers": "python_version >= '3.8'", - "version": "==1.23.5" - }, - "packaging": { - "hashes": [ - "sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2", - "sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97" - ], - "markers": "python_version >= '3.7'", - "version": "==23.0" - }, - "pillow": { - "hashes": [ - "sha256:048ad577748b9fa4a99a0548c64f2cb8d672d5bf2e643a739ac8faff1164238c", - "sha256:048eeade4c33fdf7e08da40ef402e748df113fd0b4584e32c4af74fe78baaeb2", - "sha256:0ba26351b137ca4e0db0342d5d00d2e355eb29372c05afd544ebf47c0956ffeb", - "sha256:0ea2a783a2bdf2a561808fe4a7a12e9aa3799b701ba305de596bc48b8bdfce9d", - "sha256:1530e8f3a4b965eb6a7785cf17a426c779333eb62c9a7d1bbcf3ffd5bf77a4aa", - "sha256:16563993329b79513f59142a6b02055e10514c1a8e86dca8b48a893e33cf91e3", - "sha256:19aeb96d43902f0a783946a0a87dbdad5c84c936025b8419da0a0cd7724356b1", - "sha256:1a1d1915db1a4fdb2754b9de292642a39a7fb28f1736699527bb649484fb966a", - "sha256:1b87bd9d81d179bd8ab871603bd80d8645729939f90b71e62914e816a76fc6bd", - "sha256:1dfc94946bc60ea375cc39cff0b8da6c7e5f8fcdc1d946beb8da5c216156ddd8", - "sha256:2034f6759a722da3a3dbd91a81148cf884e91d1b747992ca288ab88c1de15999", - "sha256:261ddb7ca91fcf71757979534fb4c128448b5b4c55cb6152d280312062f69599", - "sha256:2ed854e716a89b1afcedea551cd85f2eb2a807613752ab997b9974aaa0d56936", - "sha256:3102045a10945173d38336f6e71a8dc71bcaeed55c3123ad4af82c52807b9375", - "sha256:339894035d0ede518b16073bdc2feef4c991ee991a29774b33e515f1d308e08d", - "sha256:412444afb8c4c7a6cc11a47dade32982439925537e483be7c0ae0cf96c4f6a0b", - "sha256:4203efca580f0dd6f882ca211f923168548f7ba334c189e9eab1178ab840bf60", - "sha256:45ebc7b45406febf07fef35d856f0293a92e7417ae7933207e90bf9090b70572", - "sha256:4b5ec25d8b17217d635f8935dbc1b9aa5907962fae29dff220f2659487891cd3", - "sha256:4c8e73e99da7db1b4cad7f8d682cf6abad7844da39834c288fbfa394a47bbced", - "sha256:4e6f7d1c414191c1199f8996d3f2282b9ebea0945693fb67392c75a3a320941f", - "sha256:4eaa22f0d22b1a7e93ff0a596d57fdede2e550aecffb5a1ef1106aaece48e96b", - "sha256:50b8eae8f7334ec826d6eeffaeeb00e36b5e24aa0b9df322c247539714c6df19", - "sha256:50fd3f6b26e3441ae07b7c979309638b72abc1a25da31a81a7fbd9495713ef4f", - "sha256:51243f1ed5161b9945011a7360e997729776f6e5d7005ba0c6879267d4c5139d", - "sha256:5d512aafa1d32efa014fa041d38868fda85028e3f930a96f85d49c7d8ddc0383", - "sha256:5f77cf66e96ae734717d341c145c5949c63180842a545c47a0ce7ae52ca83795", - "sha256:6b02471b72526ab8a18c39cb7967b72d194ec53c1fd0a70b050565a0f366d355", - "sha256:6fb1b30043271ec92dc65f6d9f0b7a830c210b8a96423074b15c7bc999975f57", - "sha256:7161ec49ef0800947dc5570f86568a7bb36fa97dd09e9827dc02b718c5643f09", - "sha256:72d622d262e463dfb7595202d229f5f3ab4b852289a1cd09650362db23b9eb0b", - "sha256:74d28c17412d9caa1066f7a31df8403ec23d5268ba46cd0ad2c50fb82ae40462", - "sha256:78618cdbccaa74d3f88d0ad6cb8ac3007f1a6fa5c6f19af64b55ca170bfa1edf", - "sha256:793b4e24db2e8742ca6423d3fde8396db336698c55cd34b660663ee9e45ed37f", - "sha256:798232c92e7665fe82ac085f9d8e8ca98826f8e27859d9a96b41d519ecd2e49a", - "sha256:81d09caa7b27ef4e61cb7d8fbf1714f5aec1c6b6c5270ee53504981e6e9121ad", - "sha256:8ab74c06ffdab957d7670c2a5a6e1a70181cd10b727cd788c4dd9005b6a8acd9", - "sha256:8eb0908e954d093b02a543dc963984d6e99ad2b5e36503d8a0aaf040505f747d", - "sha256:90b9e29824800e90c84e4022dd5cc16eb2d9605ee13f05d47641eb183cd73d45", - "sha256:9797a6c8fe16f25749b371c02e2ade0efb51155e767a971c61734b1bf6293994", - "sha256:9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d", - "sha256:9d3bea1c75f8c53ee4d505c3e67d8c158ad4df0d83170605b50b64025917f338", - "sha256:9e2ec1e921fd07c7cda7962bad283acc2f2a9ccc1b971ee4b216b75fad6f0463", - "sha256:9e91179a242bbc99be65e139e30690e081fe6cb91a8e77faf4c409653de39451", - "sha256:a0eaa93d054751ee9964afa21c06247779b90440ca41d184aeb5d410f20ff591", - "sha256:a2c405445c79c3f5a124573a051062300936b0281fee57637e706453e452746c", - "sha256:aa7e402ce11f0885305bfb6afb3434b3cd8f53b563ac065452d9d5654c7b86fd", - "sha256:aff76a55a8aa8364d25400a210a65ff59d0168e0b4285ba6bf2bd83cf675ba32", - "sha256:b09b86b27a064c9624d0a6c54da01c1beaf5b6cadfa609cf63789b1d08a797b9", - "sha256:b14f16f94cbc61215115b9b1236f9c18403c15dd3c52cf629072afa9d54c1cbf", - "sha256:b50811d664d392f02f7761621303eba9d1b056fb1868c8cdf4231279645c25f5", - "sha256:b7bc2176354defba3edc2b9a777744462da2f8e921fbaf61e52acb95bafa9828", - "sha256:c78e1b00a87ce43bb37642c0812315b411e856a905d58d597750eb79802aaaa3", - "sha256:c83341b89884e2b2e55886e8fbbf37c3fa5efd6c8907124aeb72f285ae5696e5", - "sha256:ca2870d5d10d8726a27396d3ca4cf7976cec0f3cb706debe88e3a5bd4610f7d2", - "sha256:ccce24b7ad89adb5a1e34a6ba96ac2530046763912806ad4c247356a8f33a67b", - "sha256:cd5e14fbf22a87321b24c88669aad3a51ec052eb145315b3da3b7e3cc105b9a2", - "sha256:ce49c67f4ea0609933d01c0731b34b8695a7a748d6c8d186f95e7d085d2fe475", - "sha256:d33891be6df59d93df4d846640f0e46f1a807339f09e79a8040bc887bdcd7ed3", - "sha256:d3b2348a78bc939b4fed6552abfd2e7988e0f81443ef3911a4b8498ca084f6eb", - "sha256:d886f5d353333b4771d21267c7ecc75b710f1a73d72d03ca06df49b09015a9ef", - "sha256:d93480005693d247f8346bc8ee28c72a2191bdf1f6b5db469c096c0c867ac015", - "sha256:dc1a390a82755a8c26c9964d457d4c9cbec5405896cba94cf51f36ea0d855002", - "sha256:dd78700f5788ae180b5ee8902c6aea5a5726bac7c364b202b4b3e3ba2d293170", - "sha256:e46f38133e5a060d46bd630faa4d9fa0202377495df1f068a8299fd78c84de84", - "sha256:e4b878386c4bf293578b48fc570b84ecfe477d3b77ba39a6e87150af77f40c57", - "sha256:f0d0591a0aeaefdaf9a5e545e7485f89910c977087e7de2b6c388aec32011e9f", - "sha256:fdcbb4068117dfd9ce0138d068ac512843c52295ed996ae6dd1faf537b6dbc27", - "sha256:ff61bfd9253c3915e6d41c651d5f962da23eda633cf02262990094a18a55371a" - ], - "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==10.3.0" - }, - "pluggy": { - "hashes": [ - "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159", - "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3" - ], - "markers": "python_version >= '3.6'", - "version": "==1.0.0" - }, - "pycodestyle": { - "hashes": [ - "sha256:347187bdb476329d98f695c213d7295a846d1152ff4fe9bacb8a9590b8ee7053", - "sha256:8a4eaf0d0495c7395bdab3589ac2db602797d76207242c17d470186815706610" - ], - "markers": "python_version >= '3.6'", - "version": "==2.10.0" - }, - "pylems": { - "hashes": [ - "sha256:809cb1186be18fc0390f9656677847d3a2666cfae816ed82897cc91dfdfa8a1c", - "sha256:af226d79f3d5be670565def72f4196a480317012e5befa85cecea4b60eeaffdf" - ], - "index": "pypi", - "version": "==0.6.0" - }, - "pyparsing": { - "hashes": [ - "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb", - "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc" - ], - "markers": "python_full_version >= '3.6.8'", - "version": "==3.0.9" - }, - "pytest": { - "hashes": [ - "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71", - "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59" - ], - "index": "pypi", - "version": "==7.2.0" - }, - "python-dateutil": { - "hashes": [ - "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", - "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.8.2" - }, - "scipy": { - "hashes": [ - "sha256:0490dc499fe23e4be35b8b6dd1e60a4a34f0c4adb30ac671e6332446b3cbbb5a", - "sha256:0ab2a58064836632e2cec31ca197d3695c86b066bc4818052b3f5381bfd2a728", - "sha256:151f066fe7d6653c3ffefd489497b8fa66d7316e3e0d0c0f7ff6acca1b802809", - "sha256:16ba05d3d1b9f2141004f3f36888e05894a525960b07f4c2bfc0456b955a00be", - "sha256:27e548276b5a88b51212b61f6dda49a24acf5d770dff940bd372b3f7ced8c6c2", - "sha256:2ad449db4e0820e4b42baccefc98ec772ad7818dcbc9e28b85aa05a536b0f1a2", - "sha256:2f9ea0a37aca111a407cb98aa4e8dfde6e5d9333bae06dfa5d938d14c80bb5c3", - "sha256:38bfbd18dcc69eeb589811e77fae552fa923067fdfbb2e171c9eac749885f210", - "sha256:3afcbddb4488ac950ce1147e7580178b333a29cd43524c689b2e3543a080a2c8", - "sha256:42ab8b9e7dc1ebe248e55f54eea5307b6ab15011a7883367af48dd781d1312e4", - "sha256:441cab2166607c82e6d7a8683779cb89ba0f475b983c7e4ab88f3668e268c143", - "sha256:4bd0e3278126bc882d10414436e58fa3f1eca0aa88b534fcbf80ed47e854f46c", - "sha256:4df25a28bd22c990b22129d3c637fd5c3be4b7c94f975dca909d8bab3309b694", - "sha256:5cd7a30970c29d9768a7164f564d1fbf2842bfc77b7d114a99bc32703ce0bf48", - "sha256:6e4497e5142f325a5423ff5fda2fff5b5d953da028637ff7c704378c8c284ea7", - "sha256:6faf86ef7717891195ae0537e48da7524d30bc3b828b30c9b115d04ea42f076f", - "sha256:954ff69d2d1bf666b794c1d7216e0a746c9d9289096a64ab3355a17c7c59db54", - "sha256:9b878c671655864af59c108c20e4da1e796154bd78c0ed6bb02bc41c84625686", - "sha256:b901b423c91281a974f6cd1c36f5c6c523e665b5a6d5e80fcb2334e14670eefd", - "sha256:c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540", - "sha256:e096b062d2efdea57f972d232358cb068413dc54eec4f24158bcbb5cb8bddfd8" - ], - "index": "pypi", - "version": "==1.10.0" - }, - "setuptools": { - "hashes": [ - "sha256:54faa7f2e8d2d11bcd2c07bed282eef1046b5c080d1c32add737d7b5817b1ad4", - "sha256:f211a66637b8fa059bb28183da127d4e86396c991a942b028c6650d4319c3fd0" - ], - "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==70.0.0" - }, - "six": { - "hashes": [ - "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", - "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.16.0" - }, - "tomli": { - "hashes": [ - "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", - "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" - ], - "markers": "python_version < '3.11'", - "version": "==2.0.1" - }, - "tqdm": { - "hashes": [ - "sha256:23097a41eba115ba99ecae40d06444c15d1c0c698d527a01c6c8bd1c5d0647e5", - "sha256:4f41d54107ff9a223dca80b53efe4fb654c67efaba7f47bada3ee9d50e05bd53" - ], - "index": "pypi", - "markers": "python_version >= '3.7'", - "version": "==4.66.3" - }, - "tvb-gdist": { - "hashes": [ - "sha256:1c5438878e380933251a147fb1c13b038e8592ead56d6a3adaa0872cc1552ce3", - "sha256:5ef104e5330e39433746209dec6826feac3fb82133aa6ebcf68d05df0c68e6a2", - "sha256:69f9977582af08bf54beeb5e46344a93ae40a08ae84a7bafe2ec91527ef79c47", - "sha256:802fcc65d8007aaa14c0f6e6aded419fb38c27995ac94a2f945499b1f2218fd8", - "sha256:fd71f203a860481dbddb47ce47fdd3b89b174e1129838ab12cb2a681dde9d804" - ], - "index": "pypi", - "version": "==2.1.0" - } - }, - "develop": { - "attrs": { - "hashes": [ - "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836", - "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99" - ], - "markers": "python_version >= '3.6'", - "version": "==22.2.0" - }, - "coverage": { - "extras": [ - "toml" - ], - "hashes": [ - "sha256:051afcbd6d2ac39298d62d340f94dbb6a1f31de06dfaf6fcef7b759dd3860c45", - "sha256:0a1890fca2962c4f1ad16551d660b46ea77291fba2cc21c024cd527b9d9c8809", - "sha256:0ee30375b409d9a7ea0f30c50645d436b6f5dfee254edffd27e45a980ad2c7f4", - "sha256:13250b1f0bd023e0c9f11838bdeb60214dd5b6aaf8e8d2f110c7e232a1bff83b", - "sha256:17e01dd8666c445025c29684d4aabf5a90dc6ef1ab25328aa52bedaa95b65ad7", - "sha256:19245c249aa711d954623d94f23cc94c0fd65865661f20b7781210cb97c471c0", - "sha256:1caed2367b32cc80a2b7f58a9f46658218a19c6cfe5bc234021966dc3daa01f0", - "sha256:1f66862d3a41674ebd8d1a7b6f5387fe5ce353f8719040a986551a545d7d83ea", - "sha256:220e3fa77d14c8a507b2d951e463b57a1f7810a6443a26f9b7591ef39047b1b2", - "sha256:276f4cd0001cd83b00817c8db76730938b1ee40f4993b6a905f40a7278103b3a", - "sha256:29de916ba1099ba2aab76aca101580006adfac5646de9b7c010a0f13867cba45", - "sha256:2a7f23bbaeb2a87f90f607730b45564076d870f1fb07b9318d0c21f36871932b", - "sha256:2c407b1950b2d2ffa091f4e225ca19a66a9bd81222f27c56bd12658fc5ca1209", - "sha256:30b5fec1d34cc932c1bc04017b538ce16bf84e239378b8f75220478645d11fca", - "sha256:3c2155943896ac78b9b0fd910fb381186d0c345911f5333ee46ac44c8f0e43ab", - "sha256:411d4ff9d041be08fdfc02adf62e89c735b9468f6d8f6427f8a14b6bb0a85095", - "sha256:436e103950d05b7d7f55e39beeb4d5be298ca3e119e0589c0227e6d0b01ee8c7", - "sha256:49640bda9bda35b057b0e65b7c43ba706fa2335c9a9896652aebe0fa399e80e6", - "sha256:4a950f83fd3f9bca23b77442f3a2b2ea4ac900944d8af9993743774c4fdc57af", - "sha256:50a6adc2be8edd7ee67d1abc3cd20678987c7b9d79cd265de55941e3d0d56499", - "sha256:52ab14b9e09ce052237dfe12d6892dd39b0401690856bcfe75d5baba4bfe2831", - "sha256:54f7e9705e14b2c9f6abdeb127c390f679f6dbe64ba732788d3015f7f76ef637", - "sha256:66e50680e888840c0995f2ad766e726ce71ca682e3c5f4eee82272c7671d38a2", - "sha256:790e4433962c9f454e213b21b0fd4b42310ade9c077e8edcb5113db0818450cb", - "sha256:7a38362528a9115a4e276e65eeabf67dcfaf57698e17ae388599568a78dcb029", - "sha256:7b05ed4b35bf6ee790832f68932baf1f00caa32283d66cc4d455c9e9d115aafc", - "sha256:7e109f1c9a3ece676597831874126555997c48f62bddbcace6ed17be3e372de8", - "sha256:949844af60ee96a376aac1ded2a27e134b8c8d35cc006a52903fc06c24a3296f", - "sha256:95304068686545aa368b35dfda1cdfbbdbe2f6fe43de4a2e9baa8ebd71be46e2", - "sha256:9e662e6fc4f513b79da5d10a23edd2b87685815b337b1a30cd11307a6679148d", - "sha256:a9fed35ca8c6e946e877893bbac022e8563b94404a605af1d1e6accc7eb73289", - "sha256:b69522b168a6b64edf0c33ba53eac491c0a8f5cc94fa4337f9c6f4c8f2f5296c", - "sha256:b78729038abea6a5df0d2708dce21e82073463b2d79d10884d7d591e0f385ded", - "sha256:b8c56bec53d6e3154eaff6ea941226e7bd7cc0d99f9b3756c2520fc7a94e6d96", - "sha256:b9727ac4f5cf2cbf87880a63870b5b9730a8ae3a4a360241a0fdaa2f71240ff0", - "sha256:ba3027deb7abf02859aca49c865ece538aee56dcb4871b4cced23ba4d5088904", - "sha256:be9fcf32c010da0ba40bf4ee01889d6c737658f4ddff160bd7eb9cac8f094b21", - "sha256:c18d47f314b950dbf24a41787ced1474e01ca816011925976d90a88b27c22b89", - "sha256:c76a3075e96b9c9ff00df8b5f7f560f5634dffd1658bafb79eb2682867e94f78", - "sha256:cbfcba14a3225b055a28b3199c3d81cd0ab37d2353ffd7f6fd64844cebab31ad", - "sha256:d254666d29540a72d17cc0175746cfb03d5123db33e67d1020e42dae611dc196", - "sha256:d66187792bfe56f8c18ba986a0e4ae44856b1c645336bd2c776e3386da91e1dd", - "sha256:d8d04e755934195bdc1db45ba9e040b8d20d046d04d6d77e71b3b34a8cc002d0", - "sha256:d8f3e2e0a1d6777e58e834fd5a04657f66affa615dae61dd67c35d1568c38882", - "sha256:e057e74e53db78122a3979f908973e171909a58ac20df05c33998d52e6d35757", - "sha256:e4ce984133b888cc3a46867c8b4372c7dee9cee300335e2925e197bcd45b9e16", - "sha256:ea76dbcad0b7b0deb265d8c36e0801abcddf6cc1395940a24e3595288b405ca0", - "sha256:ecb0f73954892f98611e183f50acdc9e21a4653f294dfbe079da73c6378a6f47", - "sha256:ef14d75d86f104f03dea66c13188487151760ef25dd6b2dbd541885185f05f40", - "sha256:f26648e1b3b03b6022b48a9b910d0ae209e2d51f50441db5dce5b530fad6d9b1", - "sha256:f67472c09a0c7486e27f3275f617c964d25e35727af952869dd496b9b5b7f6a3" - ], - "markers": "python_version >= '3.7'", - "version": "==7.0.5" - }, - "exceptiongroup": { - "hashes": [ - "sha256:327cbda3da756e2de031a3107b81ab7b3770a602c4d16ca618298c526f4bec1e", - "sha256:bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23" - ], - "markers": "python_version < '3.11'", - "version": "==1.1.0" - }, - "execnet": { - "hashes": [ - "sha256:8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5", - "sha256:a295f7cc774947aac58dde7fdc85f4aa00c42adf5d8f5468fc630c1acf30a142" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==1.9.0" - }, - "iniconfig": { - "hashes": [ - "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", - "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" - ], - "markers": "python_version >= '3.7'", - "version": "==2.0.0" - }, - "packaging": { - "hashes": [ - "sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2", - "sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97" - ], - "markers": "python_version >= '3.7'", - "version": "==23.0" - }, - "pluggy": { - "hashes": [ - "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159", - "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3" - ], - "markers": "python_version >= '3.6'", - "version": "==1.0.0" - }, - "py-cpuinfo": { - "hashes": [ - "sha256:3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690", - "sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5" - ], - "version": "==9.0.0" - }, - "pytest": { - "hashes": [ - "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71", - "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59" - ], - "index": "pypi", - "version": "==7.2.0" - }, - "pytest-benchmark": { - "hashes": [ - "sha256:fb0785b83efe599a6a956361c0691ae1dbb5318018561af10f3e915caa0048d1", - "sha256:fdb7db64e31c8b277dff9850d2a2556d8b60bcb0ea6524e36e28ffd7c87f71d6" - ], - "index": "pypi", - "version": "==4.0.0" - }, - "pytest-cov": { - "hashes": [ - "sha256:2feb1b751d66a8bd934e5edfa2e961d11309dc37b73b0eabe73b5945fee20f6b", - "sha256:996b79efde6433cdbd0088872dbc5fb3ed7fe1578b68cdbba634f14bb8dd0470" - ], - "index": "pypi", - "version": "==4.0.0" - }, - "pytest-mock": { - "hashes": [ - "sha256:f4c973eeae0282963eb293eb173ce91b091a79c1334455acfac9ddee8a1c784b", - "sha256:fbbdb085ef7c252a326fd8cdcac0aa3b1333d8811f131bdcc701002e1be7ed4f" - ], - "index": "pypi", - "version": "==3.10.0" - }, - "pytest-xdist": { - "hashes": [ - "sha256:40fdb8f3544921c5dfcd486ac080ce22870e71d82ced6d2e78fa97c2addd480c", - "sha256:70a76f191d8a1d2d6be69fc440cdf85f3e4c03c08b520fd5dc5d338d6cf07d89" - ], - "index": "pypi", - "version": "==3.1.0" - }, - "tomli": { - "hashes": [ - "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", - "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" - ], - "markers": "python_version < '3.11'", - "version": "==2.0.1" - } - } -} 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)