validio-cli 10.0.3__tar.gz → 10.0.7__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.
- {validio_cli-10.0.3 → validio_cli-10.0.7}/PKG-INFO +5 -5
- validio_cli-10.0.7/pyproject.toml +111 -0
- validio_cli-10.0.3/pyproject.toml → validio_cli-10.0.7/pyproject.toml.orig +10 -9
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/__init__.py +2 -2
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/code.py +53 -1
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/namespaces.py +3 -18
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/sources.py +2 -4
- {validio_cli-10.0.3 → validio_cli-10.0.7}/README_PUBLIC.md +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/channels.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/config.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/credentials.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/dbt.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/filters.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/incidents.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/integrations.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/metrics.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/notification_rules.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/resources.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/segmentations.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/segments.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/users.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/validators.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/entities/windows.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/bin/main.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/components.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/metadata.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/namespace.py +0 -0
- {validio_cli-10.0.3 → validio_cli-10.0.7}/validio_cli/schema.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: validio-cli
|
|
3
|
-
Version: 10.0.
|
|
3
|
+
Version: 10.0.7
|
|
4
4
|
Summary: CLI tool to interact with the Validio platform
|
|
5
5
|
Author: Validio
|
|
6
6
|
Author-email: Validio <support@validio.io>
|
|
@@ -11,12 +11,12 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.12
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.13
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.14
|
|
14
|
-
Requires-Dist: camel-converter>=
|
|
14
|
+
Requires-Dist: camel-converter>=5.1.0,<6
|
|
15
15
|
Requires-Dist: classdiff>=0.5.2,<0.6
|
|
16
|
-
Requires-Dist: typer
|
|
16
|
+
Requires-Dist: typer>=0.27.0,<0.28.0
|
|
17
17
|
Requires-Dist: prompt-toolkit>=3.0.38,<4
|
|
18
|
-
Requires-Dist: tabulate>=0.9.0,<0.
|
|
19
|
-
Requires-Dist: types-tabulate>=0.9.0.2,<0.
|
|
18
|
+
Requires-Dist: tabulate>=0.9.0,<0.11
|
|
19
|
+
Requires-Dist: types-tabulate>=0.9.0.2,<0.11
|
|
20
20
|
Requires-Dist: validio-sdk
|
|
21
21
|
Requires-Python: >=3.10, <4
|
|
22
22
|
Project-URL: Homepage, https://validio.io/
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "validio-cli"
|
|
3
|
+
version = "10.0.7"
|
|
4
|
+
description = "CLI tool to interact with the Validio platform"
|
|
5
|
+
requires-python = ">=3.10,<4"
|
|
6
|
+
readme = "README_PUBLIC.md"
|
|
7
|
+
license = "Apache-2.0"
|
|
8
|
+
classifiers = [
|
|
9
|
+
"Programming Language :: Python :: 3",
|
|
10
|
+
"Programming Language :: Python :: 3.10",
|
|
11
|
+
"Programming Language :: Python :: 3.11",
|
|
12
|
+
"Programming Language :: Python :: 3.12",
|
|
13
|
+
"Programming Language :: Python :: 3.13",
|
|
14
|
+
"Programming Language :: Python :: 3.14",
|
|
15
|
+
]
|
|
16
|
+
dependencies = [
|
|
17
|
+
"camel-converter>=5.1.0,<6",
|
|
18
|
+
"classdiff>=0.5.2,<0.6",
|
|
19
|
+
"typer>=0.27.0,<0.28.0",
|
|
20
|
+
"prompt-toolkit>=3.0.38,<4",
|
|
21
|
+
"tabulate>=0.9.0,<0.11",
|
|
22
|
+
"types-tabulate>=0.9.0.2,<0.11",
|
|
23
|
+
"validio-sdk",
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
[[project.authors]]
|
|
27
|
+
name = "Validio"
|
|
28
|
+
email = "support@validio.io"
|
|
29
|
+
|
|
30
|
+
[project.urls]
|
|
31
|
+
Homepage = "https://validio.io/"
|
|
32
|
+
Documentation = "https://docs.validio.io/"
|
|
33
|
+
|
|
34
|
+
[project.scripts]
|
|
35
|
+
validio = "validio_cli.bin.main:main"
|
|
36
|
+
|
|
37
|
+
[dependency-groups]
|
|
38
|
+
dev = [
|
|
39
|
+
"ruff==0.16.1",
|
|
40
|
+
"mypy>=1.2.0,<2",
|
|
41
|
+
"licensecheck>=2025.1.0,<2026",
|
|
42
|
+
"pytest>=9.0.3,<10",
|
|
43
|
+
"flameprof>=0.4,<0.5",
|
|
44
|
+
"validio-sdk",
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
[tool.uv]
|
|
48
|
+
default-groups = "all"
|
|
49
|
+
|
|
50
|
+
[tool.uv.sources.validio-sdk]
|
|
51
|
+
workspace = true
|
|
52
|
+
|
|
53
|
+
[tool.uv.build-backend]
|
|
54
|
+
module-name = ["validio_cli"]
|
|
55
|
+
module-root = ""
|
|
56
|
+
|
|
57
|
+
[tool.ruff]
|
|
58
|
+
fix = true
|
|
59
|
+
|
|
60
|
+
[tool.ruff.lint]
|
|
61
|
+
select = [
|
|
62
|
+
"ARG",
|
|
63
|
+
"C4",
|
|
64
|
+
"D",
|
|
65
|
+
"E",
|
|
66
|
+
"F",
|
|
67
|
+
"I",
|
|
68
|
+
"N",
|
|
69
|
+
"PIE",
|
|
70
|
+
"PL",
|
|
71
|
+
"PT",
|
|
72
|
+
"PTH",
|
|
73
|
+
"RET",
|
|
74
|
+
"RUF",
|
|
75
|
+
"SIM",
|
|
76
|
+
"UP",
|
|
77
|
+
"W",
|
|
78
|
+
]
|
|
79
|
+
ignore = [
|
|
80
|
+
"D203",
|
|
81
|
+
"D212",
|
|
82
|
+
"PLR0913",
|
|
83
|
+
"PLR0917",
|
|
84
|
+
"PLC0415",
|
|
85
|
+
]
|
|
86
|
+
|
|
87
|
+
[tool.ruff.lint.per-file-ignores]
|
|
88
|
+
"__init__.py" = ["D"]
|
|
89
|
+
"*/bin/*.py" = [
|
|
90
|
+
"D",
|
|
91
|
+
"UP007",
|
|
92
|
+
"UP045",
|
|
93
|
+
]
|
|
94
|
+
"examples/*.py" = ["D"]
|
|
95
|
+
|
|
96
|
+
[tool.mypy]
|
|
97
|
+
ignore_missing_imports = true
|
|
98
|
+
disallow_untyped_calls = true
|
|
99
|
+
disallow_untyped_defs = true
|
|
100
|
+
disallow_incomplete_defs = true
|
|
101
|
+
check_untyped_defs = true
|
|
102
|
+
disallow_untyped_decorators = true
|
|
103
|
+
|
|
104
|
+
[tool.licensecheck]
|
|
105
|
+
license = "Apache-2.0"
|
|
106
|
+
ignore_packages = ["MYPY-EXTENSIONS"]
|
|
107
|
+
zero = true
|
|
108
|
+
|
|
109
|
+
[build-system]
|
|
110
|
+
requires = ["uv_build>=0.12.1,<0.13.0"]
|
|
111
|
+
build-backend = "uv_build"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "validio-cli"
|
|
3
|
-
version = "10.0.
|
|
3
|
+
version = "10.0.7"
|
|
4
4
|
description = "CLI tool to interact with the Validio platform"
|
|
5
5
|
authors = [{ name = "Validio", email = "support@validio.io" }]
|
|
6
6
|
requires-python = ">=3.10,<4"
|
|
@@ -15,12 +15,12 @@ classifiers = [
|
|
|
15
15
|
"Programming Language :: Python :: 3.14",
|
|
16
16
|
]
|
|
17
17
|
dependencies = [
|
|
18
|
-
"camel-converter>=
|
|
18
|
+
"camel-converter>=5.1.0,<6",
|
|
19
19
|
"classdiff>=0.5.2,<0.6",
|
|
20
|
-
"typer
|
|
20
|
+
"typer>=0.27.0,<0.28.0",
|
|
21
21
|
"prompt-toolkit>=3.0.38,<4",
|
|
22
|
-
"tabulate>=0.9.0,<0.
|
|
23
|
-
"types-tabulate>=0.9.0.2,<0.
|
|
22
|
+
"tabulate>=0.9.0,<0.11",
|
|
23
|
+
"types-tabulate>=0.9.0.2,<0.11",
|
|
24
24
|
"validio-sdk",
|
|
25
25
|
]
|
|
26
26
|
|
|
@@ -33,10 +33,10 @@ validio = "validio_cli.bin.main:main"
|
|
|
33
33
|
|
|
34
34
|
[dependency-groups]
|
|
35
35
|
dev = [
|
|
36
|
-
"ruff==0.
|
|
36
|
+
"ruff==0.16.1",
|
|
37
37
|
"mypy>=1.2.0,<2",
|
|
38
38
|
"licensecheck>=2025.1.0,<2026",
|
|
39
|
-
"pytest>=
|
|
39
|
+
"pytest>=9.0.3,<10",
|
|
40
40
|
"flameprof>=0.4,<0.5",
|
|
41
41
|
"validio-sdk",
|
|
42
42
|
]
|
|
@@ -45,14 +45,14 @@ dev = [
|
|
|
45
45
|
default-groups = "all"
|
|
46
46
|
|
|
47
47
|
[tool.uv.sources]
|
|
48
|
-
validio-sdk = {
|
|
48
|
+
validio-sdk = { workspace = true }
|
|
49
49
|
|
|
50
50
|
[tool.uv.build-backend]
|
|
51
51
|
module-name = ["validio_cli"]
|
|
52
52
|
module-root = ""
|
|
53
53
|
|
|
54
54
|
[build-system]
|
|
55
|
-
requires = ["uv_build>=0.
|
|
55
|
+
requires = ["uv_build>=0.12.1,<0.13.0"]
|
|
56
56
|
build-backend = "uv_build"
|
|
57
57
|
|
|
58
58
|
[tool.ruff]
|
|
@@ -82,6 +82,7 @@ ignore = [
|
|
|
82
82
|
"D203", # `one-blank-line-before-class` Incompatible with D211
|
|
83
83
|
"D212", # `multi-line-summary-first-line` Incompatible with D213
|
|
84
84
|
"PLR0913", # `too-many-arguments` - Not relevant with only 6
|
|
85
|
+
"PLR0917", # `too-many-positional-arguments` - Same as PLR0913
|
|
85
86
|
"PLC0415", # Imports are intentionally lazy (circular dependencies / startup perf)
|
|
86
87
|
]
|
|
87
88
|
|
|
@@ -11,10 +11,10 @@ from pathlib import Path
|
|
|
11
11
|
from types import EllipsisType
|
|
12
12
|
from typing import Any, TypeVar
|
|
13
13
|
|
|
14
|
-
import click
|
|
15
14
|
import typer
|
|
16
15
|
from camel_converter import to_snake
|
|
17
16
|
from tabulate import tabulate
|
|
17
|
+
from typer._click.globals import get_current_context
|
|
18
18
|
from validio_sdk import config
|
|
19
19
|
from validio_sdk._api.api import APIClient
|
|
20
20
|
from validio_sdk.client import USER_AGENT as SDK_USER_AGENT
|
|
@@ -108,7 +108,7 @@ def _cli_headers(iac: bool = False) -> dict[str, str]:
|
|
|
108
108
|
"""
|
|
109
109
|
headers: dict[str, str] = {}
|
|
110
110
|
|
|
111
|
-
ctx =
|
|
111
|
+
ctx = get_current_context(silent=True)
|
|
112
112
|
if ctx is not None:
|
|
113
113
|
# `command_path` is e.g. "validio channels get",
|
|
114
114
|
# drop the program name to get the command itself.
|
|
@@ -20,7 +20,10 @@ from validio_sdk.resource._resource import (
|
|
|
20
20
|
ResourceDeprecation,
|
|
21
21
|
ResourceFeatureNotice,
|
|
22
22
|
)
|
|
23
|
-
from validio_sdk.resource._util import
|
|
23
|
+
from validio_sdk.resource._util import (
|
|
24
|
+
SourceSchemaInferenceSkip,
|
|
25
|
+
SourceSchemaReinference,
|
|
26
|
+
)
|
|
24
27
|
from validio_sdk.resource.replacement import (
|
|
25
28
|
ImmutableFieldReplacementReason,
|
|
26
29
|
RecreateOnChangeReplacementReason,
|
|
@@ -130,6 +133,26 @@ update_all_schemas_option = typer.Option(
|
|
|
130
133
|
),
|
|
131
134
|
)
|
|
132
135
|
|
|
136
|
+
skip_schema_inference_option = typer.Option(
|
|
137
|
+
[],
|
|
138
|
+
help=(
|
|
139
|
+
f"{BETA_BANNER} "
|
|
140
|
+
"Specify a Source name to create without inferring its schema. This will"
|
|
141
|
+
" fallback to the corresponding schema in the Validio catalog. You can use"
|
|
142
|
+
" --skip-schema-inference src1 --skip-schema-inference src2 to specify"
|
|
143
|
+
" multiple Sources."
|
|
144
|
+
),
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
skip_all_schema_inference_option = typer.Option(
|
|
148
|
+
False,
|
|
149
|
+
help=(
|
|
150
|
+
f"{BETA_BANNER} "
|
|
151
|
+
"Similar to --skip-schema-inference. Skips schema inference for all Sources"
|
|
152
|
+
" being created"
|
|
153
|
+
),
|
|
154
|
+
)
|
|
155
|
+
|
|
133
156
|
show_progress_option = typer.Option(
|
|
134
157
|
sys.stdout.isatty(),
|
|
135
158
|
help=(
|
|
@@ -172,6 +195,8 @@ async def plan(
|
|
|
172
195
|
config_dir: str = ConfigDir,
|
|
173
196
|
update_schema: list[str] = update_schema_option,
|
|
174
197
|
update_all_schemas: bool = update_all_schemas_option,
|
|
198
|
+
skip_schema_inference: list[str] = skip_schema_inference_option,
|
|
199
|
+
skip_all_schema_inference: bool = skip_all_schema_inference_option,
|
|
175
200
|
show_schema: bool = show_schema_option,
|
|
176
201
|
diff_output: DiffOutput = diff_option,
|
|
177
202
|
destroy: bool = destroy_option,
|
|
@@ -193,6 +218,9 @@ async def plan(
|
|
|
193
218
|
schema_reinference = create_source_schema_reinference(
|
|
194
219
|
update_schema, update_all_schemas
|
|
195
220
|
)
|
|
221
|
+
schema_inference_skip = create_source_schema_inference_skip(
|
|
222
|
+
skip_schema_inference, skip_all_schema_inference
|
|
223
|
+
)
|
|
196
224
|
|
|
197
225
|
namespace = get_namespace(dir_path)
|
|
198
226
|
await _plan(
|
|
@@ -200,6 +228,7 @@ async def plan(
|
|
|
200
228
|
client=client,
|
|
201
229
|
directory=dir_path,
|
|
202
230
|
schema_reinference=schema_reinference,
|
|
231
|
+
schema_inference_skip=schema_inference_skip,
|
|
203
232
|
destroy=destroy,
|
|
204
233
|
no_capture=no_capture,
|
|
205
234
|
color=color,
|
|
@@ -230,6 +259,8 @@ async def apply(
|
|
|
230
259
|
config_dir: str = ConfigDir,
|
|
231
260
|
update_schema: list[str] = update_schema_option,
|
|
232
261
|
update_all_schemas: bool = update_all_schemas_option,
|
|
262
|
+
skip_schema_inference: list[str] = skip_schema_inference_option,
|
|
263
|
+
skip_all_schema_inference: bool = skip_all_schema_inference_option,
|
|
233
264
|
show_schema: bool = show_schema_option,
|
|
234
265
|
diff_output: DiffOutput = diff_option,
|
|
235
266
|
destroy: bool = destroy_option,
|
|
@@ -263,6 +294,9 @@ async def apply(
|
|
|
263
294
|
schema_reinference = create_source_schema_reinference(
|
|
264
295
|
update_schema, update_all_schemas
|
|
265
296
|
)
|
|
297
|
+
schema_inference_skip = create_source_schema_inference_skip(
|
|
298
|
+
skip_schema_inference, skip_all_schema_inference
|
|
299
|
+
)
|
|
266
300
|
|
|
267
301
|
namespace = get_namespace(dir_path)
|
|
268
302
|
plan_result = await _plan(
|
|
@@ -270,6 +304,7 @@ async def apply(
|
|
|
270
304
|
client=client,
|
|
271
305
|
directory=dir_path,
|
|
272
306
|
schema_reinference=schema_reinference,
|
|
307
|
+
schema_inference_skip=schema_inference_skip,
|
|
273
308
|
destroy=destroy,
|
|
274
309
|
no_capture=no_capture,
|
|
275
310
|
color=color,
|
|
@@ -308,6 +343,7 @@ async def apply(
|
|
|
308
343
|
show_progress=progress,
|
|
309
344
|
dry_run_sql=dry_run_sql,
|
|
310
345
|
test_credentials=test_credentials,
|
|
346
|
+
schema_inference_skip=schema_inference_skip,
|
|
311
347
|
)
|
|
312
348
|
|
|
313
349
|
print(
|
|
@@ -435,6 +471,7 @@ async def _plan(
|
|
|
435
471
|
destroy: bool,
|
|
436
472
|
no_capture: bool,
|
|
437
473
|
color: bool,
|
|
474
|
+
schema_inference_skip: SourceSchemaInferenceSkip = SourceSchemaInferenceSkip(),
|
|
438
475
|
show_schema: bool = False,
|
|
439
476
|
diff_output: DiffOutput = DiffOutput.FULL,
|
|
440
477
|
show_secrets: bool = False,
|
|
@@ -447,6 +484,7 @@ async def _plan(
|
|
|
447
484
|
client=client,
|
|
448
485
|
directory=directory,
|
|
449
486
|
schema_reinference=schema_reinference,
|
|
487
|
+
schema_inference_skip=schema_inference_skip,
|
|
450
488
|
destroy=destroy,
|
|
451
489
|
no_capture=no_capture,
|
|
452
490
|
show_secrets=show_secrets,
|
|
@@ -741,6 +779,20 @@ def create_source_schema_reinference(
|
|
|
741
779
|
)
|
|
742
780
|
|
|
743
781
|
|
|
782
|
+
def create_source_schema_inference_skip(
|
|
783
|
+
sources_to_skip: list[str], skip_all: bool
|
|
784
|
+
) -> SourceSchemaInferenceSkip:
|
|
785
|
+
source_names = None
|
|
786
|
+
if skip_all:
|
|
787
|
+
source_names = []
|
|
788
|
+
elif len(sources_to_skip) > 0:
|
|
789
|
+
source_names = sources_to_skip
|
|
790
|
+
|
|
791
|
+
return SourceSchemaInferenceSkip(
|
|
792
|
+
set(source_names) if source_names is not None else None
|
|
793
|
+
)
|
|
794
|
+
|
|
795
|
+
|
|
744
796
|
def _print_no_changes() -> None:
|
|
745
797
|
print("No changes. The configuration is up-to-date!")
|
|
746
798
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
from typing import Any, Optional
|
|
2
2
|
|
|
3
|
-
import click
|
|
4
3
|
import typer
|
|
5
4
|
from validio_sdk import ValidioError
|
|
6
5
|
|
|
@@ -15,21 +14,7 @@ from validio_cli import (
|
|
|
15
14
|
output_text,
|
|
16
15
|
)
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
class RoleSuggestion(click.ParamType):
|
|
20
|
-
name = "role"
|
|
21
|
-
|
|
22
|
-
def get_metavar(self, _: click.Parameter) -> str | None:
|
|
23
|
-
return "[Admin|Editor|Viewer|<Custom>]"
|
|
24
|
-
|
|
25
|
-
def convert(
|
|
26
|
-
self,
|
|
27
|
-
value: Any,
|
|
28
|
-
_param: click.Parameter | None,
|
|
29
|
-
_ctx: click.Context | None,
|
|
30
|
-
) -> Any:
|
|
31
|
-
return value
|
|
32
|
-
|
|
17
|
+
ROLE_METAVAR = "[Admin|Editor|Viewer|<Custom>]"
|
|
33
18
|
|
|
34
19
|
app = AsyncTyper(help="Namespaces used to separate resources")
|
|
35
20
|
|
|
@@ -63,7 +48,7 @@ async def create(
|
|
|
63
48
|
identifier: str = typer.Argument(..., help="Namespace name"),
|
|
64
49
|
role: str = typer.Option(
|
|
65
50
|
None,
|
|
66
|
-
|
|
51
|
+
metavar=ROLE_METAVAR,
|
|
67
52
|
help="The role (name or id) to assign --api-key and --member",
|
|
68
53
|
),
|
|
69
54
|
api_key: list[str] = typer.Option(
|
|
@@ -134,7 +119,7 @@ async def update(
|
|
|
134
119
|
identifier: str = typer.Argument(..., help="Namespace name"),
|
|
135
120
|
role: str = typer.Option(
|
|
136
121
|
None,
|
|
137
|
-
|
|
122
|
+
metavar=ROLE_METAVAR,
|
|
138
123
|
help="The role (name or id) to assign --api-key and --member",
|
|
139
124
|
),
|
|
140
125
|
api_key: list[str] = typer.Option(
|
|
@@ -4,7 +4,6 @@ import uuid
|
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
from typing import Any, Optional, cast
|
|
6
6
|
|
|
7
|
-
import click
|
|
8
7
|
import typer
|
|
9
8
|
from prompt_toolkit import PromptSession
|
|
10
9
|
from prompt_toolkit.completion import WordCompleter
|
|
@@ -283,6 +282,7 @@ async def reset(
|
|
|
283
282
|
|
|
284
283
|
@infer_schema_app.callback(invoke_without_command=True)
|
|
285
284
|
def main(
|
|
285
|
+
ctx: typer.Context,
|
|
286
286
|
interactive: bool = typer.Option(
|
|
287
287
|
False, "--interactive", "-i", help="Infer schema with an interactive prompt"
|
|
288
288
|
),
|
|
@@ -290,8 +290,6 @@ def main(
|
|
|
290
290
|
filename: Path = schema_filename_option("schema"),
|
|
291
291
|
namespace: str = Namespace(),
|
|
292
292
|
) -> None:
|
|
293
|
-
ctx = click.get_current_context()
|
|
294
|
-
|
|
295
293
|
# A subcommand was run prior to this, nothing todo
|
|
296
294
|
if ctx.invoked_subcommand is not None:
|
|
297
295
|
return None
|
|
@@ -302,7 +300,7 @@ def main(
|
|
|
302
300
|
|
|
303
301
|
# A flag for this command was used but not interactive, print the help as if
|
|
304
302
|
# no command was given
|
|
305
|
-
|
|
303
|
+
typer.echo(ctx.get_help())
|
|
306
304
|
|
|
307
305
|
return None
|
|
308
306
|
|
|
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
|