diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..27368386 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,87 @@ +[build-system] +requires = ["setuptools>=61.2", "numpy>=1.7",] +build-backend = "setuptools.build_meta" + +[project] +name = "GPy" +authors = [{name = "GPy Authors: https://github.com/SheffieldML/GPy/graphs/contributors", email = "gpy.authors@gmail.com"},] +license = {text = "BSD-3-Clause"} +description = "The Gaussian Process Toolbox" +readme = "README.rst" +keywords = ["machine-learning", "gaussian-processes", "kernels",] +classifiers = [ + "License :: OSI Approved :: BSD License", + "Natural Language :: English", + "Operating System :: MacOS :: MacOS X", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX :: Linux", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Framework :: IPython", + "Intended Audience :: Science/Research", + "Intended Audience :: Developers", + "Topic :: Software Development", + "Topic :: Software Development :: Libraries :: Python Modules", +] +dependencies = [ + "numpy>=1.7", + "six", + "paramz>=0.9.0", + "cython>=0.29", + "scipy>=1.3.0; python_version >= '3.6'", + "scipy>=1.3.0,<1.5.0; python_version < '3.6'", +] +dynamic = ["version",] + +[project.urls] +Homepage = "https://sheffieldml.github.io/GPy/" +Download = "https://github.com/SheffieldML/GPy/archive/refs/heads/devel.zip" +"Source Code" = "https://github.com/SheffieldML/GPy" +"Bug Tracker" = "https://github.com/SheffieldML/GPy/issues" + +[project.optional-dependencies] +docs = ["sphinx"] +optional = ["mpi4py", "ipython>=4.0.0"] +plotting = [ + "matplotlib==3.3.4; python_version >= '3.6'", + "matplotlib==3.0.0; python_version < '3.6'", + "plotly >= 1.8.6", +] +notebook = [ + "jupyter_client >= 4.0.6", + "ipywidgets >= 4.0.3", + "ipykernel >= 4.1.0", + "notebook >= 4.0.5", +] + +[tool.setuptools] +package-dir = {GPy = "GPy"} +py-modules = ["GPy.__init__"] +packages = [ + "GPy", + "GPy.core", + "GPy.core.parameterization", + "GPy.kern", + "GPy.kern.src", + "GPy.kern.src.psi_comp", + "GPy.models", + "GPy.inference", + "GPy.inference.optimization", + "GPy.inference.mcmc", + "GPy.inference.latent_function_inference", + "GPy.likelihoods", + "GPy.mappings", + "GPy.examples", + "GPy.testing", + "GPy.util", + "GPy.plotting", + "GPy.plotting.gpy_plot", + "GPy.plotting.matplot_dep", + "GPy.plotting.matplot_dep.controllers", + "GPy.plotting.plotly_dep", +] +include-package-data = true +#test-suite = "GPy.testing" diff --git a/setup.cfg b/setup.cfg index 9884e166..e6a4275a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,3 +1,20 @@ +[options] +test_suite = GPy.testing + +[options.extras_require] +docs = sphinx +optional = mpi4py; ipython>=4.0.0 +# matplotlib Version see github issue #955 +plotting = + matplotlib==3.3.4; python_version >= '3.6' + matplotlib==3.0.0; python_version < '3.6' + plotly >= 1.8.6 +notebook = + jupyter_client >= 4.0.6 + ipywidgets >= 4.0.3 + ipykernel >= 4.1.0 + notebook >= 4.0.5 + [bumpversion] current_version = 1.13.1 tag = True @@ -7,7 +24,3 @@ commit = True [upload_docs] upload-dir = doc/build/html - -[medatdata] -description-file = README.md - diff --git a/setup.py b/setup.py index d63b6812..d5f07e24 100644 --- a/setup.py +++ b/setup.py @@ -139,103 +139,10 @@ try: except ModuleNotFoundError: ext_mods = [] -install_requirements = [ - "numpy>=1.7", - "six", - "paramz>=0.9.6", - "cython>=0.29", -] -# 'some-pkg @ git+ssh://git@github.com/someorgname/pkg-repo-name@v1.1#egg=some-pkg', -matplotlib_version = "matplotlib==3.3.4" -install_requirements += ["scipy>=1.3.0,<=1.12.0"] - setup( - name="GPy", version=__version__, author=read_to_rst("AUTHORS.txt"), - author_email="gpy.authors@gmail.com", - description=("The Gaussian Process Toolbox"), - long_description=desc, - license="BSD 3-clause", - python_requires=">=3.9", - keywords="machine-learning gaussian-processes kernels", - url="https://sheffieldml.github.io/GPy/", - download_url="https://github.com/SheffieldML/GPy/archive/refs/heads/devel.zip", ext_modules=ext_mods, - packages=[ - "GPy", - "GPy.core", - "GPy.core.parameterization", - "GPy.kern", - "GPy.kern.src", - "GPy.kern.src.psi_comp", - "GPy.models", - "GPy.inference", - "GPy.inference.optimization", - "GPy.inference.mcmc", - "GPy.inference.latent_function_inference", - "GPy.likelihoods", - "GPy.mappings", - "GPy.examples", - "GPy.testing", - "GPy.util", - "GPy.plotting", - "GPy.plotting.gpy_plot", - "GPy.plotting.matplot_dep", - "GPy.plotting.matplot_dep.controllers", - "GPy.plotting.plotly_dep", - ], - package_dir={"GPy": "GPy"}, - # package_data = {'GPy': ['defaults.cfg', 'installation.cfg', - # 'util/data_resources.json', - # 'util/football_teams.json', - # 'testing/plotting_tests/baseline/*.png' - # ]}, - # data_files=[('GPy/testing/plotting_tests/baseline', 'testing/plotting_tests/baseline/*.png'), - # ('GPy/testing/', 'GPy/testing/pickle_test.pickle'), - # ], - include_package_data=True, - py_modules=["GPy.__init__"], - test_suite="GPy.testing", - setup_requires=["numpy>=1.7"], - install_requires=install_requirements, - extras_require={ - "docs": ["sphinx"], - "optional": [ - "mpi4py", - "ipython>=4.0.0", - ], - # matplotlib Version see github issue #955 - "plotting": [matplotlib_version, "plotly >= 1.8.6"], - "notebook": [ - "jupyter_client >= 4.0.6", - "ipywidgets >= 4.0.3", - "ipykernel >= 4.1.0", - "notebook >= 4.0.5", - ], - "dev": ["pytest", "matplotlib", "pods"], - }, - classifiers=[ - "License :: OSI Approved :: BSD License", - "Natural Language :: English", - "Operating System :: MacOS :: MacOS X", - "Operating System :: Microsoft :: Windows", - "Operating System :: POSIX :: Linux", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Framework :: IPython", - "Intended Audience :: Science/Research", - "Intended Audience :: Developers", - "Topic :: Software Development", - "Topic :: Software Development :: Libraries :: Python Modules", - ], - project_urls={ - "Source Code": "https://github.com/SheffieldML/GPy", - "Bug Tracker": "https://github.com/SheffieldML/GPy/issues", - }, )