apd.snakemake broken in snakemake 8
Snakemake 8 introduces many new designs, and also breaks some backward compatibilities. For example, snakemake 8 abandoned remote providers in favor of snakemake storage plugins. Using apd.snakemake
on snakemake 8 will generate errors like this
Full Traceback (most recent call last):
File "/disk401/lhcb/laf/mambaforge/envs/snakemake/lib/python3.12/site-packages/snakemake/cli.py", line 1987, in args_to_api
dag_api = workflow_api.dag(
^^^^^^^^^^^^^^^^^
File "/disk401/lhcb/laf/mambaforge/envs/snakemake/lib/python3.12/site-packages/snakemake/api.py", line 328, in dag
return DAGApi(
^^^^^^^
File "<string>", line 6, in __init__
File "/disk401/lhcb/laf/mambaforge/envs/snakemake/lib/python3.12/site-packages/snakemake/api.py", line 438, in __post_init__
self.workflow_api._workflow.dag_settings = self.dag_settings
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/disk401/lhcb/laf/mambaforge/envs/snakemake/lib/python3.12/site-packages/snakemake/api.py", line 386, in _workflow
workflow.include(
File "/disk401/lhcb/laf/mambaforge/envs/snakemake/lib/python3.12/site-packages/snakemake/workflow.py", line 1398, in include
exec(compile(code, snakefile.get_path_or_uri(), "exec"), self.globals)
File "/disk411/lhcb/laf/B2Dpipi/10_analysis/workflow/Snakefile", line 10, in <module>
include: "rules/interactive_exploration.smk"
File "/disk401/lhcb/laf/mambaforge/envs/snakemake/lib/python3.12/site-packages/snakemake/workflow.py", line 1398, in include
exec(compile(code, snakefile.get_path_or_uri(), "exec"), self.globals)
File "/disk411/lhcb/laf/B2Dpipi/10_analysis/workflow/rules/interactive_exploration.smk", line 2, in <module>
from apd.snakemake import get_analysis_data, remote
File "/disk401/lhcb/laf/mambaforge/envs/snakemake/lib/python3.12/site-packages/apd/snakemake.py", line 46, in <module>
xrootd_remote = XRootDRemoteProvider(stay_on_remote=True, url_decorator=auth)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/disk401/lhcb/laf/mambaforge/envs/snakemake/lib/python3.12/site-packages/snakemake/remote/__init__.py", line 8, in __init__
raise NotImplementedError(
NotImplementedError: Remote providers have been replaced by Snakemake storage plugins. Please use the corresponding storage plugin instead (snakemake-storage-plugin-*)
Should we consider supporting or migrating to snakemake 8 in apd.snakemake
?