From 6c84e231d4e64d91eda8be17ac324b8ade33d6fa 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 2916bb0d1..669b06b62 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 2e16d286d7aefef9aa481122f1b137e11c1eebd5 Mon Sep 17 00:00:00 2001 From: Ralf Gommers Date: Sat, 26 Oct 2024 05:03:11 +0200 Subject: [PATCH 2/4] BLD: require meson-python >=0.18.0 for PEP 639 support --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1de84bfbc..c93dcf6b7 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", "Cython>=3.0.4", # numpy requirement for wheel builds for distribution on PyPI - building From 546d6c04c62c0b22f35fd006bb4700f86b9e70b0 Mon Sep 17 00:00:00 2001 From: Ralf Gommers Date: Sat, 26 Oct 2024 04:34:25 +0200 Subject: [PATCH 3/4] MAINT: update license metadata to use PEP 639 style license and SPDX expression Treat license files for vendored code correctly by including the 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 | 9 +++++---- 5 files changed, 77 insertions(+), 14 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 c93dcf6b7..50530d5a0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,9 +23,11 @@ requires = [ [project] name = "PyWavelets" version = "1.9.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 and BSD-3-Clause" +license-files = [ + "LICENSE", + "licenses_bundled/LICENSE_*", +] maintainers = [ {name = "The PyWavelets Developers", email = "pywavelets@googlegroups.com"} ] @@ -38,7 +40,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 576a8f1e7bf02519ce455a802c881b5491635c5f Mon Sep 17 00:00:00 2001 From: Ralf Gommers Date: Sun, 27 Jul 2025 20:52:30 +0200 Subject: [PATCH 4/4] MAINT: minor tweak to build requirement for Python 3.14 Also add PyPI classifier for 3.14 --- pyproject.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 50530d5a0..3b81d6edb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,6 +18,7 @@ requires = [ # disabling build isolation. "numpy>=2.0.0; python_version<'3.13'", "numpy>=2.1.0; python_version>='3.13'", + "numpy>=2.3.2; python_version>='3.14'", ] [project] @@ -47,6 +48,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Software Development :: Libraries :: Python Modules" ]