snk-cli 0.1.2__tar.gz → 0.1.3__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.1.2 → snk_cli-0.1.3}/PKG-INFO +2 -2
- {snk_cli-0.1.2 → snk_cli-0.1.3}/pyproject.toml +1 -1
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/__about__.py +1 -1
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/test_dynamic_typer.py +19 -10
- {snk_cli-0.1.2 → snk_cli-0.1.3}/.github/workflows/mkdocs.yml +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/.github/workflows/publish.yml +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/.github/workflows/tests.yml +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/.gitignore +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/LICENSE.txt +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/README.md +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/docs/index.md +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/docs/reference/cli.md +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/docs/reference/config.md +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/docs/reference/dynamic_typer.md +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/docs/reference/options.md +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/docs/reference/subcommands.md +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/docs/reference/testing.md +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/docs/reference/utils.md +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/docs/reference/validate.md +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/docs/reference/workflow.md +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/mkdocs.yml +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/__init__.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/cli.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/config/__init__.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/config/config.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/config/utils.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/dynamic_typer.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/options/__init__.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/options/option.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/options/utils.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/subcommands/__init__.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/subcommands/config.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/subcommands/env.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/subcommands/profile.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/subcommands/run.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/subcommands/script.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/subcommands/utils.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/testing.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/utils.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/validate.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/src/snk_cli/workflow.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/__init__.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/conftest.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/artic_v4.1.bed +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/config.yaml +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/cov.fasta +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/print_config/Snakefile +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/print_config/cli.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/print_config/config.yaml +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/print_config/snk.yaml +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/workflow/cli.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/workflow/config.yaml +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/workflow/resources/data.txt +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/workflow/snk.yaml +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/workflow/things/__about__.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/workflow/workflow/Snakefile +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/workflow/workflow/envs/python.yml +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/workflow/workflow/profiles/base/config.yaml +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/workflow/workflow/profiles/slurm/config.yaml +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/data/workflow/workflow/scripts/hello.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/test_cli/__init__.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/test_cli/test_dynamic_options.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/test_cli/test_run.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/test_cli/test_snk_config.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/test_cli/test_subcommands.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/test_cli/test_validate.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/test_cli/test_workflow_cli.py +0 -0
- {snk_cli-0.1.2 → snk_cli-0.1.3}/tests/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: snk-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Project-URL: Documentation, https://github.com/unknown/snk-cli#readme
|
|
5
5
|
Project-URL: Issues, https://github.com/unknown/snk-cli/issues
|
|
6
6
|
Project-URL: Source, https://github.com/unknown/snk-cli
|
|
@@ -22,7 +22,7 @@ Requires-Dist: datrie>=0.8.2
|
|
|
22
22
|
Requires-Dist: gitpython~=3.1
|
|
23
23
|
Requires-Dist: makefun~=1.15
|
|
24
24
|
Requires-Dist: pulp<2.8
|
|
25
|
-
Requires-Dist: snakemake<
|
|
25
|
+
Requires-Dist: snakemake<8,>=7
|
|
26
26
|
Requires-Dist: typer[all]~=0.9.0
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
28
|
|
|
@@ -25,7 +25,7 @@ classifiers = [
|
|
|
25
25
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
26
26
|
]
|
|
27
27
|
dependencies = [
|
|
28
|
-
"snakemake>=7,<
|
|
28
|
+
"snakemake>=7,<8",
|
|
29
29
|
"typer[all]~=0.9.0",
|
|
30
30
|
"GitPython~=3.1",
|
|
31
31
|
"pulp<2.8", # Pin pulp <2.8 for snakemake: https://github.com/snakemake/snakemake/issues/2607
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
from typer.testing import CliRunner
|
|
3
|
-
from snk_cli.dynamic_typer import DynamicTyper
|
|
3
|
+
from snk_cli.dynamic_typer import DynamicTyper
|
|
4
4
|
from snk_cli.options import Option
|
|
5
|
-
from typing import Callable
|
|
6
5
|
from inspect import signature, Parameter
|
|
7
6
|
import typer
|
|
8
7
|
|
|
8
|
+
class SubApp(DynamicTyper):
|
|
9
|
+
def __init__(self):
|
|
10
|
+
self.register_command(self.hello)
|
|
11
|
+
def hello(self):
|
|
12
|
+
self.echo("Hello World")
|
|
9
13
|
|
|
10
14
|
@pytest.fixture
|
|
11
15
|
def dynamic_typer():
|
|
@@ -61,12 +65,6 @@ def test_register_callback(dynamic_app: DynamicTyper, cli_runner):
|
|
|
61
65
|
|
|
62
66
|
|
|
63
67
|
def test_register_group(dynamic_app: DynamicTyper, cli_runner):
|
|
64
|
-
|
|
65
|
-
class SubApp(DynamicTyper):
|
|
66
|
-
def __init__(self):
|
|
67
|
-
self.register_command(self.hello)
|
|
68
|
-
def hello(self):
|
|
69
|
-
self.echo("Hello World")
|
|
70
68
|
|
|
71
69
|
dynamic_app.register_group(SubApp(), name="subapp", help="A subapp")
|
|
72
70
|
|
|
@@ -131,9 +129,20 @@ def test_log(dynamic_typer, cli_runner, capsys):
|
|
|
131
129
|
assert "Log message" in captured.out
|
|
132
130
|
|
|
133
131
|
|
|
134
|
-
def test_app_instance_not_shared(
|
|
132
|
+
def test_app_instance_not_shared():
|
|
135
133
|
class App(DynamicTyper):
|
|
136
134
|
pass
|
|
137
135
|
app1 = App().app
|
|
138
136
|
app2 = App().app
|
|
139
|
-
assert app1 is not app2
|
|
137
|
+
assert app1 is not app2
|
|
138
|
+
|
|
139
|
+
def test_calling_cli_produces_help(dynamic_app: DynamicTyper, capsys):
|
|
140
|
+
import sys
|
|
141
|
+
sys.argv = ['cli', '--help']
|
|
142
|
+
try:
|
|
143
|
+
dynamic_app.register_group(SubApp(), name="subapp", help="A subapp")
|
|
144
|
+
dynamic_app()
|
|
145
|
+
except SystemExit:
|
|
146
|
+
pass
|
|
147
|
+
captured = capsys.readouterr()
|
|
148
|
+
assert "Usage" in captured.out
|
|
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
|