diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml index 31db2bb..c00e238 100644 --- a/.github/workflows/test-package.yml +++ b/.github/workflows/test-package.yml @@ -13,12 +13,12 @@ jobs: fail-fast: false matrix: os: ['ubuntu-latest', 'macos-latest', 'windows-latest'] - python-version: ['3.8', '3.9', '3.10'] + python-version: ['3.9', '3.10', '3.11', '3.12'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: 'pip' @@ -29,7 +29,7 @@ jobs: python -m pip install flake8 python -m pip install jinja2 python -m pip install -e . - python -m pip install kvxopt + python -m pip install cvxopt - name: Lint with flake8 run: | diff --git a/.github/workflows/test-wheel.yml b/.github/workflows/test-wheel.yml index 3ea0136..c6e2a97 100644 --- a/.github/workflows/test-wheel.yml +++ b/.github/workflows/test-wheel.yml @@ -12,12 +12,12 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.8', '3.9', '3.10'] + python-version: ['3.9', '3.10', '3.11', '3.12'] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: 'pip' diff --git a/CHANGELOG.md b/CHANGELOG.md index 57e46da..2b5e302 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# 4.2.1 (2024/03/14) + +- Maintenance release that updates the version requirements for dependencies. +- Support for Python 3.8 has been dropped due to minimum requirements set by one or more dependencies. +- Support for Python 3.11 and 3.12 has been added. + + # 4.2.0 (2023/04/03) - Added support for choosing between multiple approaches to suggesting the regularization parameter (lambda) in DRT methods utilizing Tikhonov regularization. diff --git a/LICENSES/LICENSE-Jinja.txt b/LICENSES/LICENSE-Jinja.txt new file mode 100644 index 0000000..c37cae4 --- /dev/null +++ b/LICENSES/LICENSE-Jinja.txt @@ -0,0 +1,28 @@ +Copyright 2007 Pallets + +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 +HOLDER 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/README.md b/LICENSES/README.md index d9843c3..dcf0a4c 100644 --- a/LICENSES/README.md +++ b/LICENSES/README.md @@ -33,6 +33,11 @@ - License: MIT - _pyimpspec_ copied code to implement linear Kramers-Kronig tests using matrix solvers. +# Jinja +- https://github.com/pallets/jinja/ +- License: BSD 3-clause +- Dependency via _pyimpspec_. + # lmfit - https://github.com/lmfit/lmfit-py - License: BSD 3-clause diff --git a/dev-requirements.txt b/dev-requirements.txt index ebcda69..ad8b0bd 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,5 +1,5 @@ -build~=0.10 +build~=1.1 flake8~=6.0 -setuptools~=67.2 -sphinx~=5.3 -sphinx-rtd-theme~=1.2 \ No newline at end of file +setuptools~=69.2 +sphinx~=7.2 +sphinx-rtd-theme~=2.0 \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 18a14a8..96256d6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ -dearpygui==1.8.0 -pyimpspec~=4.1 -requests~=2.28 \ No newline at end of file +dearpygui~=1.11 +pyimpspec>=4.1.1, == 4.* +requests~=2.31 \ No newline at end of file diff --git a/setup.py b/setup.py index 32f9c6a..b124060 100644 --- a/setup.py +++ b/setup.py @@ -11,29 +11,29 @@ } dependencies = [ - "dearpygui==1.8.0", # Used to implement the GUI. - "pyimpspec~=4.1", # Used for parsing, fitting, and analyzing impedance spectra. - "requests~=2.28", # Used to check package status on PyPI. + "dearpygui~=1.11", # Used to implement the GUI. + "pyimpspec>=4.1.1, == 4.*", # Used for parsing, fitting, and analyzing impedance spectra. + "requests~=2.31", # Used to check package status on PyPI. ] dev_dependencies = [ - "build~=0.10", + "build~=1.1", "flake8~=6.0", - "setuptools~=67.2", - "sphinx~=5.3", - "sphinx-rtd-theme~=1.2", + "setuptools~=69.2", + "sphinx~=7.2", + "sphinx-rtd-theme~=2.0", ] optional_dependencies = { "cvxopt": "cvxopt~=1.3", # Used in the DRT calculations (TR-RBF method) "kvxopt": "kvxopt~=1.3", # Fork of cvxopt that may provide wheels for additional platforms - "cvxpy": "cvxpy~=1.3", # Used in the DRT calculations (TR-RBF method) + "cvxpy": "cvxpy~=1.4", # Used in the DRT calculations (TR-RBF method) "dev": dev_dependencies, } # The version number defined below is propagated to /src/deareis/version.py # when running this script. -version = "4.2.0" +version = "4.2.1" if __name__ == "__main__": with open("requirements.txt", "w") as fp: @@ -70,16 +70,17 @@ entry_points=entry_points, install_requires=dependencies, extras_require=optional_dependencies, - python_requires=">=3.8", + python_requires=">=3.9", classifiers=[ "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3 :: Only", "Topic :: Scientific/Engineering :: Chemistry", "Topic :: Scientific/Engineering :: Physics", diff --git a/src/deareis/version.py b/src/deareis/version.py index 67161aa..281e7fc 100644 --- a/src/deareis/version.py +++ b/src/deareis/version.py @@ -17,4 +17,4 @@ # The licenses of DearEIS' dependencies and/or sources of portions of code are included in # the LICENSES folder. -PACKAGE_VERSION: str = "4.2.0" \ No newline at end of file +PACKAGE_VERSION: str = "4.2.1" \ No newline at end of file diff --git a/tests/run_tests.bat b/tests/run_api_tests.bat similarity index 100% rename from tests/run_tests.bat rename to tests/run_api_tests.bat diff --git a/tests/run_gui_tests.bat b/tests/run_gui_tests.bat new file mode 100644 index 0000000..4ffb5c5 --- /dev/null +++ b/tests/run_gui_tests.bat @@ -0,0 +1,21 @@ +:: DearEIS is licensed under the GPLv3 or later (https://www.gnu.org/licenses/gpl-3.0.html). +:: Copyright 2023 DearEIS developers +:: +:: This program is free software: you can redistribute it and/or modify +:: it under the terms of the GNU General Public License as published by +:: the Free Software Foundation, either version 3 of the License, or +:: (at your option) any later version. +:: +:: This program is distributed in the hope that it will be useful, +:: but WITHOUT ANY WARRANTY; without even the implied warranty of +:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +:: GNU General Public License for more details. +:: +:: You should have received a copy of the GNU General Public License +:: along with this program. If not, see . +:: +:: The licenses of DearEIS' dependencies and/or sources of portions of code are included in +:: the LICENSES folder. + +py -c "from deareis.program import main; from test_gui import setup_tests; setup_tests(); main()" + diff --git a/version.txt b/version.txt index ef8d756..d87edbf 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -4.2.0 \ No newline at end of file +4.2.1 \ No newline at end of file