snk-cli 0.6.1__tar.gz → 0.7.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. {snk_cli-0.6.1 → snk_cli-0.7.0}/PKG-INFO +1 -1
  2. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/__about__.py +1 -1
  3. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/config/config.py +12 -0
  4. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/snk.yaml +1 -0
  5. {snk_cli-0.6.1 → snk_cli-0.7.0}/.github/workflows/publish.yml +0 -0
  6. {snk_cli-0.6.1 → snk_cli-0.7.0}/.github/workflows/tests.yml +0 -0
  7. {snk_cli-0.6.1 → snk_cli-0.7.0}/.gitignore +0 -0
  8. {snk_cli-0.6.1 → snk_cli-0.7.0}/LICENSE.txt +0 -0
  9. {snk_cli-0.6.1 → snk_cli-0.7.0}/README.md +0 -0
  10. {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/index.md +0 -0
  11. {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/cli.md +0 -0
  12. {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/config.md +0 -0
  13. {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/dynamic_typer.md +0 -0
  14. {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/options.md +0 -0
  15. {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/subcommands.md +0 -0
  16. {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/testing.md +0 -0
  17. {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/utils.md +0 -0
  18. {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/validate.md +0 -0
  19. {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/workflow.md +0 -0
  20. {snk_cli-0.6.1 → snk_cli-0.7.0}/mkdocs.yml +0 -0
  21. {snk_cli-0.6.1 → snk_cli-0.7.0}/pyproject.toml +0 -0
  22. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/__init__.py +0 -0
  23. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/cli.py +0 -0
  24. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/conda.py +0 -0
  25. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/config/__init__.py +0 -0
  26. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/config/utils.py +0 -0
  27. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/dynamic_typer.py +0 -0
  28. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/options/__init__.py +0 -0
  29. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/options/option.py +0 -0
  30. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/options/utils.py +0 -0
  31. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/subcommands/__init__.py +0 -0
  32. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/subcommands/config.py +0 -0
  33. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/subcommands/env.py +0 -0
  34. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/subcommands/profile.py +0 -0
  35. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/subcommands/run.py +0 -0
  36. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/subcommands/script.py +0 -0
  37. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/testing.py +0 -0
  38. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/utils.py +0 -0
  39. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/validate.py +0 -0
  40. {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/workflow.py +0 -0
  41. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/__init__.py +0 -0
  42. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/conftest.py +0 -0
  43. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/artic_v4.1.bed +0 -0
  44. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/config.yaml +0 -0
  45. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/cov.fasta +0 -0
  46. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/print_config/Snakefile +0 -0
  47. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/print_config/cli.py +0 -0
  48. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/print_config/config.yaml +0 -0
  49. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/print_config/snk.yaml +0 -0
  50. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/cli.py +0 -0
  51. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/config.yaml +0 -0
  52. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/resources/data.txt +0 -0
  53. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/things/__about__.py +0 -0
  54. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/workflow/Snakefile +0 -0
  55. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/workflow/envs/wget.yml +0 -0
  56. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/workflow/profiles/base/config.yaml +0 -0
  57. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/workflow/profiles/slurm/config.yaml +0 -0
  58. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/workflow/scripts/hello.py +0 -0
  59. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_SnkConfig.py +0 -0
  60. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/__init__.py +0 -0
  61. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/test_dynamic_options.py +0 -0
  62. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/test_profile.py +0 -0
  63. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/test_run.py +0 -0
  64. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/test_snk_config.py +0 -0
  65. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/test_subcommands.py +0 -0
  66. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/test_validate.py +0 -0
  67. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/test_workflow_cli.py +0 -0
  68. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_conda_env.py +0 -0
  69. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_dynamic_typer.py +0 -0
  70. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_types.py +0 -0
  71. {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: snk-cli
3
- Version: 0.6.1
3
+ Version: 0.7.0
4
4
  Project-URL: Documentation, https://github.com/wytamma/snk-cli#readme
5
5
  Project-URL: Issues, https://github.com/wytamma/snk-cli/issues
6
6
  Project-URL: Source, https://github.com/wytamma/snk-cli
@@ -1,4 +1,4 @@
1
1
  # SPDX-FileCopyrightText: 2024-present Wytamma Wirth <wytamma.wirth@me.com>
2
2
  #
3
3
  # SPDX-License-Identifier: MIT
4
- __version__ = "0.6.1"
4
+ __version__ = "0.7.0"
@@ -37,6 +37,9 @@ class SnkConfig:
37
37
  skip_missing (bool): Whether to skip missing CLI options. Defaults to False.
38
38
  additional_snakemake_args (List[str]): List of additional Snakemake command-line arguments. Defaults to an empty list.
39
39
  commands (List[str]): List of subcommands to include in the CLI. Defaults to ["run", "script", "env", "profile", "info", "config"].
40
+ snakefile (Optional[Path]): Path to the Snakefile. Defaults to None.
41
+ configfile (Optional[Path]): Path to the config file. Defaults to None.
42
+ min_snk_cli_version (Optional[str]): Minimum version of the SNK CLI required to run the workflow. Defaults to None.
40
43
  cli (dict): Dictionary of CLI options and their values. Defaults to an empty dictionary.
41
44
  _snk_config_path (Path): The path to the SNK config file. Defaults to None.
42
45
 
@@ -73,6 +76,7 @@ class SnkConfig:
73
76
  commands: List[str] = field(default_factory=lambda: ["run", "script", "env", "profile", "info", "config"])
74
77
  snakefile: Optional[Path] = None
75
78
  configfile: Optional[Path] = None
79
+ min_snk_cli_version: Optional[str] = None
76
80
  cli: dict = field(default_factory=dict)
77
81
  _snk_config_path: Path = None
78
82
 
@@ -108,6 +112,14 @@ class SnkConfig:
108
112
  # TODO: remove conda_required in the future
109
113
  snk_config_dict["conda"] = snk_config_dict["conda_required"]
110
114
  del snk_config_dict["conda_required"]
115
+ # print warning about any invalid keys
116
+ fields = set(cls.__dict__["__dataclass_fields__"])
117
+ invalid_config_keys = set(snk_config_dict.keys()) - fields
118
+ if invalid_config_keys:
119
+ import warnings
120
+ warnings.warn(f"invalid keys in `snk.yaml` file: {invalid_config_keys}.")
121
+ # filer out any invalid keys
122
+ snk_config_dict = {k: v for k, v in snk_config_dict.items() if k in fields}
111
123
  snk_config = cls(**snk_config_dict)
112
124
  snk_config.resources = [
113
125
  snk_config_path.parent / resource for resource in snk_config.resources
@@ -1,4 +1,5 @@
1
1
  art: null
2
+ invalid: false
2
3
  cli:
3
4
  hidden:
4
5
  hidden: true
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes