diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 3c3e5d6..83b1f86 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -16,25 +16,23 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v3 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - - name: Install dependencies + - name: Install package run: | python -m pip install --upgrade pip - python -m pip install flake8 pytest - if (Test-Path requirements.txt) { python -m pip install -r requirements.txt } + python -m pip install ".[test]" flake8 - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - # - name: Test with pytest - # run: | - # pytest TODO need to turn off my env var first + - name: Test with pytest + run: python -m pytest -m "not integration" diff --git a/CHANGELOG.md b/CHANGELOG.md index c18f45c..61b23c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +[0.1.5] - 2026-08-05 +-------------------- + +**Changed** +- Corrected the supported Python range to 3.9 through 3.14 +- Removed the NumPy 1.x restriction to support NumPy 2 +- Made CI install ESApp and run the offline test suite across every supported Python version + [0.1.4] - 2026-06-05 -------------------- diff --git a/VERSION b/VERSION index 845639e..9faa1b7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.4 +0.1.5 diff --git a/pyproject.toml b/pyproject.toml index 4271d8e..00f2f73 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ name = "esapp" dynamic = ["version"] description = "ESA++ is an open-source power-grid toolkit." readme = "README.rst" -requires-python = ">=3.7" +requires-python = ">=3.9" license = {text = "Apache License 2.0"} authors = [ {name = "Adam Birchfield", email = "abirchfield@tamu.edu"}, @@ -31,10 +31,12 @@ keywords = [ ] classifiers = [ "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.7", - "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.13", + "Programming Language :: Python :: 3.14", "License :: OSI Approved :: Apache Software License", "Operating System :: Microsoft :: Windows", "Development Status :: 5 - Production/Stable", @@ -49,7 +51,7 @@ classifiers = [ ] dependencies = [ "pandas", - "numpy<2.0", + "numpy", "scipy", "pywin32; sys_platform == 'win32'", ]