cloudsmith-cli 1.11.0__py2.py3-none-any.whl → 1.12.0__py2.py3-none-any.whl
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.
- cloudsmith_cli/cli/commands/__init__.py +0 -1
- cloudsmith_cli/cli/commands/main.py +22 -12
- cloudsmith_cli/cli/commands/metrics/entitlements.py +1 -1
- cloudsmith_cli/cli/commands/metrics/packages.py +1 -1
- cloudsmith_cli/cli/commands/upstream.py +1 -0
- cloudsmith_cli/cli/config.py +1 -32
- cloudsmith_cli/cli/decorators.py +3 -47
- cloudsmith_cli/cli/tests/commands/test_main.py +28 -0
- cloudsmith_cli/cli/tests/commands/test_repos.py +3 -3
- cloudsmith_cli/core/ratelimits.py +1 -1
- cloudsmith_cli/core/tests/test_init.py +1 -1
- cloudsmith_cli/data/VERSION +1 -1
- {cloudsmith_cli-1.11.0.dist-info → cloudsmith_cli-1.12.0.dist-info}/METADATA +3 -6
- {cloudsmith_cli-1.11.0.dist-info → cloudsmith_cli-1.12.0.dist-info}/RECORD +18 -23
- {cloudsmith_cli-1.11.0.dist-info → cloudsmith_cli-1.12.0.dist-info}/WHEEL +1 -1
- cloudsmith_cli/cli/commands/mcp.py +0 -424
- cloudsmith_cli/cli/tests/commands/test_mcp.py +0 -357
- cloudsmith_cli/core/mcp/__init__.py +0 -0
- cloudsmith_cli/core/mcp/data.py +0 -17
- cloudsmith_cli/core/mcp/server.py +0 -779
- {cloudsmith_cli-1.11.0.dist-info → cloudsmith_cli-1.12.0.dist-info}/entry_points.txt +0 -0
- {cloudsmith_cli-1.11.0.dist-info → cloudsmith_cli-1.12.0.dist-info}/licenses/LICENSE +0 -0
- {cloudsmith_cli-1.11.0.dist-info → cloudsmith_cli-1.12.0.dist-info}/top_level.txt +0 -0
|
@@ -5,22 +5,31 @@ import click
|
|
|
5
5
|
from ...core.api.version import get_version as get_api_version
|
|
6
6
|
from ...core.utils import get_github_website, get_help_website
|
|
7
7
|
from ...core.version import get_version as get_cli_version
|
|
8
|
-
from .. import command, decorators
|
|
8
|
+
from .. import command, decorators, utils
|
|
9
9
|
|
|
10
10
|
CONTEXT_SETTINGS = dict(help_option_names=["-h", "--help"])
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
def print_version():
|
|
13
|
+
def print_version(opts):
|
|
14
14
|
"""Print the environment versions."""
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
)
|
|
15
|
+
cli_version = get_cli_version()
|
|
16
|
+
api_version = get_api_version()
|
|
17
|
+
|
|
18
|
+
data = {
|
|
19
|
+
"cli_version": cli_version,
|
|
20
|
+
"api_version": api_version,
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if not utils.maybe_print_as_json(opts, data):
|
|
24
|
+
click.echo("Versions:")
|
|
25
|
+
click.secho(
|
|
26
|
+
"CLI Package Version: %(version)s"
|
|
27
|
+
% {"version": click.style(cli_version, bold=True)}
|
|
28
|
+
)
|
|
29
|
+
click.secho(
|
|
30
|
+
"API Package Version: %(version)s"
|
|
31
|
+
% {"version": click.style(api_version, bold=True)}
|
|
32
|
+
)
|
|
24
33
|
|
|
25
34
|
|
|
26
35
|
@click.group(
|
|
@@ -52,12 +61,13 @@ For issues/contributing: %(github_website)s
|
|
|
52
61
|
is_eager=True,
|
|
53
62
|
)
|
|
54
63
|
@decorators.common_cli_config_options
|
|
64
|
+
@decorators.common_cli_output_options
|
|
55
65
|
@click.pass_context
|
|
56
66
|
def main(ctx, opts, version):
|
|
57
67
|
"""Handle entrypoint to CLI."""
|
|
58
68
|
# pylint: disable=unused-argument
|
|
59
69
|
|
|
60
70
|
if version:
|
|
61
|
-
print_version()
|
|
71
|
+
print_version(opts)
|
|
62
72
|
elif ctx.invoked_subcommand is None:
|
|
63
73
|
click.echo(ctx.get_help())
|
|
@@ -75,7 +75,7 @@ def _print_metrics_table(opts, data):
|
|
|
75
75
|
type=str,
|
|
76
76
|
required=False,
|
|
77
77
|
help=(
|
|
78
|
-
"A comma
|
|
78
|
+
"A comma separated list of entitlement token identifiers (i.e. slug_perm) or "
|
|
79
79
|
"token secrets. If a list is not specified then all entitlement tokens will "
|
|
80
80
|
"be included for a given namespace or repository."
|
|
81
81
|
),
|
|
@@ -74,7 +74,7 @@ def _print_metrics_table(opts, data):
|
|
|
74
74
|
type=str,
|
|
75
75
|
required=False,
|
|
76
76
|
help=(
|
|
77
|
-
"A comma
|
|
77
|
+
"A comma separated list of package identifiers (i.e. slug_perm). "
|
|
78
78
|
"If a list is not specified then all package will be included for "
|
|
79
79
|
"a given repository."
|
|
80
80
|
),
|
cloudsmith_cli/cli/config.py
CHANGED
|
@@ -64,8 +64,6 @@ class ConfigSchema:
|
|
|
64
64
|
api_proxy = ConfigParam(name="api_proxy", type=str)
|
|
65
65
|
api_ssl_verify = ConfigParam(name="api_ssl_verify", type=bool, default=True)
|
|
66
66
|
api_user_agent = ConfigParam(name="api_user_agent", type=str)
|
|
67
|
-
mcp_allowed_tools = ConfigParam(name="mcp_allowed_tools", type=str)
|
|
68
|
-
mcp_allowed_tool_groups = ConfigParam(name="mcp_allowed_tool_groups", type=str)
|
|
69
67
|
|
|
70
68
|
@matches_section("profile:*")
|
|
71
69
|
class Profile(Default):
|
|
@@ -97,7 +95,7 @@ class ConfigReader(ConfigFileReader):
|
|
|
97
95
|
|
|
98
96
|
@classmethod
|
|
99
97
|
def get_default_filepath(cls):
|
|
100
|
-
"""Get the default filepath for the
|
|
98
|
+
"""Get the default filepath for the configuration file."""
|
|
101
99
|
if not cls.config_files:
|
|
102
100
|
return None
|
|
103
101
|
if not cls.config_searchpath:
|
|
@@ -350,35 +348,6 @@ class Options:
|
|
|
350
348
|
"""Set value for debug flag."""
|
|
351
349
|
self._set_option("debug", bool(value))
|
|
352
350
|
|
|
353
|
-
@property
|
|
354
|
-
def mcp_allowed_tools(self):
|
|
355
|
-
"""Get value for Allowed MCP Tools."""
|
|
356
|
-
return self._get_option("mcp_allowed_tools")
|
|
357
|
-
|
|
358
|
-
@mcp_allowed_tools.setter
|
|
359
|
-
def mcp_allowed_tools(self, value):
|
|
360
|
-
"""Set value for Allowed MCP Tools."""
|
|
361
|
-
|
|
362
|
-
if not value:
|
|
363
|
-
return
|
|
364
|
-
tools = value.split(",")
|
|
365
|
-
|
|
366
|
-
self._set_option("mcp_allowed_tools", tools)
|
|
367
|
-
|
|
368
|
-
@property
|
|
369
|
-
def mcp_allowed_tool_groups(self):
|
|
370
|
-
"""Get value for Allowed MCP Tool Groups."""
|
|
371
|
-
return self._get_option("mcp_allowed_tool_groups")
|
|
372
|
-
|
|
373
|
-
@mcp_allowed_tool_groups.setter
|
|
374
|
-
def mcp_allowed_tool_groups(self, value):
|
|
375
|
-
"""Set value for Allowed MCP Tool Groups."""
|
|
376
|
-
if not value:
|
|
377
|
-
return
|
|
378
|
-
tool_groups = value.split(",")
|
|
379
|
-
|
|
380
|
-
self._set_option("mcp_allowed_tool_groups", tool_groups)
|
|
381
|
-
|
|
382
351
|
@property
|
|
383
352
|
def output(self):
|
|
384
353
|
"""Get value for output format."""
|
cloudsmith_cli/cli/decorators.py
CHANGED
|
@@ -7,7 +7,6 @@ import click
|
|
|
7
7
|
from cloudsmith_cli.cli import validators
|
|
8
8
|
|
|
9
9
|
from ..core.api.init import initialise_api as _initialise_api
|
|
10
|
-
from ..core.mcp import server
|
|
11
10
|
from . import config, utils
|
|
12
11
|
|
|
13
12
|
|
|
@@ -94,15 +93,9 @@ def common_cli_config_options(f):
|
|
|
94
93
|
def wrapper(ctx, *args, **kwargs):
|
|
95
94
|
# pylint: disable=missing-docstring
|
|
96
95
|
opts = config.get_or_create_options(ctx)
|
|
97
|
-
profile = kwargs.pop("profile")
|
|
98
|
-
config_file = kwargs.pop("config_file")
|
|
99
|
-
creds_file = kwargs.pop("credentials_file")
|
|
100
|
-
|
|
101
|
-
# Store in context for subcommands to inherit
|
|
102
|
-
ctx.meta["profile"] = profile
|
|
103
|
-
ctx.meta["config_file"] = config_file
|
|
104
|
-
ctx.meta["creds_file"] = creds_file
|
|
105
|
-
|
|
96
|
+
profile = kwargs.pop("profile")
|
|
97
|
+
config_file = kwargs.pop("config_file")
|
|
98
|
+
creds_file = kwargs.pop("credentials_file")
|
|
106
99
|
opts.load_config_file(path=config_file, profile=profile)
|
|
107
100
|
opts.load_creds_file(path=creds_file, profile=profile)
|
|
108
101
|
kwargs["opts"] = opts
|
|
@@ -337,40 +330,3 @@ def initialise_api(f):
|
|
|
337
330
|
return ctx.invoke(f, *args, **kwargs)
|
|
338
331
|
|
|
339
332
|
return wrapper
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
def initialise_mcp(f):
|
|
343
|
-
@click.option(
|
|
344
|
-
"-a",
|
|
345
|
-
"--all-tools",
|
|
346
|
-
default=False,
|
|
347
|
-
is_flag=True,
|
|
348
|
-
help="Show all tools",
|
|
349
|
-
)
|
|
350
|
-
@click.option(
|
|
351
|
-
"-d",
|
|
352
|
-
"--allow-destructive-tools",
|
|
353
|
-
default=False,
|
|
354
|
-
is_flag=True,
|
|
355
|
-
help="Allow destructive tools to be used",
|
|
356
|
-
)
|
|
357
|
-
@click.pass_context
|
|
358
|
-
@functools.wraps(f)
|
|
359
|
-
def wrapper(ctx, *args, **kwargs):
|
|
360
|
-
opts = kwargs.get("opts")
|
|
361
|
-
|
|
362
|
-
all_tools = kwargs.pop("all_tools")
|
|
363
|
-
allow_destructive_tools = kwargs.pop("allow_destructive_tools")
|
|
364
|
-
|
|
365
|
-
mcp_server = server.DynamicMCPServer(
|
|
366
|
-
api_config=opts.api_config,
|
|
367
|
-
debug_mode=opts.debug,
|
|
368
|
-
allow_destructive_tools=allow_destructive_tools,
|
|
369
|
-
allowed_tool_groups=opts.mcp_allowed_tool_groups,
|
|
370
|
-
allowed_tools=opts.mcp_allowed_tools,
|
|
371
|
-
force_all_tools=all_tools,
|
|
372
|
-
)
|
|
373
|
-
kwargs["mcp_server"] = mcp_server
|
|
374
|
-
return ctx.invoke(f, *args, **kwargs)
|
|
375
|
-
|
|
376
|
-
return wrapper
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import json
|
|
2
|
+
|
|
1
3
|
import pytest
|
|
2
4
|
|
|
3
5
|
from ....core.api.version import get_version as get_api_version
|
|
@@ -17,6 +19,32 @@ class TestMainCommand:
|
|
|
17
19
|
"API Package Version: " + get_api_version() + "\n"
|
|
18
20
|
)
|
|
19
21
|
|
|
22
|
+
@pytest.mark.parametrize("option", ["-V", "--version"])
|
|
23
|
+
@pytest.mark.parametrize(
|
|
24
|
+
"format_option,format_value",
|
|
25
|
+
[("-F", "json"), ("--output-format", "json")],
|
|
26
|
+
)
|
|
27
|
+
def test_main_version_json(self, runner, option, format_option, format_value):
|
|
28
|
+
"""Test the JSON output of `cloudsmith --version --output-format json`."""
|
|
29
|
+
result = runner.invoke(main, [option, format_option, format_value])
|
|
30
|
+
assert result.exit_code == 0
|
|
31
|
+
output = json.loads(result.output)
|
|
32
|
+
assert "data" in output
|
|
33
|
+
assert output["data"]["cli_version"] == get_version()
|
|
34
|
+
assert output["data"]["api_version"] == get_api_version()
|
|
35
|
+
|
|
36
|
+
@pytest.mark.parametrize("option", ["-V", "--version"])
|
|
37
|
+
def test_main_version_pretty_json(self, runner, option):
|
|
38
|
+
"""Test the pretty JSON output of `cloudsmith --version --output-format pretty_json`."""
|
|
39
|
+
result = runner.invoke(main, [option, "--output-format", "pretty_json"])
|
|
40
|
+
assert result.exit_code == 0
|
|
41
|
+
output = json.loads(result.output)
|
|
42
|
+
assert "data" in output
|
|
43
|
+
assert output["data"]["cli_version"] == get_version()
|
|
44
|
+
assert output["data"]["api_version"] == get_api_version()
|
|
45
|
+
# Verify it's formatted with indentation
|
|
46
|
+
assert " " in result.output
|
|
47
|
+
|
|
20
48
|
@pytest.mark.parametrize("option", ["-h", "--help"])
|
|
21
49
|
def test_main_help(self, runner, option):
|
|
22
50
|
"""Test the output of `cloudsmith --help`."""
|
|
@@ -35,13 +35,13 @@ def parse_table(output):
|
|
|
35
35
|
Results: 1 repository visible
|
|
36
36
|
```
|
|
37
37
|
"""
|
|
38
|
-
|
|
38
|
+
separator = "|"
|
|
39
39
|
column_headers = []
|
|
40
40
|
row_values = []
|
|
41
41
|
|
|
42
42
|
for line in output.split("\n"):
|
|
43
|
-
if
|
|
44
|
-
raw_values = [raw_value.strip() for raw_value in line.split(
|
|
43
|
+
if separator in line:
|
|
44
|
+
raw_values = [raw_value.strip() for raw_value in line.split(separator)]
|
|
45
45
|
if not column_headers:
|
|
46
46
|
# If we don't have keys yet, then this must be the column headers
|
|
47
47
|
column_headers = raw_values
|
|
@@ -40,7 +40,7 @@ class RateLimitsInfo:
|
|
|
40
40
|
info.remaining = int(data["remaining"])
|
|
41
41
|
if "reset" in data:
|
|
42
42
|
info.reset = datetime.datetime.utcfromtimestamp(int(data["reset"]))
|
|
43
|
-
if "
|
|
43
|
+
if "throttled" in data:
|
|
44
44
|
info.throttled = bool(data["throttled"])
|
|
45
45
|
else:
|
|
46
46
|
info.throttled = info.remaining == 0
|
|
@@ -58,7 +58,7 @@ def mocked_update_refresh_attempted_at():
|
|
|
58
58
|
|
|
59
59
|
class TestInitialiseApi:
|
|
60
60
|
def setup_class(cls): # pylint: disable=no-self-argument
|
|
61
|
-
# For the purposes of these tests, we need to
|
|
61
|
+
# For the purposes of these tests, we need to explicitly call set_default(None) at the
|
|
62
62
|
# outset because other tests in the suite may have called initialise_api() already.
|
|
63
63
|
# Resetting Configuration._default to None here effectively reverts the
|
|
64
64
|
# Configuration class to its vanilla, unmodified behaviour/state.
|
cloudsmith_cli/data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.12.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cloudsmith-cli
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.12.0
|
|
4
4
|
Summary: Cloudsmith Command-Line Interface (CLI)
|
|
5
5
|
Home-page: https://github.com/cloudsmith-io/cloudsmith-cli
|
|
6
6
|
Author: Cloudsmith Ltd
|
|
@@ -15,7 +15,6 @@ Classifier: Intended Audience :: System Administrators
|
|
|
15
15
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
16
16
|
Classifier: Operating System :: POSIX :: Linux
|
|
17
17
|
Classifier: Programming Language :: Python
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -31,10 +30,8 @@ Requires-Dist: click!=8.3.0,>=8.1.8
|
|
|
31
30
|
Requires-Dist: click-configfile>=0.2.3
|
|
32
31
|
Requires-Dist: click-didyoumean>=0.0.3
|
|
33
32
|
Requires-Dist: click-spinner>=0.1.7
|
|
34
|
-
Requires-Dist: cloudsmith-api<3.0,>=2.0.
|
|
33
|
+
Requires-Dist: cloudsmith-api<3.0,>=2.0.24
|
|
35
34
|
Requires-Dist: keyring>=25.4.1
|
|
36
|
-
Requires-Dist: mcp==1.9.1
|
|
37
|
-
Requires-Dist: toon-python==0.1.2
|
|
38
35
|
Requires-Dist: requests>=2.18.4
|
|
39
36
|
Requires-Dist: requests_toolbelt>=1.0.0
|
|
40
37
|
Requires-Dist: semver>=2.7.9
|
|
@@ -58,7 +55,7 @@ Dynamic: summary
|
|
|
58
55
|
[](https://cloudsmith.io/~cloudsmith/repos/cli/packages/detail/python/cloudsmith-cli/latest/xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/)
|
|
59
56
|
[](https://pypi.python.org/pypi/cloudsmith-cli)
|
|
60
57
|
[](https://pypi.python.org/pypi/cloudsmith-cli)
|
|
61
|
-
[](https://github.com/cloudsmith-io/cloudsmith-cli/actions/workflows/test.yml)
|
|
62
59
|
[](https://github.com/ambv/black)
|
|
63
60
|
|
|
64
61
|
|
|
@@ -2,8 +2,8 @@ cloudsmith_cli/__init__.py,sha256=os5rpSQxihzAz72UaZugFVGTE1MOaB2-ocgwVUStcRY,24
|
|
|
2
2
|
cloudsmith_cli/__main__.py,sha256=sWZCxOvdsp_Op1y4A7cyFVo-5fgQ667grmiy8FKX-5w,219
|
|
3
3
|
cloudsmith_cli/cli/__init__.py,sha256=GK3VaqGyKB8vkN501vzSah_cirIorR5qQpVMry5wv7Y,34
|
|
4
4
|
cloudsmith_cli/cli/command.py,sha256=K374dd1eDLTdQyRdqHE7PSKqhh4PbcrDxoUDVr_s23U,4816
|
|
5
|
-
cloudsmith_cli/cli/config.py,sha256=
|
|
6
|
-
cloudsmith_cli/cli/decorators.py,sha256=
|
|
5
|
+
cloudsmith_cli/cli/config.py,sha256=qCVH03dVS58ISLSm9jKloOtixIslNP7ZbZhlkwipmpQ,13132
|
|
6
|
+
cloudsmith_cli/cli/decorators.py,sha256=KMc9jv1jxc9nRMGIliDm6KUtdFKcPxiR1Q0rltA83t0,10885
|
|
7
7
|
cloudsmith_cli/cli/exceptions.py,sha256=NjtRnF0cSzRIf6B2xuSxz3PdghGn0LPnnlsHUewA7Pc,6762
|
|
8
8
|
cloudsmith_cli/cli/saml.py,sha256=VluL-oM4mReXi0ycdFUQJQisNKo9limAiIjSVzGRBnM,3202
|
|
9
9
|
cloudsmith_cli/cli/table.py,sha256=S03d5izcsz8keKYP3Ep1C4i3sEwYigjUUCSkBKPskHw,1530
|
|
@@ -11,7 +11,7 @@ cloudsmith_cli/cli/types.py,sha256=89hPhNtUS1E6GnUxm_Lv_cj9OfNqI6G5s5gD-uRz1Dw,4
|
|
|
11
11
|
cloudsmith_cli/cli/utils.py,sha256=FY8begpgyhLJjEvE41N85CEmEeTGJzStn_lvodCkW3E,6326
|
|
12
12
|
cloudsmith_cli/cli/validators.py,sha256=J9ZEwGsahFQ5B7PT9Ioz4MlJNM6kd4D-X-7xK0US0pw,10003
|
|
13
13
|
cloudsmith_cli/cli/webserver.py,sha256=b2-Ei-s62lp9QyYPuZ4DhXwMcYKXobwQtfXT41gK0ek,8079
|
|
14
|
-
cloudsmith_cli/cli/commands/__init__.py,sha256=
|
|
14
|
+
cloudsmith_cli/cli/commands/__init__.py,sha256=vW6LrMnln5s0-fmsX-RVlcnUVl0ioSRaC8GP-fQAFsQ,352
|
|
15
15
|
cloudsmith_cli/cli/commands/auth.py,sha256=xJKT10BbNSdQQUQc1OUyoMjOXCbP4oeIEusVI_AtKaw,3367
|
|
16
16
|
cloudsmith_cli/cli/commands/check.py,sha256=xfqWTOzT5zsdYIUPgKCF3TdhXoX3Koj0UPGyVLC8pSo,4105
|
|
17
17
|
cloudsmith_cli/cli/commands/copy.py,sha256=a2-4inh747i53dRtR_XngM3q2HNO6PAfd3qvaGILLnw,2777
|
|
@@ -23,8 +23,7 @@ cloudsmith_cli/cli/commands/entitlements.py,sha256=qDod53h3tWoAHpDa8qOzVpo7Nowwz
|
|
|
23
23
|
cloudsmith_cli/cli/commands/help_.py,sha256=--_NwWZBZWfEnG6MzteaZO6u3IIlh3wufvGbh8JcSv4,226
|
|
24
24
|
cloudsmith_cli/cli/commands/list_.py,sha256=GtlYAtMOlcmYQBzFG5NrZl4mQX0juN-3HLqZZkCNQNA,10039
|
|
25
25
|
cloudsmith_cli/cli/commands/login.py,sha256=seIutJQhu4Gk7tLTGWiSVHs53eiLr_zydEfvuuWJUFo,3486
|
|
26
|
-
cloudsmith_cli/cli/commands/main.py,sha256=
|
|
27
|
-
cloudsmith_cli/cli/commands/mcp.py,sha256=0z_k6I56rSUFy7bGEGypSsHxiSL6ES4DAGKXtZf58oY,12983
|
|
26
|
+
cloudsmith_cli/cli/commands/main.py,sha256=GHT2mdzCfI1Rlh0JVu5Q3CrorHNSy57sSAUXhs0gZvw,2188
|
|
28
27
|
cloudsmith_cli/cli/commands/move.py,sha256=7jGyWvYed-B_i522MRR1h3EVvx-Uy8zdgDKnYCFHkQQ,3120
|
|
29
28
|
cloudsmith_cli/cli/commands/push.py,sha256=fH9uYJ4sOslvSOchBzd1yRjVPc0x07RGsPITOMQpqiw,22256
|
|
30
29
|
cloudsmith_cli/cli/commands/quarantine.py,sha256=NNWoCk5njAvbTpsed0ElR2LEPWSfXwyWbeC7HCRqbf4,4593
|
|
@@ -33,12 +32,12 @@ cloudsmith_cli/cli/commands/resync.py,sha256=jELS9Ok1vltvuRlVhlr2EQENSYr6HnFJHbo
|
|
|
33
32
|
cloudsmith_cli/cli/commands/status.py,sha256=cmzZTmzj67qyf4Cob_Cd1abxVpxHOHbTDH2RxvGQzUQ,2504
|
|
34
33
|
cloudsmith_cli/cli/commands/tags.py,sha256=K7B_OYGnDfQbAMc_Rcj6Xx-rS4dNzUqJEhVwuVlZG-0,11668
|
|
35
34
|
cloudsmith_cli/cli/commands/tokens.py,sha256=FLlQDF-qzFeBlnUIhoDwjNMUv03dbV-MZR8wFHiuw5k,8147
|
|
36
|
-
cloudsmith_cli/cli/commands/upstream.py,sha256=
|
|
35
|
+
cloudsmith_cli/cli/commands/upstream.py,sha256=Rfh3bTAyo49SraKQr2PAnSLM7rqnAl4_ta69IgX7DZY,15878
|
|
37
36
|
cloudsmith_cli/cli/commands/whoami.py,sha256=0rpXnXmii3viDSsmoXC__DsyY8X0mGi4Wxi_hKEjhTI,1680
|
|
38
37
|
cloudsmith_cli/cli/commands/metrics/__init__.py,sha256=w-FjDvifPvTgf1nwGpTuhzk5mLkqmfvA9utrPqSUSdM,98
|
|
39
38
|
cloudsmith_cli/cli/commands/metrics/command.py,sha256=-4ykfBJ8Ss6w8QoCqL0AZdhcF7ZmmahtvQ_5YTYif5c,510
|
|
40
|
-
cloudsmith_cli/cli/commands/metrics/entitlements.py,sha256=
|
|
41
|
-
cloudsmith_cli/cli/commands/metrics/packages.py,sha256=
|
|
39
|
+
cloudsmith_cli/cli/commands/metrics/entitlements.py,sha256=RfME-Ovgu7-Pk3MOliq0y5fuq8obGrNOeE-4Ol5hPIY,4337
|
|
40
|
+
cloudsmith_cli/cli/commands/metrics/packages.py,sha256=rEU_MfYhshQsp499LoBizxDkOJBuzOkxLrQk5EhfiBM,3912
|
|
42
41
|
cloudsmith_cli/cli/commands/policy/__init__.py,sha256=vWUlqzuIZisbaLdQM4Gx7aCAM2RKPUIHEC5_XTRY-oY,157
|
|
43
42
|
cloudsmith_cli/cli/commands/policy/command.py,sha256=crZQiXhT7w19h9Z8IFFhM3NyGCTHZ8tL4vpHR430fLo,527
|
|
44
43
|
cloudsmith_cli/cli/commands/policy/deny.py,sha256=Nb2rTfropRiK5-zvsxLQsTjlr1HpJkhlqD5_jG17ogk,7703
|
|
@@ -59,10 +58,9 @@ cloudsmith_cli/cli/tests/commands/test_check.py,sha256=_CJaDQjhXnDQimzLkhBS8wL6V
|
|
|
59
58
|
cloudsmith_cli/cli/tests/commands/test_download.py,sha256=VpD-T0GkqHzDZDGYwpN1tyCq6mgTkfdOmXQBfWdAm6E,12268
|
|
60
59
|
cloudsmith_cli/cli/tests/commands/test_entitlements.py,sha256=Xd-sRdQPMccqlSiPBp7fGeyUCBuYGLCD-3zeVPD3Mxw,737
|
|
61
60
|
cloudsmith_cli/cli/tests/commands/test_login.py,sha256=RlvPMaS2rTLah2dVF3Yt8gjG1HWEkD6zP_exzUvc1U0,1309
|
|
62
|
-
cloudsmith_cli/cli/tests/commands/test_main.py,sha256=
|
|
63
|
-
cloudsmith_cli/cli/tests/commands/test_mcp.py,sha256=PfvytYPGsIdNyB_V-DPXbYX6Eq6NMQdoImHnZtOuIGQ,13534
|
|
61
|
+
cloudsmith_cli/cli/tests/commands/test_main.py,sha256=HxSDfsbYU7Tmk_sGE2yuc_7hNrDQhR-f2TgA7Ez3O68,2260
|
|
64
62
|
cloudsmith_cli/cli/tests/commands/test_package_commands.py,sha256=vpp8TN4cbATxPEPY5GSEvHzZxdp-BaxHmcxflz-Bp6o,5943
|
|
65
|
-
cloudsmith_cli/cli/tests/commands/test_repos.py,sha256=
|
|
63
|
+
cloudsmith_cli/cli/tests/commands/test_repos.py,sha256=xA8tiZon1i6JnNOsPZO96K0wpFuTStOR4sMegGEKG_s,6738
|
|
66
64
|
cloudsmith_cli/cli/tests/commands/test_tokens.py,sha256=BnTBS5ChIvgb9-HSkxOdzVIo81C6QA8xhJ7vGposow8,4931
|
|
67
65
|
cloudsmith_cli/cli/tests/commands/test_upstream.py,sha256=AxlcRSf_ZAGBXbAu8t9LHoftTwFstSzyKN5rAEo0VoA,5435
|
|
68
66
|
cloudsmith_cli/cli/tests/commands/policy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -74,7 +72,7 @@ cloudsmith_cli/core/config.py,sha256=eFA92QQBhccF0SdRtBwG7nrFuU2AK_yWzA9e0TUcNfE
|
|
|
74
72
|
cloudsmith_cli/core/download.py,sha256=WFlTpyAR_L6Z5GXBaiA3QZ4ABLO2GS42rduSBn2JcUg,15153
|
|
75
73
|
cloudsmith_cli/core/keyring.py,sha256=v57SoE-5TaHsaMw7oCwM7ZuOVGPK1vAA2YsmWK35UAM,2310
|
|
76
74
|
cloudsmith_cli/core/pagination.py,sha256=acJgAumVoe-ef-Ie5m55z0VOn_xZagcHwSYsDLLbhtw,4553
|
|
77
|
-
cloudsmith_cli/core/ratelimits.py,sha256=
|
|
75
|
+
cloudsmith_cli/core/ratelimits.py,sha256=5FfMO9tRFDmsPXtotJ-qftNK1qCwUXZs0j5T354TadQ,2535
|
|
78
76
|
cloudsmith_cli/core/rest.py,sha256=T9SjVwly2I0IzTwBTUtj5c-Yc6I2nnsmUQpuztsuVnw,8061
|
|
79
77
|
cloudsmith_cli/core/utils.py,sha256=L3fUMKX-8XtNlXK51EOLfF4wGq45uoQMY74ZGedNu4A,2213
|
|
80
78
|
cloudsmith_cli/core/version.py,sha256=DB62XmdfzQ23EpsdcTMqSA4fCBVV2r7eRhloMqxr4KM,488
|
|
@@ -94,24 +92,21 @@ cloudsmith_cli/core/api/status.py,sha256=DcWXhizY0qS7vFNt856OqMvu0fDB5ISiRC16utK
|
|
|
94
92
|
cloudsmith_cli/core/api/upstreams.py,sha256=zHXW1CAAIPIetv8D8F338Vs0r8lxzLfmN6hLP9fLANA,2275
|
|
95
93
|
cloudsmith_cli/core/api/user.py,sha256=wZCHInqTx0TQv2_uteMFHSByn3QP5gWU-4DXtFgI7MI,2966
|
|
96
94
|
cloudsmith_cli/core/api/version.py,sha256=zgmmTSfD3TDX_QHhuU4GyqaZvrSzpqhwTbuBfrlUYj8,342
|
|
97
|
-
cloudsmith_cli/core/mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
98
|
-
cloudsmith_cli/core/mcp/data.py,sha256=e-nHsm24nWasl5xvRhsYq9SrlmcVjBBOKRyj2bzN8MI,372
|
|
99
|
-
cloudsmith_cli/core/mcp/server.py,sha256=CEtI8gHxebncdlxgJwY7QXWUqReDCVjzDoDy2SsVQTM,28156
|
|
100
95
|
cloudsmith_cli/core/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
101
96
|
cloudsmith_cli/core/tests/test_download.py,sha256=hGVVMf6IO4UCWwkTPc2JROedQXhzphs5OD0lDhM7SXo,15784
|
|
102
|
-
cloudsmith_cli/core/tests/test_init.py,sha256=
|
|
97
|
+
cloudsmith_cli/core/tests/test_init.py,sha256=UMYCD22-lezdMZpq30bXbvJilhzhq9EdagH8OQPkwS4,7184
|
|
103
98
|
cloudsmith_cli/core/tests/test_keyring.py,sha256=cLmZjhj21gm2fdi-l95yOxQPWuq_XVVNeY3s9QSNvYc,7076
|
|
104
99
|
cloudsmith_cli/core/tests/test_rest.py,sha256=SXOZfz_YLrxtuE8I07MUWVUYxyz79VHfpYzc18QQM4s,2563
|
|
105
100
|
cloudsmith_cli/core/tests/test_version.py,sha256=k9QAjOKJ7Q5mfGSahRvtpPN0XDaGOhbbpHngqAIuM34,552
|
|
106
|
-
cloudsmith_cli/data/VERSION,sha256=
|
|
101
|
+
cloudsmith_cli/data/VERSION,sha256=yS32vd4zC-IZ1i9I7GSQsBiJQ28vWQJ6qyAOdN5hkWg,7
|
|
107
102
|
cloudsmith_cli/data/config.ini,sha256=nD39yE9-GyKSxJ5Us5V_bRjAsdhDbD5HnwRNDKeMfR4,737
|
|
108
103
|
cloudsmith_cli/data/credentials.ini,sha256=UTgXGXigPdlWUQxhQnalSJ18cLswQv6l26y7ZlYstCU,500
|
|
109
104
|
cloudsmith_cli/templates/__init__.py,sha256=00xHj3iW0vXmI5rzjbryJllE1VHhg6Dxf7uqo9dIyvo,53
|
|
110
105
|
cloudsmith_cli/templates/auth_error.html,sha256=qBdZ0TE88IFaVk0NIpSPZudDDf0PxAJnnqAyPz5KODo,1290
|
|
111
106
|
cloudsmith_cli/templates/auth_success.html,sha256=UA629tjTJmIQ_y9eJ-a5Wfp0ilo8cgSsUqjHiCzEhq0,1056
|
|
112
|
-
cloudsmith_cli-1.
|
|
113
|
-
cloudsmith_cli-1.
|
|
114
|
-
cloudsmith_cli-1.
|
|
115
|
-
cloudsmith_cli-1.
|
|
116
|
-
cloudsmith_cli-1.
|
|
117
|
-
cloudsmith_cli-1.
|
|
107
|
+
cloudsmith_cli-1.12.0.dist-info/licenses/LICENSE,sha256=eEz1wEWbBZFlc_n_P_55i4CCYgWgHYVJpQjnc6qbXOQ,11344
|
|
108
|
+
cloudsmith_cli-1.12.0.dist-info/METADATA,sha256=x7yY9aMim3LWaYEk3rWpiGjb2eWZod7InaETozfrbc4,15807
|
|
109
|
+
cloudsmith_cli-1.12.0.dist-info/WHEEL,sha256=AeO2BvogYWm3eGaHCvhzmUYt8ia7KfURiHzO_1atlys,109
|
|
110
|
+
cloudsmith_cli-1.12.0.dist-info/entry_points.txt,sha256=lQfpZ8eDB4ye9iK_TRpGnABwkcUgKIS-sGlCjbI1j9s,69
|
|
111
|
+
cloudsmith_cli-1.12.0.dist-info/top_level.txt,sha256=9P2AQ4lqblgMVHk2VHuvZKH92H0o19w-qhr_x-5ifIQ,15
|
|
112
|
+
cloudsmith_cli-1.12.0.dist-info/RECORD,,
|