diff --git a/message_ix_models/report/util.py b/message_ix_models/report/util.py index f4d13542f4..0b5c8b9275 100644 --- a/message_ix_models/report/util.py +++ b/message_ix_models/report/util.py @@ -5,6 +5,7 @@ from dask.core import quote from genno import Quantity from genno.compat.pyam.util import collapse as genno_collapse +from genno.core.key import single_key from iam_units import registry from message_ix.reporting import Key, Reporter from sdmx.model.v21 import Code @@ -191,7 +192,7 @@ def copy_ts(rep: Reporter, other: str, filters: Optional[dict]) -> Key: k1 = rep.add("from_url", f"scenario {_id}", quote(other)) k2 = rep.add("get_ts", f"ts data {_id}", k1, filters) - return rep.add("store_ts", f"copy ts {_id}", "scenario", k2) + return single_key(rep.add("store_ts", f"copy ts {_id}", "scenario", k2)) def add_replacements(dim: str, codes: Iterable[Code]) -> None: diff --git a/message_ix_models/workflow.py b/message_ix_models/workflow.py index d9d303088f..55b6e02e17 100644 --- a/message_ix_models/workflow.py +++ b/message_ix_models/workflow.py @@ -191,7 +191,7 @@ def add_step( self.graph.pop(name, None) # Add to the Computer; return the name of the added step - return self.add_single(name, step, "context", base, strict=True) + return str(self.add_single(name, step, "context", base, strict=True)) def run(self, name_or_names: Union[str, List[str]]): """Run all workflow steps necessary to produce `name_or_names`. diff --git a/pyproject.toml b/pyproject.toml index eefff7b84f..a1e7b12032 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,12 +5,10 @@ requires = ["build", "setuptools-scm"] dynamic = ["version"] name = "message-ix-models" description = "Tools for the MESSAGEix-GLOBIOM family of models" -authors = [ - {name = "IIASA Energy, Climate, and Environment (ECE) Program"}, -] +authors = [{ name = "IIASA Energy, Climate, and Environment (ECE) Program" }] maintainers = [ - {name = "Paul Natsuo Kishimoto", email = "mail@paul.kishimoto.name"}, - {name = "Fridolin Glatter", email = "glatter@iiasa.ac.at"}, + { name = "Paul Natsuo Kishimoto", email = "mail@paul.kishimoto.name" }, + { name = "Fridolin Glatter", email = "glatter@iiasa.ac.at" }, ] readme = "README.rst" classifiers = [ @@ -28,7 +26,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: R", "Topic :: Scientific/Engineering", - "Topic :: Scientific/Engineering :: Information Analysis" + "Topic :: Scientific/Engineering :: Information Analysis", ] requires-python = ">=3.8" dependencies = [ @@ -36,7 +34,7 @@ dependencies = [ "colorama", # When the minimum is greater than the minimum via message_ix; e.g. # message_ix >= 3.4.0 → ixmp >= 3.4.0 → genno >= 1.6.0", - "genno >= 1.8.0", + "genno >= 1.18.0", "iam_units", "message_ix >= 3.4.0", "pooch",