Skip to content

Commit 3b5c1a2

Browse files
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)
1 parent 8708cd4 commit 3b5c1a2

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ authors = [{name = "Revenue Holdings"}]
1414
dependencies = [
1515
"typer>=0.9.0",
1616
"rich>=13.0.0",
17-
"revenueholdings-license>=0.1.0",
1817
]
1918

2019
[project.urls]
@@ -25,6 +24,7 @@ Documentation = "https://github.com/Coding-Dev-Tools/json2sql#readme"
2524

2625
[project.optional-dependencies]
2726
dev = ["pytest>=7.0", "pytest-cov"]
27+
license = ["revenueholdings-license>=0.1.0"]
2828

2929
[project.scripts]
3030
json2sql = "json2sql.cli:app"

src/json2sql/cli.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,13 @@
66

77
import typer
88

9-
from revenueholdings_license import require_license
9+
try:
10+
from revenueholdings_license import require_license
11+
except ImportError:
12+
import warnings
13+
warnings.warn("revenueholdings-license not installed; license checks skipped", stacklevel=2)
14+
def require_license(product: str) -> None: # type: ignore[misc]
15+
pass
1016

1117
from .converter import JSONToSQLConverter
1218
from .dialects import Dialect

0 commit comments

Comments
 (0)