Skip to content

Commit 88401dd

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 f8afcdc commit 88401dd

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
@@ -17,7 +17,6 @@ dependencies = [
1717
"rich>=13.0",
1818
"pyyaml>=6.0",
1919
"sqlparse>=0.5.0",
20-
"revenueholdings-license>=0.1.0",
2120
]
2221

2322
[project.optional-dependencies]
@@ -26,6 +25,7 @@ dev = [
2625
"pytest-cov>=4.0",
2726
]
2827
mcp = ["mcp>=1.0"]
28+
license = ["revenueholdings-license>=0.1.0"]
2929

3030
[project.scripts]
3131
schemaforge = "schemaforge.cli:main"

src/schemaforge/cli.py

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

77
import click
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 .convert import convert_schema
1218
from .diff import diff_schemas

0 commit comments

Comments
 (0)