Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Python 3.11 #481

Merged
merged 6 commits into from
May 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ jobs:
lint:
uses: iiasa/actions/.github/workflows/lint.yaml@main
with:
# If the "Latest version testable on GitHub Actions" in pytest.yaml
# is not the latest 3.x stable version, adjust here to match:
python-version: "3.10"
type-hint-packages: pytest genno GitPython nbclient nbformat xarray sphinx
type-hint-packages: >-
genno
GitPython
nbclient
pytest
sphinx
xarray
18 changes: 7 additions & 11 deletions .github/workflows/pytest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,8 @@ jobs:
- "3.7" # Earliest version supported by ixmp
- "3.8"
- "3.9"
- "3.10" # Latest supported by ixmp

# For fresh releases and development versions of Python, compiled
# binary wheels are not available for some dependencies, e.g. llvmlite,
# numba, numpy, and/or pandas. Compiling these on the job runner
# requires a more elaborate build environment, currently out of scope
# for the ixmp project.
# - "3.11" # Latest release; pending numba/numba#8304
# - "3.12.0-alpha.1" # Development version
- "3.10"
- "3.11" # Latest supported by ixmp

# commented: force a specific version of pandas, for e.g. pre-release
# testing
Expand Down Expand Up @@ -103,10 +96,13 @@ jobs:
- name: Install Python package and dependencies
run: |
pip install .[tests]

# commented: use with "pandas-version" in the matrix, above
# pip install --upgrade pandas${{ matrix.pandas-version }}
# TEMPORARY work around iiasa/ixmp#463
pip install "JPype1 != 1.4.1"

- name: TEMPORARY Work around iiasa/ixmp#463
if: matrix.python-version != '3.11'
run: pip install "JPype1 != 1.4.1"

- name: Install R dependencies and tutorial requirements
run: |
Expand Down
1 change: 1 addition & 0 deletions RELEASE_NOTES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Next release
All changes
-----------

- :mod:`ixmp` is tested and compatible with `Python 3.11 <https://www.python.org/downloads/release/python-3110/>`__ (:pull:`481`).
- :mod:`ixmp` is tested and compatible with `pandas 2.0.0 <https://pandas.pydata.org/pandas-docs/version/2.0/whatsnew/v2.0.0.html>`__ (:pull:`471`).
Note that `pandas 1.4.0 dropped support for Python 3.7 <https://pandas.pydata.org/docs/whatsnew/v1.4.0.html#increased-minimum-version-for-python>`__: thus while :mod:`ixmp` still supports Python 3.7 this is achieved with pandas 1.3.x, which may not receive further updates (the last patch release was in December 2021).
Support for Python 3.7 will be dropped in a future version of :mod:`ixmp`, and users are encouraged to upgrade to a newer version of Python.
Expand Down
5 changes: 1 addition & 4 deletions doc/references.bib
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
@article{huppmann_messageix_2018,
author = {Huppmann, Daniel and Gidden, Matthew and Fricko, Oliver and
Kolp, Peter and Orthofer, Clara and Pimmer, Michael and
Kushin, Nikolay and Vinca, Adriano and Mastrucci, Alessio and
Riahi, Keywan and Krey, Volker},
author = {Huppmann, Daniel and Gidden, Matthew and Fricko, Oliver and Kolp, Peter and Orthofer, Clara and Pimmer, Michael and Kushin, Nikolay and Vinca, Adriano and Mastrucci, Alessio and Riahi, Keywan and Krey, Volker},
title = {{The MESSAGEix Integrated Assessment Model and the ix modeling platform (ixmp): An open framework for integrated and cross-cutting analysis of energy, climate, the environment, and sustainable development}},
journal = {Environmental Modelling \& Software},
volume = {112},
Expand Down
6 changes: 4 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,16 @@ classifiers = [
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: R",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Information Analysis",
]
dependencies = [
"click",
"genno >= 1.12.0",
'importlib_metadata; python_version < "3.8"',
"genno <= 1.13; python_version < '3.8'",
"genno >= 1.16; python_version >= '3.8'",
"importlib_metadata; python_version < '3.8'",
"JPype1 >= 1.2.1",
"openpyxl",
"pandas >= 1.2",
Expand Down