snk-cli 0.1.1__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.
Files changed (68) hide show
  1. {snk_cli-0.1.1 → snk_cli-0.1.3}/PKG-INFO +2 -2
  2. {snk_cli-0.1.1 → snk_cli-0.1.3}/pyproject.toml +1 -1
  3. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/__about__.py +1 -1
  4. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/dynamic_typer.py +1 -1
  5. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/test_dynamic_typer.py +19 -10
  6. {snk_cli-0.1.1 → snk_cli-0.1.3}/.github/workflows/mkdocs.yml +0 -0
  7. {snk_cli-0.1.1 → snk_cli-0.1.3}/.github/workflows/publish.yml +0 -0
  8. {snk_cli-0.1.1 → snk_cli-0.1.3}/.github/workflows/tests.yml +0 -0
  9. {snk_cli-0.1.1 → snk_cli-0.1.3}/.gitignore +0 -0
  10. {snk_cli-0.1.1 → snk_cli-0.1.3}/LICENSE.txt +0 -0
  11. {snk_cli-0.1.1 → snk_cli-0.1.3}/README.md +0 -0
  12. {snk_cli-0.1.1 → snk_cli-0.1.3}/docs/index.md +0 -0
  13. {snk_cli-0.1.1 → snk_cli-0.1.3}/docs/reference/cli.md +0 -0
  14. {snk_cli-0.1.1 → snk_cli-0.1.3}/docs/reference/config.md +0 -0
  15. {snk_cli-0.1.1 → snk_cli-0.1.3}/docs/reference/dynamic_typer.md +0 -0
  16. {snk_cli-0.1.1 → snk_cli-0.1.3}/docs/reference/options.md +0 -0
  17. {snk_cli-0.1.1 → snk_cli-0.1.3}/docs/reference/subcommands.md +0 -0
  18. {snk_cli-0.1.1 → snk_cli-0.1.3}/docs/reference/testing.md +0 -0
  19. {snk_cli-0.1.1 → snk_cli-0.1.3}/docs/reference/utils.md +0 -0
  20. {snk_cli-0.1.1 → snk_cli-0.1.3}/docs/reference/validate.md +0 -0
  21. {snk_cli-0.1.1 → snk_cli-0.1.3}/docs/reference/workflow.md +0 -0
  22. {snk_cli-0.1.1 → snk_cli-0.1.3}/mkdocs.yml +0 -0
  23. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/__init__.py +0 -0
  24. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/cli.py +0 -0
  25. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/config/__init__.py +0 -0
  26. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/config/config.py +0 -0
  27. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/config/utils.py +0 -0
  28. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/options/__init__.py +0 -0
  29. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/options/option.py +0 -0
  30. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/options/utils.py +0 -0
  31. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/subcommands/__init__.py +0 -0
  32. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/subcommands/config.py +0 -0
  33. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/subcommands/env.py +0 -0
  34. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/subcommands/profile.py +0 -0
  35. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/subcommands/run.py +0 -0
  36. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/subcommands/script.py +0 -0
  37. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/subcommands/utils.py +0 -0
  38. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/testing.py +0 -0
  39. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/utils.py +0 -0
  40. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/validate.py +0 -0
  41. {snk_cli-0.1.1 → snk_cli-0.1.3}/src/snk_cli/workflow.py +0 -0
  42. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/__init__.py +0 -0
  43. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/conftest.py +0 -0
  44. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/artic_v4.1.bed +0 -0
  45. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/config.yaml +0 -0
  46. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/cov.fasta +0 -0
  47. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/print_config/Snakefile +0 -0
  48. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/print_config/cli.py +0 -0
  49. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/print_config/config.yaml +0 -0
  50. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/print_config/snk.yaml +0 -0
  51. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/workflow/cli.py +0 -0
  52. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/workflow/config.yaml +0 -0
  53. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/workflow/resources/data.txt +0 -0
  54. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/workflow/snk.yaml +0 -0
  55. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/workflow/things/__about__.py +0 -0
  56. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/workflow/workflow/Snakefile +0 -0
  57. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/workflow/workflow/envs/python.yml +0 -0
  58. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/workflow/workflow/profiles/base/config.yaml +0 -0
  59. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/workflow/workflow/profiles/slurm/config.yaml +0 -0
  60. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/data/workflow/workflow/scripts/hello.py +0 -0
  61. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/test_cli/__init__.py +0 -0
  62. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/test_cli/test_dynamic_options.py +0 -0
  63. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/test_cli/test_run.py +0 -0
  64. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/test_cli/test_snk_config.py +0 -0
  65. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/test_cli/test_subcommands.py +0 -0
  66. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/test_cli/test_validate.py +0 -0
  67. {snk_cli-0.1.1 → snk_cli-0.1.3}/tests/test_cli/test_workflow_cli.py +0 -0
  68. {snk_cli-0.1.1 → 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.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<9,>=7
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,<9",
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,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.1.1"
4
+ __version__ = "0.1.3"
@@ -23,7 +23,7 @@ class DynamicTyper:
23
23
  Examples:
24
24
  >>> CLI(Path('/path/to/workflow'))()
25
25
  """
26
- self._set_app()
26
+ self.app()
27
27
 
28
28
  def _set_app(self):
29
29
  """
@@ -1,11 +1,15 @@
1
1
  import pytest
2
2
  from typer.testing import CliRunner
3
- from snk_cli.dynamic_typer import DynamicTyper, Option
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(dynamic_app):
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