qontract-development-cli 0.17.2__tar.gz → 0.18.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 (29) hide show
  1. qontract_development_cli-0.18.0/.gitignore +2 -0
  2. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/PKG-INFO +3 -3
  3. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/pyproject.toml +13 -4
  4. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/commands/profile.py +2 -4
  5. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/models.py +2 -2
  6. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/shell.py +6 -3
  7. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/watchdog.py +5 -2
  8. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/README.md +0 -0
  9. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/__init__.py +0 -0
  10. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/__main__.py +0 -0
  11. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/cli.py +0 -0
  12. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/commands/__init__.py +0 -0
  13. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/commands/config.py +0 -0
  14. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/commands/env.py +0 -0
  15. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/completions.py +0 -0
  16. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/config.py +0 -0
  17. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/templates/api.yml.j2 +0 -0
  18. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/templates/cache.yml.j2 +0 -0
  19. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/templates/compose.override.yml.j2 +0 -0
  20. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/templates/compose.yml.j2 +0 -0
  21. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/templates/internal-redhat-ca.yml.j2 +0 -0
  22. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/templates/prep-worktree.sh.j2 +0 -0
  23. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/templates/reconcile.yml.j2 +0 -0
  24. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/templates/server.yml.j2 +0 -0
  25. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/templates/subscriber.yml.j2 +0 -0
  26. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/templates/vault.yml.j2 +0 -0
  27. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/templates/worker.yml.j2 +0 -0
  28. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/templates.py +0 -0
  29. {qontract_development_cli-0.17.2 → qontract_development_cli-0.18.0}/qontract_development_cli/utils.py +0 -0
@@ -0,0 +1,2 @@
1
+ # Created by venv; see https://docs.python.org/3/library/venv.html
2
+ *
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qontract-development-cli
3
- Version: 0.17.2
3
+ Version: 0.18.0
4
4
  Summary: Helper tool for qontract-reconcile development
5
5
  Project-URL: homepage, http://github.com/chassing/qontract-development-cli
6
6
  Project-URL: repository, http://github.com/chassing/qontract-development-cli
7
7
  Project-URL: documentation, http://github.com/chassing/qontract-development-cli
8
8
  Author-email: Christian Assing <cassing@redhat.com>
9
9
  License: MIT
10
- Requires-Python: >=3.11
10
+ Requires-Python: >=3.14
11
11
  Requires-Dist: appdirs~=1.4.4
12
12
  Requires-Dist: getkey~=0.6.5
13
13
  Requires-Dist: jinja2~=3.1
@@ -16,7 +16,7 @@ Requires-Dist: pydantic~=2.9
16
16
  Requires-Dist: pyyaml~=6.0.2
17
17
  Requires-Dist: rich~=15.0
18
18
  Requires-Dist: typer~=0.25.1
19
- Requires-Dist: watchfiles~=1.1.0
19
+ Requires-Dist: watchfiles~=1.2.0
20
20
  Description-Content-Type: text/markdown
21
21
 
22
22
  # Qontract Development CLI
@@ -1,11 +1,11 @@
1
1
  [project]
2
2
  name = "qontract-development-cli"
3
- version = "0.17.2"
3
+ version = "0.18.0"
4
4
  description = "Helper tool for qontract-reconcile development"
5
5
  authors = [{ name = "Christian Assing", email = "cassing@redhat.com" }]
6
6
  license = { text = "MIT" }
7
7
  readme = "README.md"
8
- requires-python = ">= 3.11"
8
+ requires-python = ">= 3.14"
9
9
  dependencies = [
10
10
  "appdirs ~=1.4.4",
11
11
  "getkey ~=0.6.5",
@@ -15,7 +15,7 @@ dependencies = [
15
15
  "pyyaml ~=6.0.2",
16
16
  "rich ~=15.0",
17
17
  "typer ~=0.25.1",
18
- "watchfiles ~=1.1.0",
18
+ "watchfiles ~=1.2.0",
19
19
  ]
20
20
 
21
21
  [dependency-groups]
@@ -61,7 +61,6 @@ ignore_missing_imports = true
61
61
 
62
62
  [tool.ruff]
63
63
  line-length = 88
64
- target-version = 'py311'
65
64
  src = ["qontract_development_cli"]
66
65
  extend-exclude = [".local", ".cache"]
67
66
  fix = true
@@ -109,3 +108,13 @@ preview = true
109
108
 
110
109
  [tool.ruff.lint.isort]
111
110
  known-first-party = ["qontract_development_cli"]
111
+
112
+ [tool.ruff.lint.flake8-type-checking]
113
+ runtime-evaluated-base-classes = ["pydantic.BaseModel"]
114
+ runtime-evaluated-decorators = [
115
+ "dataclasses.dataclass",
116
+ "pydantic.dataclasses.dataclass",
117
+ "pydantic.validate_call",
118
+ "typer.Typer.command",
119
+ "typer.Typer.callback",
120
+ ]
@@ -1,8 +1,9 @@
1
1
  import logging
2
2
  import subprocess
3
3
  import tempfile
4
+ from multiprocessing import Process
4
5
  from pathlib import Path
5
- from typing import TYPE_CHECKING, Annotated
6
+ from typing import Annotated
6
7
 
7
8
  import typer
8
9
  from getkey import getkey
@@ -34,9 +35,6 @@ from ..shell import (
34
35
  from ..templates import template
35
36
  from ..utils import console
36
37
 
37
- if TYPE_CHECKING:
38
- from multiprocessing import Process
39
-
40
38
  app = typer.Typer()
41
39
  log = logging.getLogger(__name__)
42
40
 
@@ -149,7 +149,7 @@ class Base(BaseModel):
149
149
  default: bool = False
150
150
  root: ClassVar[Path]
151
151
 
152
- def __lt__(self, other: "Base") -> bool:
152
+ def __lt__(self, other: Base) -> bool:
153
153
  return self.name < other.name
154
154
 
155
155
  @model_validator(mode="after")
@@ -165,7 +165,7 @@ class Base(BaseModel):
165
165
  return p.with_suffix(".yml")
166
166
 
167
167
  @classmethod
168
- def list_all(cls) -> list["Base"]:
168
+ def list_all(cls) -> list[Base]:
169
169
  items = []
170
170
  for f in [f for f in list(cls.root.glob("**/*")) if f.is_file()]:
171
171
  items.append( # noqa: PERF401
@@ -5,15 +5,18 @@ import os
5
5
  import subprocess
6
6
  import sys
7
7
  import tempfile
8
- from multiprocessing import Process
9
8
  from pathlib import Path
10
9
  from shutil import which
11
- from typing import Any
10
+ from typing import TYPE_CHECKING, Any
12
11
 
13
- from .models import Profile
14
12
  from .templates import template
15
13
  from .utils import EndlessProcess, console
16
14
 
15
+ if TYPE_CHECKING:
16
+ from multiprocessing import Process
17
+
18
+ from .models import Profile
19
+
17
20
  log = logging.getLogger(__name__)
18
21
 
19
22
  _docker_compose_bin = (
@@ -1,11 +1,14 @@
1
1
  import logging
2
- from collections.abc import Callable, Sequence
3
2
  from multiprocessing import Process
4
- from pathlib import Path
3
+ from typing import TYPE_CHECKING
5
4
 
6
5
  from rich.logging import RichHandler
7
6
  from watchfiles import Change, DefaultFilter, watch
8
7
 
8
+ if TYPE_CHECKING:
9
+ from collections.abc import Callable, Sequence
10
+ from pathlib import Path
11
+
9
12
  log = logging.getLogger(__name__)
10
13
 
11
14