diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..8e29ba84 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,79 @@ +[build-system] +requires = ["setuptools >= 64", "setuptools-scm>=8.0"] +build-backend = "setuptools.build_meta" + +[project] +name = "bluepyopt" +authors = [ + {name = "Blue Brain Project, EPFL", email = "werner.vangeit@epfl.ch"}, +] +description=Bluebrain Python Optimisation Library (bluepyopt)" +readme = "README.rst" +license = {file = "LICENSE.txt"} +requires-python = ">= 3.9" +dynamic = ["version"] +dependencies = [ + "numpy>=1.6", + "pandas>=0.18", + "deap>=1.3.3", + "efel>=2.13", + "ipyparallel", + "pickleshare>=0.7.3", + "Jinja2>=2.8", + "Pebble>=4.6.0", + "NEURON>=7.8", +] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "License :: OSI Approved :: GNU Lesser General Public " + "License v3 (LGPLv3)", + "Programming Language :: Python :: 3 :: Only", + "Operating System :: POSIX", + "Topic :: Scientific/Engineering", + "Topic :: Utilities", +] +keywords = [ + "optimisation", + "neuroscience", + "BlueBrainProject" +] + +[project.optional-dependencies] +all = ["scoop>=0.7", "pyneuroml>=0.5.20", "libNeuroML>=0.3.1", "LFPy>=2.3", "arbor>=0.10"] +tests = ["pyneuroml>=0.5.20", "libNeuroML>=0.3.1", "LFPy>=2.3", "arbor>=0.10"] +scoop = ["scoop>=0.7"] +neuroml = ["pyneuroml>=0.5.20", "libNeuroML>=0.3.1"] +lfpy = ["LFPy>=2.3"] +arbor = ["arbor>=0.10"] + +[project.urls] +Homepage = "https://github.com/BlueBrain/BluePyOpt" +Source = "https://github.com/BlueBrain/BluePyOpt" +Repository = "https://github.com/BlueBrain/BluePyOpt.git" +Tracker = "https://github.com/BlueBrain/BluePyOpt/issues" +Documentation = "https://bluepyopt.readthedocs.io/en/latest" + +[project.scripts] +bpopt_tasksdb = "bluepyopt:ipyp.bpopt_tasksdb.main" + +[tool.setuptools] +include-package-data = true + +[tool.setuptools.package-data] +bluepyopt = [ + "ephys/static/arbor_mechanisms.json", + "ephys/templates/cell_template.jinja2", + "ephys/templates/acc/_json_template.jinja2", + "ephys/templates/acc/decor_acc_template.jinja2", + "ephys/templates/acc/label_dict_acc_template.jinja2", + "ephys/examples/simplecell/simple.swc", + "neuroml/NeuroML2_mechanisms/*.nml" +] + +[tool.setuptools.packages.find] +exclude = ["examples*"] + +[tool.setuptools_scm] +version_scheme = "python-simplified-semver" +local_scheme = "no-local-version"