From 617ff5f844c6e1f331743f0af71f44b5a99c732d Mon Sep 17 00:00:00 2001 From: Ralf Gommers Date: Sat, 26 Oct 2024 04:33:59 +0200 Subject: [PATCH 1/4] DOC: update copyright end date in license file --- LICENSE | 2 +- pywt/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSE b/LICENSE index 0f67833e6..d61b491ba 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ Copyright (c) 2006-2012 Filip Wasilewski -Copyright (c) 2012-2020 The PyWavelets Developers +Copyright (c) 2012- The PyWavelets Developers Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/pywt/__init__.py b/pywt/__init__.py index 3720f5504..c0d466262 100644 --- a/pywt/__init__.py +++ b/pywt/__init__.py @@ -1,7 +1,7 @@ # flake8: noqa # Copyright (c) 2006-2012 Filip Wasilewski -# Copyright (c) 2012-2020 The PyWavelets Developers +# Copyright (c) 2012- The PyWavelets Developers # # See LICENSE for more details. From 2d9cc3480367d997391f3a8f764c57d80a551557 Mon Sep 17 00:00:00 2001 From: Ralf Gommers Date: Sat, 26 Oct 2024 04:34:25 +0200 Subject: [PATCH 2/4] MAINT: update license metadata to use PEP 639 style license and SPDX expression --- pyproject.toml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 4326ffa9d..c22602d8a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,9 +23,8 @@ requires = [ [project] name = "PyWavelets" version = "1.8.0.dev0" -# TODO: add `license-files` once PEP 639 is accepted (see meson-python#88) -# at that point, no longer include them in `py3.install_sources()` -license = {file = "LICENSE"} +license = "MIT" +license-files = ["LICENSE"] maintainers = [ {name = "The PyWavelets Developers", email = "pywavelets@googlegroups.com"} ] @@ -38,7 +37,6 @@ classifiers = [ "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: Science/Research", - "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: C", "Programming Language :: Python", From 3d31cacfc072f04704a2d096f5e390975e8cd5af Mon Sep 17 00:00:00 2001 From: Ralf Gommers Date: Sat, 26 Oct 2024 04:58:34 +0200 Subject: [PATCH 3/4] MAINT: treat license files for vendored code more correctly Include full text of NumPy and SciPy license files, as required by the BSD licenses of those projects. --- LICENSES_bundled.txt | 10 ---------- licenses_bundled/LICENSE_numpy.txt | 30 ++++++++++++++++++++++++++++++ licenses_bundled/LICENSE_scipy.txt | 30 ++++++++++++++++++++++++++++++ licenses_bundled/README.txt | 12 ++++++++++++ pyproject.toml | 8 ++++++-- 5 files changed, 78 insertions(+), 12 deletions(-) delete mode 100644 LICENSES_bundled.txt create mode 100644 licenses_bundled/LICENSE_numpy.txt create mode 100644 licenses_bundled/LICENSE_scipy.txt create mode 100644 licenses_bundled/README.txt diff --git a/LICENSES_bundled.txt b/LICENSES_bundled.txt deleted file mode 100644 index c016032a9..000000000 --- a/LICENSES_bundled.txt +++ /dev/null @@ -1,10 +0,0 @@ -The PyWavelets repository and source distributions bundle some code that is -adapted from compatibly licensed projects. We list these here. - -Name: NumPy -Files: pywt/_pytesttester.py -License: 3-clause BSD - -Name: SciPy -Files: meson.build, util/* -License: 3-clause BSD diff --git a/licenses_bundled/LICENSE_numpy.txt b/licenses_bundled/LICENSE_numpy.txt new file mode 100644 index 000000000..6ccec6824 --- /dev/null +++ b/licenses_bundled/LICENSE_numpy.txt @@ -0,0 +1,30 @@ +Copyright (c) 2005-2024, NumPy Developers. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of the NumPy Developers nor the names of any + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses_bundled/LICENSE_scipy.txt b/licenses_bundled/LICENSE_scipy.txt new file mode 100644 index 000000000..117117616 --- /dev/null +++ b/licenses_bundled/LICENSE_scipy.txt @@ -0,0 +1,30 @@ +Copyright (c) 2001-2002 Enthought, Inc. 2003-2024, SciPy Developers. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses_bundled/README.txt b/licenses_bundled/README.txt new file mode 100644 index 000000000..ce889ac72 --- /dev/null +++ b/licenses_bundled/README.txt @@ -0,0 +1,12 @@ +The PyWavelets repository and source distributions bundle some code that is +adapted from compatibly licensed projects. We list these here, together with +the path to the files (relative to the root of the repository or sdist) +identifying the vendored code that required including a license file. + +Name: NumPy +Files: pywt/_pytesttester.py +License: BSD-3-Clause + +Name: SciPy +Files: meson.build, util/* +License: BSD-3-Clause diff --git a/pyproject.toml b/pyproject.toml index c22602d8a..af4577682 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,8 +23,12 @@ requires = [ [project] name = "PyWavelets" version = "1.8.0.dev0" -license = "MIT" -license-files = ["LICENSE"] +license = "MIT and BSD-3-Clause" +license-files = [ + "LICENSE", + "licenses_bundled/LICENSE_*", + "licenses_bundled/README.txt", +] maintainers = [ {name = "The PyWavelets Developers", email = "pywavelets@googlegroups.com"} ] From f5c964f8bd4b471acef2aa60ec11099713181e7b Mon Sep 17 00:00:00 2001 From: Ralf Gommers Date: Sat, 26 Oct 2024 05:03:11 +0200 Subject: [PATCH 4/4] BLD: require meson-python >=0.18.0.dev0 for PEP 639 support [ci skip] --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index af4577682..0491dad9d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ [build-system] build-backend = "mesonpy" requires = [ - "meson-python>=0.16.0", + "meson-python>=0.18.0.dev0", "Cython>=3.0.4", # numpy requirement for wheel builds for distribution on PyPI - building