From 3b5c1a2b5d0b5c7434005cfc60640165ecf83752 Mon Sep 17 00:00:00 2001 From: Coding-Dev-Tools Date: Sat, 16 May 2026 20:29:07 -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/json2sql/cli.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b2df68f..7603a1d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,7 +14,6 @@ authors = [{name = "Revenue Holdings"}] dependencies = [ "typer>=0.9.0", "rich>=13.0.0", - "revenueholdings-license>=0.1.0", ] [project.urls] @@ -25,6 +24,7 @@ Documentation = "https://github.com/Coding-Dev-Tools/json2sql#readme" [project.optional-dependencies] dev = ["pytest>=7.0", "pytest-cov"] +license = ["revenueholdings-license>=0.1.0"] [project.scripts] json2sql = "json2sql.cli:app" diff --git a/src/json2sql/cli.py b/src/json2sql/cli.py index 7270a56..ec5e8b9 100644 --- a/src/json2sql/cli.py +++ b/src/json2sql/cli.py @@ -6,7 +6,13 @@ import typer -from revenueholdings_license import require_license +try: + from revenueholdings_license import require_license +except ImportError: + import warnings + warnings.warn("revenueholdings-license not installed; license checks skipped", stacklevel=2) + def require_license(product: str) -> None: # type: ignore[misc] + pass from .converter import JSONToSQLConverter from .dialects import Dialect