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.
- {snk_cli-0.6.1 → snk_cli-0.7.0}/PKG-INFO +1 -1
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/__about__.py +1 -1
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/config/config.py +12 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/snk.yaml +1 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/.github/workflows/publish.yml +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/.github/workflows/tests.yml +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/.gitignore +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/LICENSE.txt +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/README.md +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/index.md +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/cli.md +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/config.md +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/dynamic_typer.md +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/options.md +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/subcommands.md +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/testing.md +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/utils.md +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/validate.md +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/docs/reference/workflow.md +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/mkdocs.yml +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/pyproject.toml +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/__init__.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/cli.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/conda.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/config/__init__.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/config/utils.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/dynamic_typer.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/options/__init__.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/options/option.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/options/utils.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/subcommands/__init__.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/subcommands/config.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/subcommands/env.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/subcommands/profile.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/subcommands/run.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/subcommands/script.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/testing.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/utils.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/validate.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/src/snk_cli/workflow.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/__init__.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/conftest.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/artic_v4.1.bed +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/config.yaml +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/cov.fasta +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/print_config/Snakefile +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/print_config/cli.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/print_config/config.yaml +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/print_config/snk.yaml +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/cli.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/config.yaml +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/resources/data.txt +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/things/__about__.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/workflow/Snakefile +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/workflow/envs/wget.yml +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/workflow/profiles/base/config.yaml +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/workflow/profiles/slurm/config.yaml +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/data/workflow/workflow/scripts/hello.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_SnkConfig.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/__init__.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/test_dynamic_options.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/test_profile.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/test_run.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/test_snk_config.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/test_subcommands.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/test_validate.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_cli/test_workflow_cli.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_conda_env.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_dynamic_typer.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/test_types.py +0 -0
- {snk_cli-0.6.1 → snk_cli-0.7.0}/tests/utils.py +0 -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
|
|
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
|
|
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
|
|
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
|