From 68e5752503471a2ae8eea898cdb273d6bbf5d2ec Mon Sep 17 00:00:00 2001 From: KOLANICH Date: Sun, 12 Feb 2023 22:30:11 +0300 Subject: [PATCH 1/3] Fix the URLs in package metadata --- setup.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index b79a0d12..8c871af6 100644 --- a/setup.py +++ b/setup.py @@ -133,8 +133,8 @@ setup(name = 'GPy', long_description = desc, license = "BSD 3-clause", keywords = "machine-learning gaussian-processes kernels", - url = "http://sheffieldml.github.com/GPy/", - download_url='https://github.com/SheffieldML/GPy/', + 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", @@ -201,7 +201,10 @@ setup(name = 'GPy', '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", + } ) From 1f34225fc8bcf6d46d867ab414b9f1d239068e7d Mon Sep 17 00:00:00 2001 From: KOLANICH Date: Mon, 13 Feb 2023 00:49:03 +0300 Subject: [PATCH 2/3] Move the most of metadata into `setup.cfg`. Add `pyproject.toml` according to PEP 517. --- pyproject.toml | 3 ++ setup.cfg | 87 +++++++++++++++++++++++++++++++++++++++++++++++--- setup.py | 86 +------------------------------------------------ 3 files changed, 87 insertions(+), 89 deletions(-) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..2e712730 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["setuptools>=42.2", "numpy>=1.7",] +build-backend = "setuptools.build_meta" diff --git a/setup.cfg b/setup.cfg index 913a7c55..6196879f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,3 +1,86 @@ +[metadata] +name = GPy +author_email = gpy.authors@gmail.com +license = BSD-3-Clause +description = The Gaussian Process Toolbox +keywords = + machine-learning + gaussian-processes + kernels +url = https://sheffieldml.github.io/GPy/ +download_url = https://github.com/SheffieldML/GPy/archive/refs/heads/devel.zip +long_description = file: README.rst +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 + +[options] +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 +setup_requires = numpy>=1.7 +install_requires = + 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' +include_package_data = True +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.9.9 tag = True @@ -9,7 +92,3 @@ commit = True [upload_docs] upload-dir = doc/build/html - -[medatdata] -description-file = README.rst - diff --git a/setup.py b/setup.py index 8c871af6..8d22fa58 100644 --- a/setup.py +++ b/setup.py @@ -117,94 +117,10 @@ try: except ModuleNotFoundError: ext_mods = [] -install_requirements = ['numpy>=1.7', 'six', 'paramz>=0.9.0', 'cython>=0.29'] -matplotlib_version = 'matplotlib==3.3.4' -if sys.version_info < (3, 6): - install_requirements += ['scipy>=1.3.0,<1.5.0'] - matplotlib_version = 'matplotlib==3.0.0' -else: - install_requirements += ['scipy>=1.3.0'] - -setup(name = 'GPy', +setup( 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", - 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', - ], - }, - 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", - } ) From 232b63121dddf92183be08862980ee381915ff52 Mon Sep 17 00:00:00 2001 From: KOLANICH Date: Mon, 13 Feb 2023 01:00:17 +0300 Subject: [PATCH 3/3] Move the most of metadata into `PEP 621`-compliant `pyproject.toml`. --- pyproject.toml | 86 +++++++++++++++++++++++++++++++++++++++++++++++++- setup.cfg | 66 -------------------------------------- 2 files changed, 85 insertions(+), 67 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 2e712730..27368386 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,87 @@ [build-system] -requires = ["setuptools>=42.2", "numpy>=1.7",] +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 6196879f..5f1ec12a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,70 +1,4 @@ -[metadata] -name = GPy -author_email = gpy.authors@gmail.com -license = BSD-3-Clause -description = The Gaussian Process Toolbox -keywords = - machine-learning - gaussian-processes - kernels -url = https://sheffieldml.github.io/GPy/ -download_url = https://github.com/SheffieldML/GPy/archive/refs/heads/devel.zip -long_description = file: README.rst -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 - [options] -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 -setup_requires = numpy>=1.7 -install_requires = - 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' -include_package_data = True test_suite = GPy.testing [options.extras_require]