snakemake / snakemake-storage-plugin-xrootd

A Snakemake storage plugin for handling input and output via XRootD
MIT License
0 stars 2 forks source link

No longer displayed in the documentation #11

Open MattMonk opened 2 weeks ago

MattMonk commented 2 weeks ago

The plugin is absent from the plugin catalog page: https://snakemake.github.io/snakemake-plugin-catalog/index.html

Can see there is an error in the nightly github action e.g.: https://github.com/snakemake/snakemake-plugin-catalog/actions/runs/10859663450/job/30139296545#step:5:68

MattMonk commented 2 weeks ago

Tracked this down to a problem with the settings, specifically the url_decorator setting.

The automatic documentation extracts info about the settings here: https://github.com/snakemake/snakemake-plugin-catalog/blob/main/source/collect_plugins.py#L87

However, the default value of url_decorator is a lambda function. So when it attempts to serialise this (json.dumps) it causes an error.

Could fix this by opening a pull request to snakemake-plugin-catalog to support lambda functions by saving the source of the lambda function with inspect.getsourcelines() which would then be a serialisable string instead.