cloudsmith-cli 1.11.1__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.
@@ -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
- click.echo("Versions:")
16
- click.secho(
17
- "CLI Package Version: %(version)s"
18
- % {"version": click.style(get_cli_version(), bold=True)}
19
- )
20
- click.secho(
21
- "API Package Version: %(version)s"
22
- % {"version": click.style(get_api_version(), bold=True)}
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 seperated list of entitlement token identifiers (i.e. slug_perm) or "
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 seperated list of package identifiers (i.e. slug_perm). "
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
  ),
@@ -24,6 +24,7 @@ UPSTREAM_FORMATS = [
24
24
  "dart",
25
25
  "deb",
26
26
  "docker",
27
+ "generic",
27
28
  "go",
28
29
  "helm",
29
30
  "hex",
@@ -95,7 +95,7 @@ class ConfigReader(ConfigFileReader):
95
95
 
96
96
  @classmethod
97
97
  def get_default_filepath(cls):
98
- """Get the default filepath for the configuratin file."""
98
+ """Get the default filepath for the configuration file."""
99
99
  if not cls.config_files:
100
100
  return None
101
101
  if not cls.config_searchpath:
@@ -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
- seperator = "|"
38
+ separator = "|"
39
39
  column_headers = []
40
40
  row_values = []
41
41
 
42
42
  for line in output.split("\n"):
43
- if seperator in line:
44
- raw_values = [raw_value.strip() for raw_value in line.split(seperator)]
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 "throtted" in data:
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 explcitly call set_default(None) at the
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.
@@ -1 +1 @@
1
- 1.11.1
1
+ 1.12.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cloudsmith-cli
3
- Version: 1.11.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
@@ -24,14 +23,14 @@ Classifier: Programming Language :: Python :: 3.14
24
23
  Classifier: Topic :: Internet
25
24
  Classifier: Topic :: System :: Systems Administration
26
25
  Classifier: Topic :: Utilities
27
- Requires-Python: >=3.9.0
26
+ Requires-Python: >=3.10.0
28
27
  Description-Content-Type: text/markdown
29
28
  License-File: LICENSE
30
29
  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.22
33
+ Requires-Dist: cloudsmith-api<3.0,>=2.0.24
35
34
  Requires-Dist: keyring>=25.4.1
36
35
  Requires-Dist: requests>=2.18.4
37
36
  Requires-Dist: requests_toolbelt>=1.0.0
@@ -56,7 +55,7 @@ Dynamic: summary
56
55
  [![Latest Version @ Cloudsmith](https://api-prd.cloudsmith.io/badges/version/cloudsmith/cli/python/cloudsmith-cli/latest/xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/?render=true)](https://cloudsmith.io/~cloudsmith/repos/cli/packages/detail/python/cloudsmith-cli/latest/xf=bdist_wheel;xn=cloudsmith-cli;xv=py2.py3/)
57
56
  [![Python Versions](https://img.shields.io/pypi/pyversions/cloudsmith-cli.svg)](https://pypi.python.org/pypi/cloudsmith-cli)
58
57
  [![PyPI Version](https://img.shields.io/pypi/v/cloudsmith-cli.svg)](https://pypi.python.org/pypi/cloudsmith-cli)
59
- [![CircleCI](https://circleci.com/gh/cloudsmith-io/cloudsmith-cli.svg?style=svg)](https://circleci.com/gh/cloudsmith-io/cloudsmith-cli)
58
+ [![GitHub Actions](https://github.com/cloudsmith-io/cloudsmith-cli/actions/workflows/test.yml/badge.svg)](https://github.com/cloudsmith-io/cloudsmith-cli/actions/workflows/test.yml)
60
59
  [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
61
60
 
62
61
 
@@ -2,7 +2,7 @@ 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=CuDlEQ7NHWP3kABeLrE_MZcPeCvwz5o58s8w9yRjv98,13131
5
+ cloudsmith_cli/cli/config.py,sha256=qCVH03dVS58ISLSm9jKloOtixIslNP7ZbZhlkwipmpQ,13132
6
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
@@ -23,7 +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=3KRh_uwdBxKfBSZugQ9y7LbZb3D0EtiB6PmYFCqeDG4,1896
26
+ cloudsmith_cli/cli/commands/main.py,sha256=GHT2mdzCfI1Rlh0JVu5Q3CrorHNSy57sSAUXhs0gZvw,2188
27
27
  cloudsmith_cli/cli/commands/move.py,sha256=7jGyWvYed-B_i522MRR1h3EVvx-Uy8zdgDKnYCFHkQQ,3120
28
28
  cloudsmith_cli/cli/commands/push.py,sha256=fH9uYJ4sOslvSOchBzd1yRjVPc0x07RGsPITOMQpqiw,22256
29
29
  cloudsmith_cli/cli/commands/quarantine.py,sha256=NNWoCk5njAvbTpsed0ElR2LEPWSfXwyWbeC7HCRqbf4,4593
@@ -32,12 +32,12 @@ cloudsmith_cli/cli/commands/resync.py,sha256=jELS9Ok1vltvuRlVhlr2EQENSYr6HnFJHbo
32
32
  cloudsmith_cli/cli/commands/status.py,sha256=cmzZTmzj67qyf4Cob_Cd1abxVpxHOHbTDH2RxvGQzUQ,2504
33
33
  cloudsmith_cli/cli/commands/tags.py,sha256=K7B_OYGnDfQbAMc_Rcj6Xx-rS4dNzUqJEhVwuVlZG-0,11668
34
34
  cloudsmith_cli/cli/commands/tokens.py,sha256=FLlQDF-qzFeBlnUIhoDwjNMUv03dbV-MZR8wFHiuw5k,8147
35
- cloudsmith_cli/cli/commands/upstream.py,sha256=UmWM6BKQC0H8Kk1w6oM_hVBB6xHnYqWZqpYGPuCLJbk,15863
35
+ cloudsmith_cli/cli/commands/upstream.py,sha256=Rfh3bTAyo49SraKQr2PAnSLM7rqnAl4_ta69IgX7DZY,15878
36
36
  cloudsmith_cli/cli/commands/whoami.py,sha256=0rpXnXmii3viDSsmoXC__DsyY8X0mGi4Wxi_hKEjhTI,1680
37
37
  cloudsmith_cli/cli/commands/metrics/__init__.py,sha256=w-FjDvifPvTgf1nwGpTuhzk5mLkqmfvA9utrPqSUSdM,98
38
38
  cloudsmith_cli/cli/commands/metrics/command.py,sha256=-4ykfBJ8Ss6w8QoCqL0AZdhcF7ZmmahtvQ_5YTYif5c,510
39
- cloudsmith_cli/cli/commands/metrics/entitlements.py,sha256=OhxkKYrs1jaYDsJ-fIeB-enr04B9G9XWVrDKt25b2bk,4337
40
- cloudsmith_cli/cli/commands/metrics/packages.py,sha256=zv9T2_UxGiXkAtUYN-iIb0fTOhE4_9mSNsh4t5B-tPc,3912
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
41
41
  cloudsmith_cli/cli/commands/policy/__init__.py,sha256=vWUlqzuIZisbaLdQM4Gx7aCAM2RKPUIHEC5_XTRY-oY,157
42
42
  cloudsmith_cli/cli/commands/policy/command.py,sha256=crZQiXhT7w19h9Z8IFFhM3NyGCTHZ8tL4vpHR430fLo,527
43
43
  cloudsmith_cli/cli/commands/policy/deny.py,sha256=Nb2rTfropRiK5-zvsxLQsTjlr1HpJkhlqD5_jG17ogk,7703
@@ -58,9 +58,9 @@ cloudsmith_cli/cli/tests/commands/test_check.py,sha256=_CJaDQjhXnDQimzLkhBS8wL6V
58
58
  cloudsmith_cli/cli/tests/commands/test_download.py,sha256=VpD-T0GkqHzDZDGYwpN1tyCq6mgTkfdOmXQBfWdAm6E,12268
59
59
  cloudsmith_cli/cli/tests/commands/test_entitlements.py,sha256=Xd-sRdQPMccqlSiPBp7fGeyUCBuYGLCD-3zeVPD3Mxw,737
60
60
  cloudsmith_cli/cli/tests/commands/test_login.py,sha256=RlvPMaS2rTLah2dVF3Yt8gjG1HWEkD6zP_exzUvc1U0,1309
61
- cloudsmith_cli/cli/tests/commands/test_main.py,sha256=JmtJQ455OcqqEi0ostP8nMs0S4oXs4dkEFzPCGliqg8,947
61
+ cloudsmith_cli/cli/tests/commands/test_main.py,sha256=HxSDfsbYU7Tmk_sGE2yuc_7hNrDQhR-f2TgA7Ez3O68,2260
62
62
  cloudsmith_cli/cli/tests/commands/test_package_commands.py,sha256=vpp8TN4cbATxPEPY5GSEvHzZxdp-BaxHmcxflz-Bp6o,5943
63
- cloudsmith_cli/cli/tests/commands/test_repos.py,sha256=z0SsWzeBJ8K-y0fYjXvP9vnE-hfBFllql-5RiAYy7Ks,6738
63
+ cloudsmith_cli/cli/tests/commands/test_repos.py,sha256=xA8tiZon1i6JnNOsPZO96K0wpFuTStOR4sMegGEKG_s,6738
64
64
  cloudsmith_cli/cli/tests/commands/test_tokens.py,sha256=BnTBS5ChIvgb9-HSkxOdzVIo81C6QA8xhJ7vGposow8,4931
65
65
  cloudsmith_cli/cli/tests/commands/test_upstream.py,sha256=AxlcRSf_ZAGBXbAu8t9LHoftTwFstSzyKN5rAEo0VoA,5435
66
66
  cloudsmith_cli/cli/tests/commands/policy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -72,7 +72,7 @@ cloudsmith_cli/core/config.py,sha256=eFA92QQBhccF0SdRtBwG7nrFuU2AK_yWzA9e0TUcNfE
72
72
  cloudsmith_cli/core/download.py,sha256=WFlTpyAR_L6Z5GXBaiA3QZ4ABLO2GS42rduSBn2JcUg,15153
73
73
  cloudsmith_cli/core/keyring.py,sha256=v57SoE-5TaHsaMw7oCwM7ZuOVGPK1vAA2YsmWK35UAM,2310
74
74
  cloudsmith_cli/core/pagination.py,sha256=acJgAumVoe-ef-Ie5m55z0VOn_xZagcHwSYsDLLbhtw,4553
75
- cloudsmith_cli/core/ratelimits.py,sha256=nJkLQNT5CBIk_Jy3mWH5trIaQyj8x6SEo95BwKUxNuw,2534
75
+ cloudsmith_cli/core/ratelimits.py,sha256=5FfMO9tRFDmsPXtotJ-qftNK1qCwUXZs0j5T354TadQ,2535
76
76
  cloudsmith_cli/core/rest.py,sha256=T9SjVwly2I0IzTwBTUtj5c-Yc6I2nnsmUQpuztsuVnw,8061
77
77
  cloudsmith_cli/core/utils.py,sha256=L3fUMKX-8XtNlXK51EOLfF4wGq45uoQMY74ZGedNu4A,2213
78
78
  cloudsmith_cli/core/version.py,sha256=DB62XmdfzQ23EpsdcTMqSA4fCBVV2r7eRhloMqxr4KM,488
@@ -94,19 +94,19 @@ cloudsmith_cli/core/api/user.py,sha256=wZCHInqTx0TQv2_uteMFHSByn3QP5gWU-4DXtFgI7
94
94
  cloudsmith_cli/core/api/version.py,sha256=zgmmTSfD3TDX_QHhuU4GyqaZvrSzpqhwTbuBfrlUYj8,342
95
95
  cloudsmith_cli/core/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
96
  cloudsmith_cli/core/tests/test_download.py,sha256=hGVVMf6IO4UCWwkTPc2JROedQXhzphs5OD0lDhM7SXo,15784
97
- cloudsmith_cli/core/tests/test_init.py,sha256=CDdCI-ko09I3ltBeFNACGrfNFDNT8zhXUE9J9jYbBbg,7183
97
+ cloudsmith_cli/core/tests/test_init.py,sha256=UMYCD22-lezdMZpq30bXbvJilhzhq9EdagH8OQPkwS4,7184
98
98
  cloudsmith_cli/core/tests/test_keyring.py,sha256=cLmZjhj21gm2fdi-l95yOxQPWuq_XVVNeY3s9QSNvYc,7076
99
99
  cloudsmith_cli/core/tests/test_rest.py,sha256=SXOZfz_YLrxtuE8I07MUWVUYxyz79VHfpYzc18QQM4s,2563
100
100
  cloudsmith_cli/core/tests/test_version.py,sha256=k9QAjOKJ7Q5mfGSahRvtpPN0XDaGOhbbpHngqAIuM34,552
101
- cloudsmith_cli/data/VERSION,sha256=T5QW1lC9KDQyRLho3-vbEecNezJCNTbLh7jDH95i-ZM,7
101
+ cloudsmith_cli/data/VERSION,sha256=yS32vd4zC-IZ1i9I7GSQsBiJQ28vWQJ6qyAOdN5hkWg,7
102
102
  cloudsmith_cli/data/config.ini,sha256=nD39yE9-GyKSxJ5Us5V_bRjAsdhDbD5HnwRNDKeMfR4,737
103
103
  cloudsmith_cli/data/credentials.ini,sha256=UTgXGXigPdlWUQxhQnalSJ18cLswQv6l26y7ZlYstCU,500
104
104
  cloudsmith_cli/templates/__init__.py,sha256=00xHj3iW0vXmI5rzjbryJllE1VHhg6Dxf7uqo9dIyvo,53
105
105
  cloudsmith_cli/templates/auth_error.html,sha256=qBdZ0TE88IFaVk0NIpSPZudDDf0PxAJnnqAyPz5KODo,1290
106
106
  cloudsmith_cli/templates/auth_success.html,sha256=UA629tjTJmIQ_y9eJ-a5Wfp0ilo8cgSsUqjHiCzEhq0,1056
107
- cloudsmith_cli-1.11.1.dist-info/licenses/LICENSE,sha256=eEz1wEWbBZFlc_n_P_55i4CCYgWgHYVJpQjnc6qbXOQ,11344
108
- cloudsmith_cli-1.11.1.dist-info/METADATA,sha256=iYTAPfy1wu3vKqC6lCj_EkP3xTB3MJ8eTe7US7qQAak,15810
109
- cloudsmith_cli-1.11.1.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
110
- cloudsmith_cli-1.11.1.dist-info/entry_points.txt,sha256=lQfpZ8eDB4ye9iK_TRpGnABwkcUgKIS-sGlCjbI1j9s,69
111
- cloudsmith_cli-1.11.1.dist-info/top_level.txt,sha256=9P2AQ4lqblgMVHk2VHuvZKH92H0o19w-qhr_x-5ifIQ,15
112
- cloudsmith_cli-1.11.1.dist-info/RECORD,,
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,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (79.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any