diff --git a/cloudsmith_cli/__init__.py b/cloudsmith_cli/__init__.py index f3664433..101b150c 100644 --- a/cloudsmith_cli/__init__.py +++ b/cloudsmith_cli/__init__.py @@ -3,8 +3,6 @@ import warnings import click -import urllib3 click.disable_unicode_literals_warning = True -urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) warnings.filterwarnings("ignore", category=ResourceWarning) diff --git a/cloudsmith_cli/cli/tests/test_startup_imports.py b/cloudsmith_cli/cli/tests/test_startup_imports.py index 3eb1dcaf..5068d76f 100644 --- a/cloudsmith_cli/cli/tests/test_startup_imports.py +++ b/cloudsmith_cli/cli/tests/test_startup_imports.py @@ -9,7 +9,15 @@ import subprocess import sys -HEAVY_PREFIXES = ("mcp", "httpx", "cloudsmith_api", "requests") +HEAVY_PREFIXES = ( + "mcp", + "httpx", + "cloudsmith_api", + "requests", + "rich", + "urllib3", + "semver", +) def modules_loaded_by_import(module_name="cloudsmith_cli.cli.commands.main"): diff --git a/cloudsmith_cli/cli/utils.py b/cloudsmith_cli/cli/utils.py index be17fef6..7fc749f6 100644 --- a/cloudsmith_cli/cli/utils.py +++ b/cloudsmith_cli/cli/utils.py @@ -7,8 +7,6 @@ import click from click_spinner import spinner -from rich.console import Console -from rich.table import Table from ..core.api.version import get_version as get_api_version from ..core.version import get_version as get_cli_version @@ -74,6 +72,9 @@ def pretty_print_row(styled, plain): def rich_print_table(headers, rows, title=None, show_lines=False): """Rich table from headers and rows.""" + from rich.console import Console + from rich.table import Table + console = Console() table = Table(title=title, show_lines=show_lines) diff --git a/cloudsmith_cli/core/api/version.py b/cloudsmith_cli/core/api/version.py index 53392ae6..d6ff3ead 100644 --- a/cloudsmith_cli/core/api/version.py +++ b/cloudsmith_cli/core/api/version.py @@ -2,8 +2,6 @@ import importlib.metadata -import semver - def get_version(): """Get the raw/unparsed version of the API as a string.""" @@ -12,4 +10,6 @@ def get_version(): def get_version_info(): """Get the API version as VersionInfo object.""" + import semver + return semver.parse_version_info(get_version()) diff --git a/cloudsmith_cli/core/session.py b/cloudsmith_cli/core/session.py index 750a032f..10a55df3 100644 --- a/cloudsmith_cli/core/session.py +++ b/cloudsmith_cli/core/session.py @@ -4,9 +4,12 @@ import time import requests +import urllib3 from requests.adapters import HTTPAdapter from urllib3.util.retry import Retry +urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) + class RetryWithCallback(Retry): """A urllib3 Retry with a callback on retries.""" diff --git a/cloudsmith_cli/core/version.py b/cloudsmith_cli/core/version.py index ef2fe251..31d9377c 100644 --- a/cloudsmith_cli/core/version.py +++ b/cloudsmith_cli/core/version.py @@ -1,7 +1,5 @@ """Core version utilities.""" -import semver - from . import utils @@ -17,4 +15,6 @@ def get_version_info(): def parse_version(version): """Get a version string as a VersionInfo object.""" + import semver + return semver.parse_version_info(version)