steve-cli 0.2.0__tar.gz → 0.3.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.
- {steve_cli-0.2.0 → steve_cli-0.3.0}/PKG-INFO +8 -1
- {steve_cli-0.2.0 → steve_cli-0.3.0}/README.md +6 -0
- {steve_cli-0.2.0 → steve_cli-0.3.0}/pyproject.toml +6 -1
- {steve_cli-0.2.0 → steve_cli-0.3.0}/steve_cli/cli.py +25 -5
- {steve_cli-0.2.0 → steve_cli-0.3.0}/steve_cli.egg-info/PKG-INFO +8 -1
- {steve_cli-0.2.0 → steve_cli-0.3.0}/steve_cli.egg-info/requires.txt +1 -0
- {steve_cli-0.2.0 → steve_cli-0.3.0}/setup.cfg +0 -0
- {steve_cli-0.2.0 → steve_cli-0.3.0}/steve_cli/__init__.py +0 -0
- {steve_cli-0.2.0 → steve_cli-0.3.0}/steve_cli/storage.py +0 -0
- {steve_cli-0.2.0 → steve_cli-0.3.0}/steve_cli.egg-info/SOURCES.txt +0 -0
- {steve_cli-0.2.0 → steve_cli-0.3.0}/steve_cli.egg-info/dependency_links.txt +0 -0
- {steve_cli-0.2.0 → steve_cli-0.3.0}/steve_cli.egg-info/entry_points.txt +0 -0
- {steve_cli-0.2.0 → steve_cli-0.3.0}/steve_cli.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: steve-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: A simple CLI tool to run jobs from jobs.yaml with proper environment setup
|
|
5
5
|
Author: Frank
|
|
6
6
|
License: MIT
|
|
@@ -20,6 +20,7 @@ Description-Content-Type: text/markdown
|
|
|
20
20
|
Requires-Dist: boto3>=1.37.38
|
|
21
21
|
Requires-Dist: click>=8.0.0
|
|
22
22
|
Requires-Dist: pyyaml>=6.0
|
|
23
|
+
Requires-Dist: questionary>=2.0.0
|
|
23
24
|
Provides-Extra: dev
|
|
24
25
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
25
26
|
Requires-Dist: black>=22.0; extra == "dev"
|
|
@@ -157,6 +158,12 @@ black steve_cli/
|
|
|
157
158
|
isort steve_cli/
|
|
158
159
|
```
|
|
159
160
|
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
# use cli
|
|
164
|
+
source .venv/bin/activate
|
|
165
|
+
steve
|
|
166
|
+
|
|
160
167
|
#
|
|
161
168
|
|
|
162
169
|
uv build
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
|
|
2
|
+
[build-system]
|
|
3
|
+
requires = ["setuptools>=61.0", "wheel"]
|
|
4
|
+
build-backend = "setuptools.build_meta"
|
|
5
|
+
|
|
2
6
|
[project]
|
|
3
7
|
name = "steve-cli"
|
|
4
|
-
version = "0.
|
|
8
|
+
version = "0.3.0"
|
|
5
9
|
description = "A simple CLI tool to run jobs from jobs.yaml with proper environment setup"
|
|
6
10
|
readme = "README.md"
|
|
7
11
|
license = {text = "MIT"}
|
|
@@ -22,6 +26,7 @@ dependencies = [
|
|
|
22
26
|
"boto3>=1.37.38",
|
|
23
27
|
"click>=8.0.0",
|
|
24
28
|
"pyyaml>=6.0",
|
|
29
|
+
"questionary>=2.0.0",
|
|
25
30
|
]
|
|
26
31
|
|
|
27
32
|
[project.optional-dependencies]
|
|
@@ -15,6 +15,7 @@ from pathlib import Path
|
|
|
15
15
|
from typing import Dict, List, Any, Optional
|
|
16
16
|
|
|
17
17
|
import click
|
|
18
|
+
import questionary
|
|
18
19
|
import yaml
|
|
19
20
|
|
|
20
21
|
|
|
@@ -96,10 +97,29 @@ def main():
|
|
|
96
97
|
pass
|
|
97
98
|
|
|
98
99
|
|
|
99
|
-
@main.group()
|
|
100
|
-
|
|
100
|
+
@main.group(invoke_without_command=True)
|
|
101
|
+
@click.option('--jobs-file', '-f', type=click.Path(exists=True, path_type=Path),
|
|
102
|
+
help='Path to jobs.yaml file (default: ./jobs.yaml)')
|
|
103
|
+
@click.pass_context
|
|
104
|
+
def jobs(ctx: click.Context, jobs_file: Optional[Path]):
|
|
101
105
|
"""Manage and run jobs from jobs.yaml."""
|
|
102
|
-
|
|
106
|
+
if ctx.invoked_subcommand is not None:
|
|
107
|
+
return
|
|
108
|
+
config = JobsConfig(jobs_file)
|
|
109
|
+
job_names = config.list_jobs()
|
|
110
|
+
if not job_names:
|
|
111
|
+
click.echo("❌ No jobs found in jobs.yaml")
|
|
112
|
+
return
|
|
113
|
+
click.echo(ctx.get_help())
|
|
114
|
+
click.echo()
|
|
115
|
+
choice = questionary.select(
|
|
116
|
+
"Select a job to run:",
|
|
117
|
+
choices=job_names,
|
|
118
|
+
).ask()
|
|
119
|
+
if choice is None:
|
|
120
|
+
sys.exit(0)
|
|
121
|
+
job = config.get_job(choice)
|
|
122
|
+
sys.exit(run_job_command(job))
|
|
103
123
|
|
|
104
124
|
|
|
105
125
|
@jobs.command('ls')
|
|
@@ -164,8 +184,8 @@ def setup():
|
|
|
164
184
|
pass
|
|
165
185
|
|
|
166
186
|
|
|
167
|
-
@setup.command("
|
|
168
|
-
def
|
|
187
|
+
@setup.command("env")
|
|
188
|
+
def setup_env():
|
|
169
189
|
"""Decrypt SOPS-encoded .env files in current directory and write plaintext .env files."""
|
|
170
190
|
cwd = Path.cwd()
|
|
171
191
|
found: List[Path] = []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: steve-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: A simple CLI tool to run jobs from jobs.yaml with proper environment setup
|
|
5
5
|
Author: Frank
|
|
6
6
|
License: MIT
|
|
@@ -20,6 +20,7 @@ Description-Content-Type: text/markdown
|
|
|
20
20
|
Requires-Dist: boto3>=1.37.38
|
|
21
21
|
Requires-Dist: click>=8.0.0
|
|
22
22
|
Requires-Dist: pyyaml>=6.0
|
|
23
|
+
Requires-Dist: questionary>=2.0.0
|
|
23
24
|
Provides-Extra: dev
|
|
24
25
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
25
26
|
Requires-Dist: black>=22.0; extra == "dev"
|
|
@@ -157,6 +158,12 @@ black steve_cli/
|
|
|
157
158
|
isort steve_cli/
|
|
158
159
|
```
|
|
159
160
|
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
# use cli
|
|
164
|
+
source .venv/bin/activate
|
|
165
|
+
steve
|
|
166
|
+
|
|
160
167
|
#
|
|
161
168
|
|
|
162
169
|
uv build
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|