From e2d5638113523be473c9d5a24cc6a59fc6885136 Mon Sep 17 00:00:00 2001 From: Matthias Wittgen Date: Mon, 31 Aug 2026 13:01:22 -0700 Subject: [PATCH 1/3] Replace getPackageDir by ResourcePath --- tests/test_promptSourceSchema.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tests/test_promptSourceSchema.py b/tests/test_promptSourceSchema.py index 2586c166d..fc06d7f29 100644 --- a/tests/test_promptSourceSchema.py +++ b/tests/test_promptSourceSchema.py @@ -33,13 +33,13 @@ import importlib.resources import lsst.utils.tests -from lsst.utils import getPackageDir +from lsst.resources import ResourcePath from lsst.pipe.tasks.postprocess import TransformSourceTableTask, TransformSourceTableConfig from lsst.pipe.tasks.schemaUtils import readSdmSchemaFile from lsst.pipe.tasks.split_primary import SplitPrimaryTask -FUNCTOR_FILE = os.path.join(getPackageDir("pipe_tasks"), "schemas", "prompt_source.yaml") +FUNCTOR_FILE = ResourcePath("eups://pipe_tasks/schemas/prompt_source.yaml") SCHEMA_FILE = importlib.resources.files("lsst.sdm.schemas") / "ap_extra.yaml" TABLE_NAME = "PromptSource" @@ -64,8 +64,9 @@ def setUpClass(cls): cls.schemaColumns = {column.name for column in schema[TABLE_NAME].columns} config = TransformSourceTableConfig() - config.functorFile = FUNCTOR_FILE - transformTask = TransformSourceTableTask(config=config) + with FUNCTOR_FILE.as_local() as local: + config.functorFile = local.ospath + transformTask = TransformSourceTableTask(config=config) producedColumns = set(transformTask.funcs.funcDict) | set(config.columnsFromDataId) # The final prompt_source table is output by splitPromptSource, which is configured From a029438d941222f8087535fff3302bcbb7c0f1af Mon Sep 17 00:00:00 2001 From: Matthias Wittgen Date: Mon, 31 Aug 2026 17:26:23 -0700 Subject: [PATCH 2/3] Add reources as dependency --- ups/pipe_tasks.table | 1 + 1 file changed, 1 insertion(+) diff --git a/ups/pipe_tasks.table b/ups/pipe_tasks.table index f2fa3b1a7..2c4dd7912 100644 --- a/ups/pipe_tasks.table +++ b/ups/pipe_tasks.table @@ -29,6 +29,7 @@ setupRequired(utils) setupRequired(verify) setupRequired(rubinoxide) setupRequired(cell_coadds) +setupRequired(resources) envPrepend(PYTHONPATH, ${PRODUCT_DIR}/python) envPrepend(PATH, ${PRODUCT_DIR}/bin) From 45ab66006933aa619b6b5ec77b0b800ca9e8e788 Mon Sep 17 00:00:00 2001 From: Matthias Wittgen Date: Thu, 3 Sep 2026 15:45:49 -0700 Subject: [PATCH 3/3] Use ResourcePath --- python/lsst/pipe/tasks/functors.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/lsst/pipe/tasks/functors.py b/python/lsst/pipe/tasks/functors.py index 1a96da20c..1340809e5 100644 --- a/python/lsst/pipe/tasks/functors.py +++ b/python/lsst/pipe/tasks/functors.py @@ -58,6 +58,7 @@ from astropy.coordinates import SkyCoord from lsst.daf.butler import DeferredDatasetHandle from lsst.pipe.base import InMemoryDatasetHandle +from lsst.resources import ResourcePath from lsst.utils import doImport from lsst.utils.introspection import get_full_type_name @@ -548,7 +549,7 @@ def renameCol(cls, col, renameRules): def from_file(cls, filename, **kwargs): # Allow environment variables in the filename. filename = os.path.expandvars(filename) - with open(filename) as f: + with ResourcePath(filename).open("r") as f: translationDefinition = yaml.safe_load(f) return cls.from_yaml(translationDefinition, **kwargs)