From 2cf67a6e6c576a49b92e77f66a8e14765ffffbba Mon Sep 17 00:00:00 2001 From: Coding-Dev-Tools Date: Sat, 16 May 2026 20:29:15 -0400 Subject: [PATCH] fix: move revenueholdings-license to optional [license] extra with graceful import fallback - Remove revenueholdings-license>=0.1.0 from required dependencies - Add license optional-dependencies group with revenueholdings-license - Make require_license() import conditional: try/except ImportError - On ImportError, define no-op require_license() and print warning - Fixes CI breakage caused by revenueholdings-license not on PyPI (COM-79, COM-82, COM-83) --- pyproject.toml | 2 +- src/deploydiff/cli.py | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index a948ab7..16cb9e8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,6 @@ dependencies = [ "click>=8.1", "rich>=13.0", "pyyaml>=6.0", - "revenueholdings-license>=0.1.0", ] [project.optional-dependencies] @@ -23,6 +22,7 @@ dev = [ "pytest>=7.0", "pytest-cov>=4.0", ] +license = ["revenueholdings-license>=0.1.0"] [project.scripts] deploydiff = "deploydiff.cli:main" diff --git a/src/deploydiff/cli.py b/src/deploydiff/cli.py index 0f24701..b64e8a5 100644 --- a/src/deploydiff/cli.py +++ b/src/deploydiff/cli.py @@ -20,8 +20,12 @@ @click.version_option(package_name="deploydiff") def main(): """DeployDiff - Preview infrastructure changes with cost impact and rollback.""" - from revenueholdings_license import require_license - require_license("deploydiff") + try: + from revenueholdings_license import require_license + require_license("deploydiff") + except ImportError: + import warnings + warnings.warn("revenueholdings-license not installed; license checks skipped", stacklevel=2) pass