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

Bug or undocumented v8 breaking change: snakemake: error: unrecognized arguments: --reason=True #2552

Open
corneliusroemer opened this issue Dec 21, 2023 · 4 comments
Labels
bug Something isn't working

Comments

@corneliusroemer
Copy link
Contributor

corneliusroemer commented Dec 21, 2023

I'm trying out snakemake 8. If have reason: True in a profile. I now get:

snakemake: error: unrecognized arguments: --reason=True

This isn't documented in the migration guide so it's either a bug or it should be added to the migration guide here: https://snakemake.readthedocs.io/en/stable/getting_started/migration.html#command-line-interface

Which currently reads:

Morever, some options have been renamed:

All the execution backends have been moved into plugins. When you used e.g. --kubernetes and corresponding options before, you should now use --executor kubeternes and check the Snakemake plugin catalog for the new options. The same holds for all other execution backends, see here.

The --use-conda and --use-singularity options are deprecated. Instead you should now use --software-deployment-method conda or --software-deployment-method apptainer or --software-deployment-method conda apptainer if you need both.

This seems to be the only breaking change, no other migration necessary for the nextstrain/mpox phylogenetic workflow, so not too bad ;)

@corneliusroemer corneliusroemer added the bug Something isn't working label Dec 21, 2023
@corneliusroemer corneliusroemer changed the title Bug or undocumented breaking change: snakemake: error: unrecognized arguments: --reason=True Bug or undocumented v8 breaking change: snakemake: error: unrecognized arguments: --reason=True Dec 21, 2023
@fgvieira
Copy link
Contributor

It seems the reason why a rule is being run is now always printed to screen.

@corneliusroemer
Copy link
Contributor Author

Yes it seems to have been set to true and removed as a cli arg.

To avoid being breaking, one could accept it, print a deprecation warning and remove later.

Or document it.

@corneliusroemer
Copy link
Contributor Author

It's been marked as deprecated for a while - but no warning has been printed which is why I was surprised it got removed.
see #1902

@Hocnonsense Hocnonsense mentioned this issue Dec 24, 2023
2 tasks
@ammaraziz
Copy link

Could anyone explain why this flag was depreciated? It's very handy to silence the reason: output of snakemake when building pipelines. A possible explanation is that --quiet can now handle inputs to silence specific terminal outputs.

A possible solution would be to include an option in --quiet which is similar to progress but silences reason:.

Might be worth discussing this in a separate issue/feature request?

johanneskoester pushed a commit that referenced this issue Jan 8, 2024
### Description

<!--Add a description of your PR here-->

Detailed diff between <7 and 8, may be useful for issues such as #2552
and others.

### QC
<!-- Make sure that you can tick the boxes below. -->

* [ ] The PR contains a test case for the changes or the changes are
already covered by an existing test case.
* [ ] The documentation (`docs/`) is updated to reflect the changes or
this is not necessary (e.g. if the change does neither modify the
language nor the behavior or functionalities of Snakemake).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants